Covarianza y correlación
Conceptos de Covarianza y Correlación
Tanto la covarianza como la correlación son medidas estadísticas que describen cómo dos variables están relacionadas entre sí. A continuación, exploraremos sus definiciones, propiedades, diferencias, ejemplos y cómo calcular ambas en Python.
1. Covarianza
La covarianza mide la relación lineal entre dos variables. Específicamente, indica si las dos variables aumentan o disminuyen juntas (relación directa) o si una aumenta cuando la otra disminuye (relación inversa).
Fórmula de la Covarianza:
Para un conjunto de datos con ( n ) puntos, la covarianza entre dos variables ( X ) e ( Y ) se calcula con:
Donde:
- ( X_i ) e ( Y_i ) son los valores individuales de las variables.
- ( \barra{X} ) y ( \barra{Y} ) son las medias de las variables ( X ) e ( Y ).
Propiedades de la Covarianza:
- Signo de la covarianza:
- Positiva: Cuando ambas variables tienden a aumentar juntas.
- Negativa: Cuando una variable tiende a aumentar mientras que la otra disminuye.
- Cero: No hay una relación lineal entre las dos variables.
- Sensibilidad a las unidades: La covarianza depende de las unidades de las variables, lo que dificulta la comparación entre diferentes conjuntos de datos.
Ejemplo:
Si medimos la temperatura y la cantidad de helado vendido, es probable que estas dos variables tengan una covarianza positiva, ya que cuando la temperatura sube, más personas tienden a comprar helado.
2. Correlación
La correlación es una medida estadística que expresa la fuerza y la dirección de una relación lineal entre dos variables. A diferencia de la covarianza, la correlación está normalizada y siempre tiene valores entre (-1) y (1).
Fórmula del Coeficiente de Correlación de Pearson:
Donde:
- ( \text{Cov}(X, Y) ) es la covarianza de ( X ) e ( Y ).
- ( \sigma_X ) y ( \sigma_Y ) son las desviaciones estándar de ( X ) e ( Y ).
Interpretación:
- ( r = 1 ): Relación perfectamente positiva.
- ( r = -1 ): Relación perfectamente negativa.
- ( r = 0 ): No hay relación lineal.
Propiedades de la Correlación:
- Valores entre -1 y 1: Es una medida normalizada, lo que permite comparar relaciones entre variables de diferentes unidades.
- Dirección: El signo de ( r ) indica la dirección de la relación (positiva o negativa).
- Magnitud: Cuanto más cercano esté ( r ) a ( 1 ) o a ( -1 ), más fuerte es la relación.
Ejemplo:
Si medimos la cantidad de horas de estudio y las calificaciones en un examen, podríamos encontrar una correlación positiva, ya que más horas de estudio tienden a estar asociadas con mejores calificaciones.
3. Diferencias entre Covarianza y Correlación
- Escala: La covarianza no está normalizada y depende de las unidades de las variables, mientras que la correlación está normalizada entre -1 y 1.
- Interpretación: La correlación es más fácil de interpretar porque siempre tiene el mismo rango de valores. La covarianza solo indica la dirección de la relación, pero no la fuerza de la misma.
- Unidades: La covarianza varía con las unidades de las variables, mientras que la correlación es independiente de las unidades.
4. Ejemplos en Python
A continuación te muestro cómo calcular la covarianza y la correlación en Python utilizando numpy
y pandas
.
Ejemplo con Covarianza
import numpy as np
# Definir dos series de datos (por ejemplo, temperatura y ventas de helado)
X = np.array([30, 35, 40, 45, 50, 55, 60])
Y = np.array([200, 220, 250, 280, 310, 330, 360])
# Calcular la covarianza
covarianza = np.cov(X, Y)[0, 1]
print(f"Covarianza entre X e Y: {covarianza}")
Ejemplo con Correlación
# Calcular la correlación
correlacion = np.corrcoef(X, Y)[0, 1]
print(f"Correlación entre X e Y: {correlacion}")
Resultado Esperado:
- Covarianza: La salida te dirá si la relación entre las variables es positiva o negativa, pero no te proporcionará una medida estandarizada de la fuerza de la relación.
- Correlación: Proporcionará un valor entre -1 y 1 que indica la fuerza y la dirección de la relación entre las variables.
Ejemplo Usando pandas
Si trabajas con pandas
, puedes calcular estas medidas fácilmente para series de datos más grandes o en formato de DataFrame.
import pandas as pd
# Crear un DataFrame
data = {
"Temperatura": [30, 35, 40, 45, 50, 55, 60],
"Ventas_Helado": [200, 220, 250, 280, 310, 330, 360]
}
df = pd.DataFrame(data)
# Calcular la covarianza
covarianza_pandas = df.cov().iloc[0, 1]
print(f"Covarianza con pandas: {covarianza_pandas}")
# Calcular la correlación
correlacion_pandas = df.corr().iloc[0, 1]
print(f"Correlación con pandas: {correlacion_pandas}")
5. Conclusión
- Covarianza: Mide si dos variables aumentan o disminuyen juntas, pero no da información clara sobre la fuerza de la relación.
- Correlación: Normaliza la covarianza, permitiendo comparar relaciones entre variables con distintas unidades y proporcionando información clara sobre la fuerza y la dirección de la relación.
La correlación es generalmente preferible cuando necesitas comparar la fuerza de las relaciones entre diferentes conjuntos de datos. Sin embargo, la covarianza también es útil en ciertos contextos, especialmente cuando no se necesita normalización.