La correlación mide cuánto van juntas dos variables
La correlación es un número entre -1 y 1 que mide cuánto van juntas dos variables: cuando una sube, la otra también sube, o baja. Se llama coeficiente de correlación y se escribe r.
Sirve para ver relaciones en tus datos, pero que dos cosas vayan juntas no significa que una cause la otra.
Al final de esta lección
Nota
Puedo medir la relación entre dos variables y explicar por qué no prueba una causa.
Palabras clave
| Palabra | Qué significa |
|---|---|
| Correlación | cuánto van juntas dos variables |
| Coeficiente r | el número de -1 a 1 que mide la correlación |
| Diagrama de dispersión | puntos con una variable en cada eje |
| Causa | algo que produce un cambio en otra cosa |
| Variable oculta | un tercer factor que mueve a las dos variables |
| Valor atípico | un punto muy lejos del resto |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Un diagrama de dispersión muestra la relación
Un diagrama de dispersión pone una variable en cada eje y un punto por caso. Si los puntos suben de izquierda a derecha, la relación es positiva. Si bajan, es negativa.
El coeficiente r resume la nube en un número. Vale 1 si todos los puntos están en una recta que sube. Vale -1 si la recta baja, y cerca de 0 si no hay relación en línea recta.
Mide la correlación de dos pares de columnas
docker exec jupyter python3 -c "import csv,statistics as s; d=list(csv.DictReader(open('hires.csv'))); h=[int(r['hires']) for r in d]; print(round(s.correlation([float(r['temp_c']) for r in d],h),2), round(s.correlation([float(r['rain_mm']) for r in d],h),2))"Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Ejemplo resuelto: cómo leer r
| Valor de r | Qué dice | Ejemplo del laboratorio |
|---|---|---|
| Cerca de 1 | Suben juntas, relación fuerte | Temperatura y alquileres: 0,77 |
| Cerca de 0 | Sin relación en línea recta | Dos columnas sin conexión |
| Cerca de -1 | Una sube y la otra baja | Lluvia y alquileres: -0,41, de fuerza media |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Cómo se calcula el coeficiente r
Para cada caso, resta a x su media y a y la suya, y multiplica las dos distancias. Suma todos esos productos. Divide entre la raíz del producto de las sumas de cuadrados de x y de y.
Si x e y se mueven juntas, los productos son casi todos positivos y r sube.
Ejemplo resuelto: horas de estudio y nota
| Horas x | Nota y | dx (media 3) | dy (media 4) | dx por dy | dx al cuadrado | dy al cuadrado |
|---|---|---|---|---|---|---|
| 1 | 2 | -2 | -2 | 4 | 4 | 4 |
| 2 | 4 | -1 | 0 | 0 | 1 | 0 |
| 3 | 5 | 0 | 1 | 0 | 0 | 1 |
| 4 | 4 | 1 | 0 | 0 | 1 | 0 |
| 5 | 5 | 2 | 1 | 2 | 4 | 1 |
| Suma | 6 | 10 | 6 |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Calcula r con un bucle
# Cinco semanas: horas de estudio y nota de una práctica.
horas = [1, 2, 3, 4, 5]
notas = [2, 4, 5, 4, 5]
n = len(horas)
media_x = sum(horas) / n
media_y = sum(notas) / n
arriba = 0
suma_x = 0
suma_y = 0
for i in range(n):
dx = horas[i] - media_x
dy = notas[i] - media_y
arriba = arriba + dx * dy
suma_x = suma_x + dx ** 2
suma_y = suma_y + dy ** 2
r = arriba / (suma_x * suma_y) ** 0.5
print("r:", round(r, 3))
# Cambia el último 5 de notas por un 1 y vuelve a ejecutar.
# ¿Qué le pasa a r?
Un error muy común
Advertencia
Mucha gente cree que si dos variables van juntas, una causa la otra. No es así: los helados y las gafas de sol se venden más en verano, y ninguno causa al otro. Antes de hablar de causa, busca un tercer factor, y mejor aún un experimento.
Una correlación puede tener tres explicaciones
Si A y B van juntas, puede que A cause B, que B cause A o que una variable oculta mueva a las dos. En las bicis, el calor sube los alquileres y las ventas de helados. Helados y bicis irían juntos sin que ninguno cause al otro.
Un valor atípico también puede subir o bajar r. Mira siempre el diagrama antes de fiarte del número.
Para ir más lejos: elige tus dos columnas
Con la orden de r, cambia temp_c por otra columna numérica y mide su relación con los alquileres. Antes de ejecutar, escribe si esperas un r positivo, negativo o cercano a cero.
Después escribe una frase que describa la relación sin usar la palabra «causa».