Python3 np.cov给出奇怪的结果

问题描述 投票:1回答:1
import numpy as np    

X = np.arange(6).reshape(2,3)
np.cov(X)

#Results in:
array([[1., 1.],
       [1., 1.]])

虽然它应该输出。

array([[0.66666667, 0.66666667],
       [0.66666667, 0.66666667]])
python-3.x numpy covariance
1个回答
1
投票

正如评论中提到的,默认的 cov 归一化为 N-1 这是一个无偏的估计。为了得到简单的平均数,你可以用以下两种方法来解决。

np.cov(X,bias=True)

或者

np.cov(X,ddof=0)

输出。

[[0.66666667 0.66666667]
 [0.66666667 0.66666667]]
© www.soinside.com 2019 - 2024. All rights reserved.