Comment effectuer un test de corrélation en Python (avec exemple)



Une façon de quantifier la relation entre deux variables consiste à utiliser le coefficient de corrélation de Pearson , qui mesure l’association linéaire entre deux variables .

Il prend toujours une valeur comprise entre -1 et 1 où :

  • -1 indique une corrélation linéaire parfaitement négative
  • 0 indique aucune corrélation linéaire
  • 1 indique une corrélation linéaire parfaitement positive

Pour déterminer si un coefficient de corrélation est statistiquement significatif, vous pouvez calculer le score t et la valeur p correspondants.

La formule pour calculer le t-score d’un coefficient de corrélation (r) est :

t = r * √ n-2 / √ 1-r 2

La valeur p est ensuite calculée comme la valeur p bilatérale correspondante pour la distribution t avec n-2 degrés de liberté.

Exemple : test de corrélation en Python

Pour déterminer si le coefficient de corrélation entre deux variables est statistiquement significatif, vous pouvez effectuer un test de corrélation en Python à l’aide de la fonction pearsonr de la bibliothèque SciPy .

Cette fonction renvoie le coefficient de corrélation entre deux variables ainsi que la valeur p bilatérale.

Par exemple, supposons que nous ayons les deux tableaux suivants en Python :

#create two arrays
x = [3, 4, 4, 5, 7, 8, 10, 12, 13, 15]
y = [2, 4, 4, 5, 4, 7, 8, 19, 14, 10]

Nous pouvons importer la fonction pearsonr et calculer le coefficient de corrélation de Pearson entre les deux tableaux :

from scipy.stats.stats import pearsonr

#calculation correlation coefficient and p-value between x and y
pearsonr(x, y)

(0.8076177030748631, 0.004717255828132089)

Voici comment interpréter le résultat :

  • Coefficient de corrélation de Pearson (r) : 0,8076
  • Valeur p bilatérale : 0,0047

Le coefficient de corrélation étant proche de 1, cela nous indique qu’il existe une forte association positive entre les deux variables.

Et comme la valeur p correspondante est inférieure à 0,05, nous concluons qu’il existe une association statistiquement significative entre les deux variables.

Notez que nous pouvons également extraire le coefficient de corrélation individuel et la valeur p de la fonction pearsonr :

#extract correlation coefficient (rounded to 4 decimal places)
r = round(pearsonr(x, y)[0], 4)

print(r)

0.8076

#extract p-value (rounded to 4 decimal places) 
p = round(pearsonr(x, y)[1], 4)

print(p) 

0.0047

Ces valeurs sont un peu plus faciles à lire par rapport à la sortie de la fonction pearsonr d’origine.

Ressources additionnelles

Les didacticiels suivants fournissent des informations supplémentaires sur les coefficients de corrélation :

Une introduction au coefficient de corrélation de Pearson
Qu’est-ce qui est considéré comme une corrélation « forte » ?
Les cinq hypothèses de la corrélation de Pearson

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *