代码之家  ›  专栏  ›  技术社区  ›  raoul_dev

添加随机数会生成哪些类型的分布?

  •  2
  • raoul_dev  · 技术社区  · 11 年前

    如果 Random.rand 生成一个在0和1之间均匀分布的数字,通过添加“Random.rand”调用并除以调用数,可以得到什么样的分布?

    换言之,您从以下内容中得到了什么样的分布?

    (Random.rand + Random.rand)/2

    (Random.rand + Random.rand + Random.rand)/3

    3 回复  |  直到 11 年前
        1
  •  2
  •   Brian Burns Yugansh    7 年前

    两个均匀(0,1)随机变量的平均值的概率密度函数(pdf)是线性的,先上升到0.5,然后下降。3个均匀(0,1)随机变量平均值的pdf被分成3块,每一块都是二次函数。依此类推,每次连续添加一个均匀(0,1)随机变量,都会增加多项式的次数和件数。

    k个均匀(0,1)随机变量平均值的分布称为 Bates distribution .

        2
  •  1
  •   pjs    11 年前

    如果随机变量(RV)具有有限方差分布(均匀合格),则随着和中项的数量增加,这些随机变量的和在分布上收敛到正态/高斯分布。这就是所谓的中心极限定理。收敛速度取决于基础RVs是连续的还是离散的、对称的还是偏斜的、独立的还是相关的。来自对称连续分布(如均匀分布)的独立观测具有快速收敛速度。

    两个独立制服的和或平均值具有对称的三角形分布。我不知道除了“卷积 k 制服”,但更大 k 它的中间越弯曲,向两端逐渐变细,看起来越正常。等你起床 k =12,你需要一个相当大的样本量来拒绝总和或平均值是正常的假设。

    如果是平均值 k 独立均匀(0,1),平均值的期望值为0.5,方差为1/12k。

        3
  •  0
  •   SteveTurczyn    11 年前

    很明显,它收敛于0.5。。。

    EXPECTED_VALUE = 0.5
    DELTA = 0.0001
    
    arr = []
    10_000_000.times{arr << rand}
    (EXPECTED_VALUE - (arr.inject(&:+) / arr.count)).abs < DELTA
    => true