Science des données - Corrélation statistique


Corrélation

La corrélation mesure la relation entre deux variables.

Nous avons mentionné qu'une fonction a pour but de prédire une valeur, en convertissant l'entrée (x) en sortie (f(x)). On peut dire aussi dire qu'une fonction utilise la relation entre deux variables pour la prédiction.


Coefficient de corrélation

Le coefficient de corrélation mesure la relation entre deux variables.

Le coefficient de corrélation ne peut jamais être inférieur à -1 ou supérieur à 1.

  • 1 = il existe une relation linéaire parfaite entre les variables (comme Average_Pulse contre Calorie_Burnage)
  • 0 = il n'y a pas de relation linéaire entre les variables
  • -1 = il existe une relation linéaire négative parfaite entre les variables (par exemple, moins d'heures travaillées, entraîne une dépense calorique plus élevée pendant une séance d'entraînement)

Exemple de relation linéaire parfaite (coefficient de corrélation = 1)

Nous utiliserons un nuage de points pour visualiser la relation entre Average_Pulse et Calorie_Burnage (nous avons utilisé le petit ensemble de données de la montre de sport avec 10 observations).

Cette fois, nous voulons des nuages ​​de points, nous changeons donc le type en "nuage de points":

Exemple

import matplotlib.pyplot as plt

health_data.plot(x ='Average_Pulse', y='Calorie_Burnage', kind='scatter')
plt.show()

Sortir:

Coefficient de corrélation = 1

Comme nous l'avons vu précédemment, il existe une relation linéaire parfaite entre Average_Pulse et Calorie_Burnage.



Exemple d'une relation linéaire négative parfaite (coefficient de corrélation = -1)

Coefficient de corrélation = -1

Nous avons tracé ici des données fictives. L'axe des abscisses représente le nombre d'heures travaillées à notre poste avant une session de formation. L'axe y est Calorie_Burnage.

Si nous travaillons plus longtemps, nous avons tendance à brûler moins de calories car nous sommes épuisés avant la séance d'entraînement.

Le coefficient de corrélation est ici de -1.

Exemple

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()

Exemple de relation non linéaire (coefficient de corrélation = 0)

Coefficient de corrélation = 0

Ici, nous avons tracé Max_Pulse contre Durée à partir de l'ensemble de données full_health_data.

Comme vous pouvez le voir, il n'y a pas de relation linéaire entre les deux variables. Cela signifie qu'une session d'entraînement plus longue ne conduit pas à un Max_Pulse plus élevé.

Le coefficient de corrélation est ici de 0.

Exemple

import matplotlib.pyplot as plt

full_health_data.plot(x ='Duration', y='Max_Pulse', kind='scatter')
plt.show()