1

平均值为 0 的正态分布变量之和的平均值为零。这样可行。e 与平均值为 0 的正态分布变量的幂的乘积应该是 1。但是当我在 Python 中执行此操作时,我得到的乘积高于 1。对此有何解释?

sumProduct = 0.0
iterations = 100000

for j in range(iterations):

    product = 1.0
    for i in range(10):
        normalVar = numpy.random.normal(0.0, 0.1)
        product *= math.exp(normalVar)

    sumProduct += product

print sumProduct/iterations # Outputs 1.05

它不应该输出1.0吗?乘积变量的期望值应为 1.0,所有乘积变量的平均值应为 1.0。那么为什么它输出 1.05 呢?(改变迭代次数和标准差会改变输出,但它总是大于一)。谢谢您的帮助!

4

1 回答 1

4

对数正态变量的平均值是 exp(mu + 1/2 sigma^2),其中 mu 和 sigma 是相关正态分布的参数。在这种情况下,相关的正态分布是变量“product”的对数分布,其中 mu = 10 乘以 0.0 和 sigma^2 = 10 乘以 0.1^2 = 0.1。因此,对数正态变量的平均值为 exp(0.0 + 1/2 乘以 0.1) = exp(0.05),约为 1.05。

于 2013-02-07T04:48:49.583 回答