0
我試圖實現numpy.cov()
函數,如下所示:numpy cov (covariance) function, what exactly does it compute?,但我得到了一些奇怪的結果。請糾正我:簡單實現NumPy cov(協方差)函數
import numpy as np
def my_covar(X):
X -= X.mean(axis=0)
N = X.shape[1]
return np.dot(X, X.T.conj())/float(N-1)
X = np.asarray([[1.0,1.0],[2.0,2.0],[3.0,3.0]])
## Run NumPy's implementation
print np.cov(X)
"""
NumPy's output:
[[ 0. 0. 0.]
[ 0. 0. 0.]
[ 0. 0. 0.]]
"""
## Run my implementation
print my_covar(X)
"""
My output:
[[ 2. 0. -2.]
[ 0. 0. 0.]
[ -2. 0. 2.]]
"""
怎麼回事?
你能指望什麼錯誤和結果? – Mark
對於那些忘記統計類的人,想知道這裏有什麼問題:正確的結果是'np.cov(x)',用戶結果不正確。 –
這個問題應該**重新打開**。它包含代碼,期望的結果和參考資料。只是一個恥辱,我不知道這個問題足以回答自己。 – JasonMArcher