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