Chapitre 5 Deux variables quantitatives

On cherche à quantifier le lien entre deux variables quantitatives X et Y sur un échantillon de n individus. Par exemple : le lien entre les revenus médians et le nombre d’emploi au lieu de travail des communes.

Plusieurs coefficient permettent de quantifier ce lien :

  • Coefficient de corrélation linéaire (Pearson) : \(\rho_{XY}=\dfrac{\sigma_{XY}}{\sigma_{X} \cdot \sigma_{X}}\) avec \(\sigma_{XY} = \dfrac{1}{n}\sum_{i=1}^n (x_i-\bar{x})(y_i-\bar{y})\) et \(\sigma_x\) l’écart-type de X.
  • Coefficient de corrélation des rangs (Spearman) : c’est le coefficient précédent appliqué aux rangs \(\Rightarrow\) détecte des relations non linéaires

Dans certains cas (distributions asymétriques), il faut penser à appliquer la transformation logarithmique

5.1 Représentations graphiques

Des représentations graphiques permettent de visualiser d’éventuels effets entre variables, qu’il faudra ensuite étudier plus précisemment en les quantifier.

5.1.1 Nuage de points

Un croisement de deux variables quantitatives peut se faire facilement avec un nuage simple (geom_point()):

## Warning: Removed 159 rows containing missing values (geom_point).

On peut ajouter un peu de mise en forme :

## Warning: Removed 159 rows containing missing values (geom_point).

Les fonctions scale_._continous() permettent de modifier les echelles des axes. Ici, nous avons effectué une transformation logarithmique de l’axe des X.

Pour visualiser, sans a priori sur sa forme, la relation entre X et Y (elle n’est pas forcément linéaire) on peut appliquer une fonction de lissage avec geom_smooth.

Si on veut la droite de régression, c’est aussi la fonction geom_smooth en ajoutant l’argument method = "lm".

5.1.2 Matrice de nuages de points

Une matrice permet d’afficher plusieurs nuages de points d’un coup. Cela est pratique quand on explore un jeu de données avec différentes variables susceptibles d’êtres corrélées entre elles. Elle s’obtient avec la fonction ggpairs() (du package GGally).

5.2 Coefficients de corrélation

Le coefficient de corrélation entre deux variables quantifie l’intensité de la liaison entre ces variables. Il varie entre +1 et -1. S’il est proche de zéro, il n’y a pas de liaison, les variables sont indépendantes l’une de l’autre. S’il est de signe positif, les variables ont tendance à varier dans le même sens, c’est-à-dire que quand l’une augmente, l’autre tend aussi à augmenter. S’il est négatif, quand l’une augmente l’autre tend à diminuer.

Le coefficient de corrélation linéaire classique, par défaut dans la fonction cor() est celui de Pearson. Attention, il est très sensible aux valeurs extrêmes et il ne rend pas bien compte des relations non linéaires.

Il entre dans la catégorie des outils paramétriques, donc attention à son interprétation quand les variables ne sont pas distribuées selon une loi normale.

\(r=\dfrac{Cov(X,Y)}{\sigma_X\times\sigma_Y}\)

##             P14_LOGVAC P14_RP_PROP NBMENFISC13      PIMP13
## P14_LOGVAC   1.0000000  0.80585803  0.87037471 -0.29881622
## P14_RP_PROP  0.8058580  1.00000000  0.96613796  0.07897033
## NBMENFISC13  0.8703747  0.96613796  1.00000000 -0.05022612
## PIMP13      -0.2988162  0.07897033 -0.05022612  1.00000000
##             P14_LOGVAC P14_RP_PROP NBMENFISC13      PIMP13
## P14_LOGVAC   1.0000000  0.75307960  0.82499338 -0.31836309
## P14_RP_PROP  0.7530796  1.00000000  0.96170098  0.08329792
## NBMENFISC13  0.8249934  0.96170098  1.00000000 -0.05725575
## PIMP13      -0.3183631  0.08329792 -0.05725575  1.00000000

Pour tester si vous arrivez bien à estimer à l’oeil l’intensité du lien linéaire entre deux variables, un peu d’entraînement sur cette appli shiny ou celle-ci.

Quand la relation n’est pas linéaire, on peut utiliser en alternative le coefficient de corrélation de Spearman. Celui-ci est basé sur les rangs. Il permet donc de mettre en évidence des relations non linéaires (pour peu qu’elles soient monotones) entre les deux variables.

##             P14_LOGVAC P14_RP_PROP NBMENFISC13      PIMP13
## P14_LOGVAC   1.0000000  0.72587784  0.82164400 -0.34742233
## P14_RP_PROP  0.7258778  1.00000000  0.94614294  0.05610507
## NBMENFISC13  0.8216440  0.94614294  1.00000000 -0.08464844
## PIMP13      -0.3474223  0.05610507 -0.08464844  1.00000000

Quelques exemples de comparaison entre les corrélations de Pearson et de Spearman ici

5.3 Régression

Le principe de la régression est de décrire la manière dont une variable est dépendante d’une autre variable. À la différence de la corrélation, où on cherche à quantifier la manière dont 2 variables s’oriente l’une par rapport à l’autre, la régression a pour objectif d’estimer les valeurs d’une variable en connaissant les valeurs d’une autre variable. Le modèle usuel de régression linéaire est : \(y = \beta_0 + \beta_1 x + \varepsilon\), avec :

  • \(y\) variable à expliquer

  • \(x\) variable explicative

  • \(\varepsilon\) un terme d’erreur aléatoire de loi normale, d’espérance nulle et d’écart-type σ.

On veut une estimation des coefficients \(\beta_0\) et \(\beta_1\). Sur R, on se sert de la fonction lm() pour créer un modèle (“linear model”). Cet objet permettra d’accéder à plusieurs informations de la régression.

## 
## Call:
## lm(formula = NBMENFISC13 ~ P14_RP_PROP, data = dat)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -69374    -22    210    312  91368 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -4.199e+02  5.955e+00  -70.52   <2e-16 ***
## P14_RP_PROP  2.482e+00  2.071e-03 1198.05   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1052 on 32187 degrees of freedom
##   (4500 observations deleted due to missingness)
## Multiple R-squared:  0.9781, Adjusted R-squared:  0.9781 
## F-statistic: 1.435e+06 on 1 and 32187 DF,  p-value: < 2.2e-16

On peut encore une fois visualiser la droite de régression grâce à la fonction geom_smooth()

5.3.1 Exercice

Effectuer une nouvelle régression avec 2 autres variables, puis tracer le nuage de points de ces variables, et enfin y ajouter la droite de regression.