Covarianza
Índice de contenido
La covarianza es una medida que indica en qué grado dos variables aleatorias varían de forma conjunta respecto a sus medias. Se puede calcular mediante la siguiente fórmula:

En esencia, nos permite conocer de qué manera evoluciona una variable en función de lo que hace otra variable, pudiendo tomar los siguiente valores:
Covarianza(X,Y)=0: no hay relación entre las variables X e Y.
Covarianza(X,Y)<0: cuando X aumenta, Y disminuye. Hay una relación negativa.
Covarianza(X,Y)>0: cuando X aumenta, Y aumenta. Hay una relación positiva.
La covarianza tiene las siguientes propiedades:
- Cov(X,b)=0, donde b es una constante.
- Cov(X,X)=Var(X)
- Cov(X,Y)=Cov(Y,X)
- Cov(b·X,c·Y)=c·b·Cov(X,Y)
- Cov(b+X,c+Y)=Cov(X,Y)
Es importante tener en cuenta que las covarianzas de distintas variables no son comparables, puesto que el valor de la covarianza es un valor absoluto que depende de la unidad de medida de las variables.
import numpy as np
X = np.array([0, 2, 5, 7, 9])
Y = np.array([2, 4, 6, 8, 12])
X_media = sum(X)/len(X)
X_media
4.6
Y_media = sum(Y)/len(Y)
Y_media
6.4
numerador = (0-X_media)+(2-Y_media) + (2-X_media)*(4-Y_media) + (5-X_media)*(6-Y_media) + (7-X_media)*(8-Y_media) + (9-X_media)*(12-Y_media)
numerador
25.560000000000002
n = len(X)
n
5
cov_xy = numerador / n
cov_xy
5.112
import matplotlib.pyplot as plt
plt.plot(X)
plt.plot(Y)
[<matplotlib.lines.Line2D at 0x821b430>]

plt.plot(X,Y)
[<matplotlib.lines.Line2D at 0x82802b0>]

cov_xy_insesgada = numerador / (n-1)
cov_xy_insesgada
6.390000000000001
np.cov(X, Y, rowvar=True)
array([[13.3, 13.7],
[13.7, 14.8]])
