Corrélation

Introduction à la statistique en Python

Maggie Matsui

Content Developer, DataCamp

Relations entre deux variables

Nuage de points des habitudes de sommeil des mammifères, montrant le sommeil total par jour vs le sommeil REM par jour

  • x = variable explicative/indépendante
  • y = variable réponse/dépendante
Introduction à la statistique en Python

Coefficient de corrélation

  • Quantifie la relation linéaire entre deux variables
  • Nombre entre -1 et 1
  • L'amplitude correspond à la force de la relation
  • Le signe (+ ou -) indique la direction de la relation
Introduction à la statistique en Python

Amplitude = force de la relation

0,99 (relation très forte)

Nuage de points dont les points sont très près d'une ligne invisible

Introduction à la statistique en Python

Amplitude = force de la relation

0,99 (relation très forte)

Nuage de points dont les points sont très près d'une ligne invisible

              0,75 (relation forte)

Nuage de points dont les points sont plus éloignés de la ligne invisible

Introduction à la statistique en Python

Amplitude = force de la relation

0,56 (relation modérée)

Nuage de points dont les points sont encore plus éloignés de la ligne invisible

Introduction à la statistique en Python

Amplitude = force de la relation

0,56 (relation modérée)

Nuage de points dont les points sont encore plus éloignés de la ligne invisible

             0,21 (relation faible)

Nuage de points où les points semblent presque totalement dispersés au hasard

Introduction à la statistique en Python

Amplitude = force de la relation

0,04 (aucune relation)

Nuage de points où les points sont totalement dispersés au hasard

  • Connaître la valeur de x ne nous dit rien sur y
Introduction à la statistique en Python

Signe = direction

0,75 : quand x augmente, y augmente

Nuage de points où y augmente quand x augmente

-0,75 : quand x augmente, y diminue

Nuage de points où y diminue quand x augmente

Introduction à la statistique en Python

Visualiser les relations

import seaborn as sns

sns.scatterplot(x="sleep_total", y="sleep_rem", data=msleep)
plt.show()

Nuage de points de sleep_rem vs. sleep_total

Introduction à la statistique en Python

Ajouter une ligne de tendance

import seaborn as sns
sns.lmplot(x="sleep_total", y="sleep_rem", data=msleep, ci=None)

plt.show()

Nuage de points de sleep_rem vs. sleep_total avec ligne de tendance linéaire

Introduction à la statistique en Python

Calculer la corrélation

msleep['sleep_total'].corr(msleep['sleep_rem'])
0.751755

 

msleep['sleep_rem'].corr(msleep['sleep_total'])
0.751755
Introduction à la statistique en Python

Plusieurs façons de calculer la corrélation

  • Utilisée dans ce cours : corrélation produit-moment de Pearson ($r$)
    • La plus courante
    • $\bar{x} =$ moyenne de $x$
    • $\sigma_x =$ écart-type de $x$

$$ r = \frac{1}{n - 1} \sum_{i=1}^{n} \frac{(x_i - \bar{x})(y_i - \bar{y})}{\sigma_x \cdot \sigma_y}$$

  • Variantes de cette formule :
    • tau de Kendall
    • rho de Spearman
Introduction à la statistique en Python

Passons à la pratique !

Introduction à la statistique en Python

Preparing Video For Download...