python - covarianza - Var(x) y cov(x, x) no dan el mismo resultado en números
np covariance (2)
Debe usar z = cov (x, sesgo = 1) para normalizar por N, porque var también es norma por N (de acuerdo con this
Una propiedad de la covarianza es que cov (x, x) = var (x)
Sin embargo, en números no obtengo el mismo resultado.
from numpy import var, cov
x = range(10)
y = var(x)
z = cov(x, x)[0][1]
print y, z
¿Estoy haciendo algo mal aquí? ¿Cómo puedo obtener el resultado correcto?
El ddof predeterminado de cov
(Ninguno) y var
(0) son diferentes. Intenta especificar el ddof (o sesgo):
>>> cov(x, x, ddof=0)
array([[ 8.25, 8.25],
[ 8.25, 8.25]])
>>> var(x)
8.25