共分散の特性は、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
私はここで何か間違ったことをしていますか?どうすれば正しい結果を得ることができますか?
共分散の特性は、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
私はここで何か間違ったことをしていますか?どうすれば正しい結果を得ることができますか?
var も N によるノルムであるため、 N で正規化するには z=cov(x,bias=1) を使用する必要があります (これによると
cov
(None) とvar
(0)のデフォルトの ddofは異なります。ddof (またはバイアス) を指定してみてください。
>>> cov(x, x, ddof=0)
array([[ 8.25, 8.25],
[ 8.25, 8.25]])
>>> var(x)
8.25