3

我正在研究基于假设的ICA实现,即所有源信号都是独立的。所以我检查了依赖与相关的基本概念,并试图在样本数据上展示这个例子

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. 在我对均值和期望值概念的误解中?
4

2 回答 2

4

样本均值本身是一个随机变量。虽然这里的期望值为零,但特定的实现将围绕该期望值波动

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

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

我得到的数字都在零附近波动。

编辑:

如果您绘制它的密度,则平均值本身看起来是高斯的: 在此处输入图像描述

请注意,我已从a = a-mean(a)您的代码中删除,因为它是错误的。有了它,由于期望的线性,mnmean(a - mean(a))数学上为零:

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

它出现略微非零的唯一原因是由于舍入误差。

于 2012-12-10T17:19:59.640 回答
1

可能只是舍入误差?

您是否尝试过计算协方差并对其进行平均?

于 2012-12-10T17:01:42.093 回答