为什么numpys协方差与我的完全不同?

时间:2017-03-29 20:44:56

标签: python numpy covariance

我用以下公式计算我的协方差:

np.dot(X_zero_mean, X_zero_mean.T) / (X_zero_mean.shape[0] -1)

并将其与

进行比较
np.cov(X_zero_mean.T)

我都将生成的矩阵打印到控制台并从中创建一个数字,但它们不一样。为什么?可能是因为cov避免了一些数字错误,这是我的上述公式发生的吗? 第一个是我的协方差,第二个是numpy cov: enter image description here

1 个答案:

答案 0 :(得分:1)

如果没有你的确切矩阵,很难说清楚,但我猜它是因为你在将矩阵转置到np.cov之前进行了转置。这也可以解释为什么numpy的结果看起来比它的维度要高得多。 np.cov(X.T)相当于np.dot(X.T, X),而不是np.dot(X, X.T)