协方差的一个性质是,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
我在这里做错了吗?我怎样才能获得正确的结果?
协方差的一个性质是,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
我在这里做错了吗?我怎样才能获得正确的结果?
您必须使用 z=cov(x,bias=1) 才能通过 N 进行归一化,因为 var 也是 N 的规范(根据this
cov
(None) 和(0)的默认 ddofvar
不同。尝试指定 ddof (或偏差):
>>> cov(x, x, ddof=0)
array([[ 8.25, 8.25],
[ 8.25, 8.25]])
>>> var(x)
8.25