Python3 np.cov дает странный результат - PullRequest
1 голос
/ 06 мая 2020
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]])

1 Ответ

1 голос
/ 06 мая 2020

Как упоминалось в комментариях, значение по умолчанию cov нормализовано на N-1, что является объективной оценкой. Чтобы получить простое среднее, вы можете использовать одно из следующих решений:

np.cov(X,bias=True)

или

np.cov(X,ddof=0)

вывод:

[[0.66666667 0.66666667]
 [0.66666667 0.66666667]]
...