样本集和动力样本的平均值

2024-06-28 19:18:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在研究一个ICA实现,它基于一个假设,即所有源信号都是独立的。因此,我检查了Dependence vs. Correlation的基本概念,并尝试在示例数据上显示this示例

from numpy import *
from numpy.random import *
k =  1000
s = 10000
mn = 0
mnPow = 0
for i in arange(1,k):
    a = randn(s)
    a = a-mean(a)
    mn = mn + mean(a)
    mnPow = mnPow + mean(a**3)
print "Mean X: ", mn/k
print "Mean X^3: ", mnPow/k

但我无法得出这个例子的最后一步E(X^3)=0:

>> Mean X:  -1.11174580826e-18
>> Mean X^3:  -0.00125229267144

我认为第一个值是零,但第二个值太大了,不是吗?因为我减去a的平均值,所以我期望a^3的平均值也为零。问题出在哪里

  1. 随机数发生器
  2. 数值的精度
  3. 在我对均值和期望值概念的误解中?你知道吗

Tags: fromimportnumpy示例信号mean平均值vs
2条回答

可能只是舍入误差?你知道吗

你试过计算协方差并求平均值吗?你知道吗

样本均值本身就是一个随机变量。虽然这里的期望值是零,但具体实现是will fluctuate around that expected value。你知道吗

当我多次运行以下命令时:

from numpy import *
from numpy.random import *
k =  1000
s = 10000
mn = 0
mnPow = 0
for i in arange(k):
    a = randn(s)
    mn += mean(a)
    mnPow += mean(a**3)
print "Mean X: ", mn/k
print "Mean X^3: ", mnPow/k

这两种方法的数值都在0左右波动。你知道吗

编辑:

如果你画出这个的密度,平均值看起来就像高斯分布: enter image description here

请注意,我已经从您的代码中删除了a = a-mean(a),因为它是错误的。有了它,mn累积了mean(a - mean(a)),由于linearity of expectation,它在数学上为零:

E[x - E[x]] = E[x] - E[E[x]] = E[x] - E[x] = 0

唯一的原因是由于舍入误差。你知道吗

相关问题 更多 >