代码之家  ›  专栏  ›  技术社区  ›  Justin L.

具有可变均值和标准差的计算简单伪高斯分布?

  •  2
  • Justin L.  · 技术社区  · 16 年前

    这张来自维基百科的图片是一个很好的例子,说明了我理想情况下想要生成的函数:

    pseudo-Gaussian distributions

    现在我用的是欧文霍尔分布,这或多或少是高斯分布的多项式近似值…基本上,你用均匀随机数发生器,迭代x次,取平均值。迭代次数越多,越像高斯分布。

    很不错;不过,我希望能有一个我可以改变的平均数。例如,假设我想要一个介于0和10之间的数字,但是 围绕 7.比如,平均值(如果我多次重复这个函数)会变成7,但实际范围是0-10。

    有没有一个我应该查一下,或者我应该用标准的高斯分布做一些花哨的数学?

    3 回复  |  直到 10 年前
        1
  •  1
  •   nkrkv    16 年前

    我认为你的问题有矛盾之处。从一方面来说,你需要正态分布,这是 对称的 从本质上说,从另一个角度来说,你希望范围不对称地被分配到平均值。

    我想你应该试着看看其他分布密度函数,它们像钟形曲线,但不对称。就像 log distribution beta distribution .

        2
  •  0
  •   Grembo    16 年前
        3
  •  0
  •   Andrew Mao    13 年前

    听起来像是 Truncated Normal 分发正是医生要求的。这不是“计算简单”本身,但很容易实现,如果你有一个正态分布的现有实现。

    我有Java代码(基于Commons数学框架)用于 accurate (slower) 和 quick (less accurate) 使用PDF、CDF和采样实现此分发。