协方差的一个性质是,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
我在这里做错了吗?如何获得正确的结果?
答案 0 :(得分:22)
你必须使用z = cov(x,bias = 1)才能用N进行归一化,因为var也是n的范数 (根据this
答案 1 :(得分:11)
cov
(无)和var
(0)的默认ddof不同。尝试指定ddof(或偏见):
>>> cov(x, x, ddof=0)
array([[ 8.25, 8.25],
[ 8.25, 8.25]])
>>> var(x)
8.25