distribution - 分布在正态分布的*部分*上的算法

标签 distribution gaussian normal-distribution

是否有一种单程算法可以产生分布在正态(高斯)分布的部分上的数字?

我想指定一个基值(分布的中心)、一个标准偏差以及最小值和最大值。

例如,我可能希望所有值都分布在 -0.5 和 +1 标准偏差之间,其比率与正态分布中的比率相同(显然增加以考虑到缺失的尾部)。

显然,可以使用循环并仅在生成的数字介于最小值和最大值之间时退出,但如果最小值/最大值靠得太近或沿尾部离得太远,则循环可能会持续很长时间。

我假设一种语言具有高斯随机数函数(我使用的是 Java,但几乎可以阅读任何东西)。

最佳答案

您可以计算 erf对于最小和最大兴趣点处的给定高斯分布,在这两个值之间(均匀地)生成随机数,并取反 erf

我知道 Apache 库在 Java 中有一个 erf 函数,参见 here ,但我不确定将您指向何处以获得 erf 的倒数(当然,最坏的情况,您可以使用 Newton-Raphson 计算后者)。

(我找到了一个反 erf here 的算法,使用 Java 实现,但不能保证其质量)。

关于distribution - 分布在正态分布的*部分*上的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1965253/

相关文章:

r - 二元正态分布的离散近似

matlab - 提取分布值 Matlab

matlab - matlab 中具有高斯分布和均匀分布的随机数

r - 估计模拟数据上两个 x 值之间范围内的概率密度

c++ - 如何使用 boost 正态分布类?

algorithm - 应该采取多少样本来捕获具有给定误差的原始集合的均值和方差?

python - 对两个字典执行两个样本 Kolmogorov-Smirnov 检验

python - SK学习: Gaussian Process Regression not changed during learning

c++ - 如何获取 OpenCV getGaussianKernel 返回的 Mat 的实际核值?

python - 正态分布;铁蟒