Ciencia de datos - Correlación estadística
Correlación
La correlación mide la relación entre dos variables.
Mencionamos que una función tiene el propósito de predecir un valor, convirtiendo la entrada (x) en salida (f(x)). También podemos decir que una función usa la relación entre dos variables para la predicción.
Coeficiente de correlación
El coeficiente de correlación mide la relación entre dos variables.
El coeficiente de correlación nunca puede ser inferior a -1 ni superior a 1.
- 1 = hay una relación lineal perfecta entre las variables (como Average_Pulse frente a Calorie_Burnage)
- 0 = no hay relación lineal entre las variables
- -1 = existe una relación lineal negativa perfecta entre las variables (por ejemplo, menos horas trabajadas, conduce a una mayor quema de calorías durante una sesión de entrenamiento)
Ejemplo de una Relación Lineal Perfecta (Coeficiente de Correlación = 1)
Usaremos el diagrama de dispersión para visualizar la relación entre Average_Pulse y Calorie_Burnage (hemos usado el pequeño conjunto de datos del reloj deportivo con 10 observaciones).
Esta vez queremos diagramas de dispersión, así que cambiamos tipo a "dispersión":
Ejemplo
import matplotlib.pyplot as plt
health_data.plot(x ='Average_Pulse', y='Calorie_Burnage',
kind='scatter')
plt.show()
Producción:
Como vimos anteriormente, existe una relación lineal perfecta entre Average_Pulse y Calorie_Burnage.
Ejemplo de una relación lineal negativa perfecta (coeficiente de correlación = -1)
Hemos trazado datos ficticios aquí. El eje x representa la cantidad de horas trabajadas en nuestro trabajo antes de una sesión de entrenamiento. El eje y es Calorie_Burnage.
Si trabajamos más horas, tendemos a tener una menor quema de calorías porque estamos agotados antes de la sesión de entrenamiento.
El coeficiente de correlación aquí es -1.
Ejemplo
import pandas as pd
import matplotlib.pyplot as plt
negative_corr =
{'Hours_Work_Before_Training': [10,9,8,7,6,5,4,3,2,1],
'Calorie_Burnage':
[220,240,260,280,300,320,340,360,380,400]}
negative_corr = pd.DataFrame(data=negative_corr)
negative_corr.plot(x ='Hours_Work_Before_Training',
y='Calorie_Burnage', kind='scatter')
plt.show()
Ejemplo de relación no lineal (coeficiente de correlación = 0)
Aquí, hemos trazado Max_Pulse frente a Duration del conjunto full_health_data.
Como puede ver, no existe una relación lineal entre las dos variables. Significa que una sesión de entrenamiento más larga no conduce a un Max_Pulse más alto.
El coeficiente de correlación aquí es 0.
Ejemplo
import matplotlib.pyplot as plt
full_health_data.plot(x ='Duration', y='Max_Pulse',
kind='scatter')
plt.show()