Var(x)和cov(x,x)在numpy中不会给出相同的结果

Ran*_*ies 19 python numpy covariance variance

协方差的一个性质是,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
Run Code Online (Sandbox Code Playgroud)

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

Geo*_*rge 23

你必须使用z = cov(x,bias = 1)来归一化N,因为var也是N的范数(根据这个


ken*_*ytm 12

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

>>> cov(x, x, ddof=0)
array([[ 8.25,  8.25],
       [ 8.25,  8.25]])
>>> var(x)
8.25
Run Code Online (Sandbox Code Playgroud)