20

协方差的一个性质是,cov(x, x) = var(x)

但是,在 numpy 中我没有得到相同的结果。

from numpy import var, cov

x = range(10)
y = var(x)
z = cov(x, x)[0][1]
print y, z

我在这里做错了吗?我怎样才能获得正确的结果?

4

2 回答 2

24

您必须使用 z=cov(x,bias=1) 才能通过 N 进行归一化,因为 var 也是 N 的规范(根据this

于 2011-12-14T15:02:30.680 回答
12

cov(None) 和(0)的默认 ddofvar不同。尝试指定 ddof (或偏差):

>>> cov(x, x, ddof=0)
array([[ 8.25,  8.25],
       [ 8.25,  8.25]])
>>> var(x)
8.25
于 2011-12-14T15:02:35.623 回答