Le test de corrélation est un outil très importante en statistique. en effet, il est utilisé afin d’évaluer la dépendance entre deux variables aléatoires, ou liaison statistique. Le plus célèbre test de corrélation, ou coefficient de corrélation linéaire de Pearson, consiste à calculer le quotient de la covariance des deux variables aléatoires par le produit de leurs écarts-types. Il s’agit donc d’un test de variables quantitatives.
Mais ce test éclipse tout autre corrélation statistique existante. D’une part parce qu’il est également possible de calculer le coefficient de corrélation de variables ordinales. Mais aussi parce qu’un coefficient r de valeur nulle ne signifie pas obligatoirement une indépendance absolue des deux variables aléatoires ! En effet, d’autres tests de corrélation peuvent se révéler plus probants. Aussi devient-il nécessaire de choisir le bon test en fonction de ses variables. Mais également de bien prendre en compte la p-value associée à chaque résultat de test.
1. Les fonctions de corrélation sous R
Le langage R possède deux fonctions de calcul du coefficient de corrélation. La première est la fonction cor() qui utilise trois attributs : les variables aléatoires A, B et la méthode employée : pearson (par défaut), kendall ou spearman.
cor(A,B, method="pearson")
La fonction cor.test() permet d’aller plus loin dans l’analyse statistique. Elle teste elle aussi l’association entre deux variables en utilisant les méthodes de pearson (par défaut), kendall ou de spearman. Mais elle calcule aussi le niveau de significativité de la corrélation (p-value).
cor.test(A,B, method="kendall")
2. Le test de corrélation linéaire de Pearson
Le coefficient de corrélation linéaire r (Pearson) permet de calculer la dépendance entre deux variables quantitatives. Les deux échantillons sont supposés suivre une distribution de loi normale.
Cette mesure est normée de telle sorte que la corrélation positive est comprise entre r = ]0;+1]
et la corrélation négative est comprise entre r = [-1;0[
. Pour des valeurs r = -1
ou r = 1
, la dépendance est parfaite. Si r = 0
alors les deux variables sont parfaitement indépendantes.
La fonction cor.test() permet d’obtenir plusieurs informations complémentaires. Le test statistique se base sur le coefficient de Pearson r calculé par cor(x, y)
. Il suit une distribution t avec un degré de liberté ddl = length(x)-2
si les échantillons suivent une distribution normale indépendante. La fonction indique enfin une p-value pour ce test.
S’il existe au moins 4 paires complètes d’observations, un intervalle de confiance asymptotique est donné en se basant sur la transformation z’ de Fisher.
3. Le test de corrélation de Kendall
Le test de corrélation de Kendall est une mesure statistique de la corrélation de rang entre deux variables aléatoires. Il permet d’obtenir le tau de Kendall (ou τ de Kendall) qui mesure l’association entre ces deux variables. Si deux variables X et Y sont dépendantes, alors τ = 1
ou τ = -1
. Deux variables indépendantes pour τ = 0
.
Ce test s’applique plus précisément pour des échantillons qui ne suivent pas une distribution normale. Il compare l’ensemble des observations des variables jointes X,Y et compte les paires d’observations concordantes (xi < xj
pour yi < yj
) et discordantes (cas d’inégalités contraires).
La fonction cor.test() appliquée au test de Kendall permet de calculer le τ de Kendall et d’y associer une p-value pour ce test.
4. La corrélation de Spearman
La corrélation de Spearman ou ρ (rs) de Spearman permet de mesurer la dépendance statistique entre deux variables aléatoires de relation non affine. Ce test de corrélation non paramétrique utilise pour cela des variables de rang, calculées à partir des échantillons X,Y.
Le coefficient de Spearman détecte des tendances monotones. S’il se comporte de façon similaire au coefficient de Pearson lorsque la tendance est affine, il sera plus élevé si la tendance est monotone. Si la tendance suit parfaitement une fonction monotone, alors rs = 1
ou rs = -1
. Enfin, si la tendance n’est pas monotone, rs = 0
.
La fonction cor.test() appliquée au test de Sperman permet de calculer le rs et d’y associer une p-value pour ce test.