Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

Comment calculer la corrélation en Python



Une façon de quantifier la relation entre deux variables consiste à utiliser le coefficient de corrélation de Pearson , qui est une mesure de 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 entre deux variables
  • 0 indique aucune corrélation linéaire entre deux variables
  • 1 indique une corrélation linéaire parfaitement positive entre deux variables

Plus le coefficient de corrélation s’éloigne de zéro, plus la relation entre les deux variables est forte.

Ce tutoriel explique comment calculer la corrélation entre les variables en Python.

Comment calculer la corrélation en Python

Pour calculer la corrélation entre deux variables en Python, on peut utiliser la fonction Numpy corrcoef() .

import numpy as np

np.random.seed(100)

#create array of 50 random integers between 0 and 10
var1 = np.random.randint(0, 10, 50)

#create a positively correlated array with some random noise
var2 = var1 + np.random.normal(0, 10, 50)

#calculate the correlation between the two arrays
np.corrcoef(var1, var2)

[[ 1. 0.335]
[ 0.335 1. ]]

On peut voir que le coefficient de corrélation entre ces deux variables est de 0,335 , ce qui est une corrélation positive.

Par défaut, cette fonction produit une matrice de coefficients de corrélation. Si l’on voulait uniquement renvoyer le coefficient de corrélation entre les deux variables, on pourrait utiliser la syntaxe suivante :

np.corrcoef(var1, var2)[0,1]

0.335

Pour tester si cette corrélation est statistiquement significative, nous pouvons calculer la valeur p associée au coefficient de corrélation de Pearson en utilisant la fonction Scipy pearsonr() , qui renvoie le coefficient de corrélation de Pearson ainsi que la valeur p bilatérale.

from scipy.stats.stats import pearsonr

pearsonr(var1, var2)

(0.335, 0.017398)

Le coefficient de corrélation est de 0,335 et la valeur p bilatérale est de 0,017 . Puisque cette valeur p est inférieure à 0,05, nous conclurions qu’il existe une corrélation statistiquement significative entre les deux variables.

Si vous souhaitez calculer la corrélation entre plusieurs variables dans un Pandas DataFrame, vous pouvez simplement utiliser la fonction .corr() .

import pandas as pd

data = pd.DataFrame(np.random.randint(0, 10, size=(5, 3)), columns=['A', 'B', 'C'])
data

  A B C
0 8 0 9
1 4 0 7
2 9 6 8
3 1 8 1
4 8 0 8

#calculate correlation coefficients for all pairwise combinations
data.corr()

          A         B         C
A  1.000000 -0.775567 -0.493769
B -0.775567  1.000000  0.000000
C -0.493769  0.000000  1.000000

Et si vous souhaitez uniquement calculer la corrélation entre deux variables spécifiques dans le DataFrame, vous pouvez spécifier les variables :

data['A'].corr(data['B'])

-0.775567

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes en Python :

Comment créer une matrice de corrélation en Python
Comment calculer la corrélation de rang Spearman en Python
Comment calculer l’autocorrélation en Python

Ajouter un commentaire

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