Corrélation de Pearson


Le coefficient de Pearson est un indice reflétant une relation linéaire entre deux variables continues. Le coefficient de corrélation varie entre -1 et +1, 0 reflétant une relation nulle entre les deux variables, une valeur négative (corrélation négative) signifiant que lorsqu'une des variable augmente, l'autre diminue ; tandis qu'une valeur positive (corrélation positive) indique que les deux variables varient ensemble dans le même sens. Voici des exemples illustrant les 3 situations:

Pour rappel, voici la formule pour calculer le coefficient de corrélation de Pearson:

\[r = \frac{\sum_{i=1}^n (X_i-\bar{X})(Y_i-\bar{Y})}{\sqrt{\sum_{i=1}^n (X_i-\bar{X})^2}\sqrt{\sum_{i=1}^n (Y_i-\bar{Y})^2}}\]

La valeur de r obtenue est une estimation de la corrélation entre deux variables continues dans la population. Dès lors, sa valeur fluctuera d'un échantillon à l'autre. On veut donc savoir si, dans la population ces deux variables sont réellement corrélées ou pas. On doit donc réaliser un test d'hypothèse.

H0: Pas de corrélation entre les deux variables : ρ = 0

HA: Corrélation entre les deux variables : ρ ≠ 0

On a vu au cours théorique que cette hypothèse pouvait être testée à l'aide d'un test de t. De manière explicite, on peut calculer la valeur de t et employer la distribution correspondante pour en déduire la probabilité d'observer un résultat qui s'écarte aussi fort, voire plus fort, de ce que prédisait la corrélation. Pour rappel, la formule pour calculer la valeur de t à partir d'une corrélation de Pearson est:

\[t_{n-2} = \frac{r}{\sqrt{1-r^2}}\sqrt{n-2}\]

Pour illustrer ce type de problème, nous aimerions savoir si le poids influence le taux de glycémie. Le poids et le taux de glycémie de 20 adultes ont été récoltés. Voici les données obtenues:

Individus1234567891011121314151617181920
Poids6855.46961.665.768.4755385.593.672.3685758539471.5725673
Glycémie1.080.840.720.620.750.770.720.571.021.090.990.780.810.911.061.050.941.151.031.07


A partir de ces données, on peut calculer la corrélation de Pearson de cet échantillon, la valeur de t et la probabilité correspondante:

poids<-c(68,55.4,69,61.6,65.7,68.4,75,53,85.5,93.6,72.3,68,57,58,53,94,71.5,72,56,73)
glyc<-c(1.08,0.84,0.72,0.62,0.75,0.77,0.72,0.57,1.02,1.09,0.99,0.78,0.81,0.91,1.06,1.05,0.94,1.15,1.03,1.07)

xpoids<-poids-mean(poids)
yglyc<-glyc-mean(glyc)

r<-sum(xpoids*yglyc)/(sqrt(sum(xpoids^2))*sqrt(sum(yglyc^2)))
r
## [1] 0.4170647
t<-(r/sqrt(1-r^2))*sqrt(20-2)
t
## [1] 1.94686
dl<-20-2

1-pt(t,dl)
## [1] 0.0336642
#ou
pt(t,dl,lower.tail=FALSE)
## [1] 0.0336642

On observe donc que la corrélation osbervée dans cet échantillon entre le poids et le taux de glycémie est de 0.42. Celle-ci correspond à une valeur de t de 1.95. La probabilité d'avoir une corrélation aussi élevée dans un échantillon si la corrélation dans la population est nulle est de 0.034. Etant donné que cette probabilité est faible (inférieure au seuil de significativité = 0.05), on peut rejeter H0 et conclure que la corrélation entre le poids et le taux de glycémie est significativement positive.


Le code qui suit montre la manière directe d'arriver à cette conclusion en utilisant la fonction cor.test(<arguments>) de R:

cor.test(poids,glyc, alternative="greater")
## 
##  Pearson's product-moment correlation
## 
## data:  poids and glyc
## t = 1.9469, df = 18, p-value = 0.03366
## alternative hypothesis: true correlation is greater than 0
## 95 percent confidence interval:
##  0.04516699 1.00000000
## sample estimates:
##       cor 
## 0.4170647

On observe donc que la corrélation osbervée dans cet échantillon entre le poids et le taux de glycémie est de 0.42. Celle-ci correspond à une valeur de t de 1.95. La probabilité d'avoir une corrélation aussi élevée dans un échantillon si la corrélation dans la population est nulle est de 0.034. Etant donné que cette probabilité est faible (inférieure au seuil de significativité = 0.05), on peut rejeter H0 et conclure que la corrélation entre le poids et le taux de glycémie est significativement positive.

La réponse à cette fonction nous donne toutes les informations nécessaires pour effectuer le test:

On obtient évidemment le même résultat que lorsqu'on fait le calcul manuellement. La probabilité otbenue étant faible (< 0.05), on rejette l'hypothèse nulle. Le poids et la glycémie corrèle positivement.
Noter que dans ce cas-ci, on se trouve dans un test unilatéral: on regarde dans une seule direction (la corrélation est-elle significativement positive?). On doit donc préciser à R le sens de notre hypothèse alternative. C'est pourquoi on inscrit dans la fonction alternative="greater". Si on ne précise rien, par défaut, R réalise un test bilatéral. Si l'hypothèse alternative était une corrélation négative entre le poids et la glycémie, on aurait dû écrire : alternative="less".