我正在研究一个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
的平均值也为零。问题出在哪里
可能只是舍入误差?你知道吗
你试过计算协方差并求平均值吗?你知道吗
样本均值本身就是一个随机变量。虽然这里的期望值是零,但具体实现是will fluctuate around that expected value。你知道吗
当我多次运行以下命令时:
这两种方法的数值都在0左右波动。你知道吗
编辑:
如果你画出这个的密度,平均值看起来就像高斯分布:![enter image description here](https://i.stack.imgur.com/x3rCe.png)
请注意,我已经从您的代码中删除了
a = a-mean(a)
,因为它是错误的。有了它,mn
累积了mean(a - mean(a))
,由于linearity of expectation,它在数学上为零:唯一的原因是由于舍入误差。你知道吗
相关问题 更多 >
编程相关推荐