Test de corrélation entre deux variables

C’est quoi le test de corrélation?

Le test de corrélation est utilisé pour évaluer une association (dépendance) entre deux variables. Le calcul du coefficient de corrélation peut être effectué en utilisant différentes méthodes. Il existe la corrélation r de pearson, la corrélation tau de Kendall et le coefficient de corrélation rho de Spearman. Ces méthodes de calcul de corrélation sont décrites dans les sections suivantes.

Noter qu’un logiciel web est disponible ici pour calculer le coefficient de corrélation entre deux variables sans aucune installation.

Fonction R de calcul du coefficient de corrélation

La fonction cor() de R peut être utilisée pour calculer le coeficient de corrélation entre deux variables, x et y. Un format simplifié de la fonction est:

# x et y sont des vecteurs de type numéric
cor(x, y, method = c("pearson", "kendall", "spearman"))

- La méthode de corrélation de pearson calcule un coefficient de corrélation appelé paramétrique.
- Les méthodes de test de corrélation de kendall et de spearman sont non paramétriques. Ce sont des tests de corrélation basés sur le rang.

Calculer le coefficient de corrélation entre deux variables dans R

Données pour le test de corrélation

Deux variables, x et y, sont utilisées dans les exemples suivants:

x <- c(44.4, 45.9, 41.9, 53.3, 44.7, 44.1, 50.7, 45.2, 60.1)
y <- c( 2.6,  3.1,  2.5,  5.0,  3.6,  4.0,  5.2,  2.8,  3.8)

x et y sont des vecteurs de type numéric et ils doivent avoir la même taille.

Coefficient de corrélation de pearson

cor(x,y, method="pearson")
[1] 0.5712

La méthode de corrélation peut être de type pearson, spearman ou kendall

Le coefficient de corrélation de pearson mesure une corrélation linéaire entre deux variables.

Dans le cas ou la méthode utilisée est de type “kendall” ou “spearman”, les statistiques tau de kendall et rho de Spearman sont respectivement utilisées pour estimer le coefficient de corrélation basé sur le rang. Ce sont des tests statistiques dits robustes car ils ne dépendent pas de la distribution des données. Le test de corrélation de Kendall et celui de Spearman est recommandé lorsque les variables ne suivent pas une loi normale.

Le test de Spearman calcule la corrélation par la fonction : cor(rank(x), rank(y))

Si vos données contiennent des valeurs manquantes, utiliser le code R suivant qui va gérer automatiquement les valeurs manquantes en supprimant la paire de valeurs.

cor(x, y, use = "complete.obs")

p-value du coefficient de corrélation (test de significativité)

La fonction cor.test() peut être utilisée pour calculer le niveau de significativité de la corrélation. Elle teste l’association entre deux variables en utilisant les méthodes de pearson, kendall ou de spearman.

Le format simplifié de la fonction :

# x et y sont des vecteurs numérics de même longueur
cor.test(x, y, method=c("pearson", "kendall", "spearman"))

La valeur retournée par la fonction est une liste contenant, entre autres, les composants suivants :

statistic La valeur de la statistique.
p.value La p-value du test de corrélation.
estimate Coefficient de corrélation : “cor” (pour pearson), “tau” (pour kendall) et “rho” (pour spearman)

Test de corrélation de pearson

Le test statistique suit la distribution t avec un degré de liberté de length(x)-2 [ c’est à dire la (taille de x) -2] lorsque les échantillons suivent une distribution normale.

res<-cor.test(x,y, method="pearson")
res

    Pearson's product-moment correlation
data:  x and y
t = 1.841, df = 7, p-value = 0.1082
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 -0.1497  0.8956
sample estimates:
   cor 
0.5712 

cor est le coefficient de corrélation de pearson.

Le coefficient de corrélation entre x et y est 0.5712 et la p-value 0.1082.

test de corrélation kendall

Le calcul du coefficient de corrélation de Kendall, basé sur un test de rang, pourrait être utilisé lorsque les données ne proviennent pas normalement d’une distribution normale.

res<-cor.test(x,y, method="kendall")
res

    Kendall's rank correlation tau
data:  x and y
T = 26, p-value = 0.1194
alternative hypothesis: true tau is not equal to 0
sample estimates:
   tau 
0.4444 

tau est le coefficient de corrélation de Kendall.

Le coefficient de corrélation entre les deux variables x et y est 0.4444 et la p-value est 0.1194.

Coefficient de corrélation de Spearman

La statistique rho de Spearman peut être aussi utilisée pour estimer une association, basée sur un test de rang, entre deux variables. Comme le test de kendall, le test de spearman pourrait être utilisé lorsque les données ne proviennent pas d’une distribution normale.

res<-cor.test(x,y, method="spearman")
res

    Spearman's rank correlation rho
data:  x and y
S = 48, p-value = 0.0968
alternative hypothesis: true rho is not equal to 0
sample estimates:
rho 
0.6 

rho est le coefficient de corrélation de Spearman.

Le coefficient de corrélation entre x et y est 0.6 et la p-value est 0.0968.

Conclusions

  • Utiliser la fonction cor.test(x,y) pour calculer le coefficient de corrélation entre deux variables ainsi que le niveau de significativité de la corrélation.
  • Trois méthodes de calcul de corrélation existent en utilisant la fonction cor.test: pearson, kendall, spearman

Infos

Cette analyse a été faite avec R (ver. 3.1.0).









Want to Learn More on R Programming and Data Science?

Follow us by Email

by FeedBurner

On Social Networks:


 Get involved :
  Click to follow us on and Google+ :   
  Comment this article by clicking on "Discussion" button (top-right position of this page)
  Sign up as a member and post news and articles on STHDA web site.
Cette page a été vue 33896 fois