Correlación
Coeficiente de correlación
Aunque la covarianza nos da el signo de la relación entre dos variables, al depender de las unidades de \(X\) y de \(Y\), no sabemos si un valor es alto o bajo; sólo sabemos el signo. Para solucionar esto, estandarizamos los valores.
Dada una muestra \((x_1, y_1), (x_2, y_2), ..., (x_n, y_n)\), calculamos la correlación entre \(X\) e \(Y\), y la denotamos por \(r_{XY}\) al cociente de la covarianza dividida entre el producto de las desviaciones típicas.
\[ r_{XY} = \frac{S_{XY}}{S_X S_Y} \]
Pregunta
Este estadístico, también conocido como Coeficiente de correlación de Pearson se encuentra entre -1 y 1.
Sin relación lineal o con relación lineal débil
- \(r_{XY}\) es igual o cercano a cero
Relación lineal directa y fuerte
- \(r_{XY}\) es igual o cercano a 1
Relación lineal inversa y fuerte
- \(r_{XY}\) es igual o cercano a -1
Existen escalas para interpretar la correlación como débil, moderada o fuerte. Sin embargo, estas escalas son subjetivas. La definición de una correlación débil o fuerte depende de cada caso. El mismo valor podría interpretarse como débil o fuerte según la situación.
Cuando una variable es una transformación lineal de otra, la correlación es perfecta. Por ejemplo, si tienes dos variables, una que mide distancia recorrida en cierto tiempo y otra que mide velocidad (asumiendo que la velocidad es constante en ese mismo tiempo), el coeficiente de correlación será 1.
Cálculo de la correlación en python
Vamos a descargar iris
desde un repositorio público de github. Ya los nombres vienen en un formato legible y que cumple con las características del PEP8
import pandas as pd
iris = pd.read_csv("https://raw.githubusercontent.com/toneloy/data/master/iris.csv")
iris.head()
## sepal_length sepal_width petal_length petal_width species
## 0 5.1 3.5 1.4 0.2 setosa
## 1 4.9 3.0 1.4 0.2 setosa
## 2 4.7 3.2 1.3 0.2 setosa
## 3 4.6 3.1 1.5 0.2 setosa
## 4 5.0 3.6 1.4 0.2 setosa
En python utilizamos el método .corr()
para calcular la matriz de correlación.
corr_mat = iris.corr()
corr_mat
## sepal_length sepal_width petal_length petal_width
## sepal_length 1.000000 -0.117570 0.871754 0.817941
## sepal_width -0.117570 1.000000 -0.428440 -0.366126
## petal_length 0.871754 -0.428440 1.000000 0.962865
## petal_width 0.817941 -0.366126 0.962865 1.000000
corr_mat.loc["petal_length", "petal_width"]
## 0.9628654314027955
Pregunta
petal_length
y sepal_width
?
- Relación directa y fuerte
- Relación directa y debil
- Relación inversa y fuerte
- Relación inversa y moderada
Propiedades de la correlación
Dada una muestra \((x_1, y_1), (x_2, y_2), ..., (x_n, y_n)\), se cumplen las siguientes propiedades relacionadas con la correlación \(r_{XY}\):
- Si se transforman linealmente las variables \(X\), \(Y\) mediante \(X' = a + bX\) y \(Y' = c + dY\), la correlación entre \(X'\) e \(Y'\), \(r_{X'Y'}\) será la correlación original multiplicada por el signo de \(bd\), siempre que \(b \ne 0\) y \(d \ne 0\).
\[ r_{X'Y'} = \frac{bd}{|bd|}r_{XY} \]
iris["petal_length_transform"] = 5 + 2*iris["petal_length"]
iris["petal_width_transform"] = 3 - 4*iris["petal_width"]
corr_mat = iris.corr()
corr_mat.loc["petal_length", "petal_width"]
## 0.9628654314027955
corr_mat.loc["petal_length_transform", "petal_width_transform"]
## -0.962865431402796
- La correlación de una variable consigo misma es 1
corr_mat.loc["petal_length", "petal_length"]
## 1.0
- La correlación entre \(X\) e \(Y\) es igual a la correlación entre \(Y\) y \(X\)
corr_mat.loc["petal_length", "petal_width"]
## 0.9628654314027955
corr_mat.loc["petal_width", "petal_length"]
## 0.9628654314027955
Pregunta
Cómo se ve la correlación
Además de identificar en cuáles cuadrantes está la mayoría de los puntos de un diagrama de dispersión, el coeficiente de correlación mide qué tan cerca están los puntos de una línea recta que refleja la tendencia de los datos. Mientras más cercanos estén a esa línea, mayor será el valor absoluto de \(r_{XY}\).
Te dejo un link para que juegues a adivinar la correlación de un diagrama de dispersión en Guess the correlation.
Relaciones no lineales
Es importante resaltar que la covarianza y el coeficiente de correlación no detectan relaciones no lineales entre las variables. Por ejemplo, si la relación entre \(X\) e \(Y\) es cuadrática (o polinímica de mayor órden), logarítmica, exponencial, etc., podríamos tener un coeficiente de correlación cercano a 0, pero esto no significaría que no hay relación entre \(X\) e \(Y\); sólo significa que no hay relación lineal entre estas variables.
¡Pero no te preocupes! Hay métodos estadísticos para analizar este tipo de relaciones, sólo que son más avanzados y los cubriremos más adelante.