【问题标题】:Var(x) and cov(x, x) don't give the same result in numpyVar(x) 和 cov(x, x) 在 numpy 中给出的结果不同
【发布时间】:2011-12-14 14:43:32
【问题描述】:

协方差的一个性质是,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

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

【问题讨论】:

    标签: python numpy covariance variance


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      >>> cov(x, x, ddof=0)
      array([[ 8.25,  8.25],
             [ 8.25,  8.25]])
      >>> var(x)
      8.25
      

      【讨论】:

        猜你喜欢
        • 2021-05-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-15
        • 1970-01-01
        相关资源
        最近更新 更多