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 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.
Fonction R de calcul du coefficient de corrélation
La fonction cor() de R peut être utilisée pour calculer le coefficient 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érique
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érique 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 où 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 sont recommandés 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, utilisez 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ériques 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).
Show me some love with the like buttons below... Thank you and please don't forget to share and comment below!!
Montrez-moi un peu d'amour avec les like ci-dessous ... Merci et n'oubliez pas, s'il vous plaît, de partager et de commenter ci-dessous!