Régression vers la moyenne

Introduction à la régression en R

Richie Cotton

Data Evangelist

Le concept

  • Valeur observée = valeur ajustée + résidu
  • « Ce que vous avez expliqué » + « ce que vous n'avez pas pu expliquer »
  • Les résidus viennent de limites du modèle et du hasard intrinsèque
  • Les cas extrêmes sont souvent dus au hasard
  • La régression vers la moyenne signifie que les cas extrêmes ne durent pas dans le temps
Introduction à la régression en R

Jeu de données père-fils de Pearson

  • 1 078 pères/fils
  • Les pères grands ont-ils des fils grands ?
taille_père_cm taille_fils_cm
165,2 151,8
160,7 160,6
165,0 160,9
167,0 159,5
155,3 163,3
... ...
1 Adapté de https://www.rdocumentation.org/packages/UsingR/topics/father.son
Introduction à la régression en R

Nuage de points

plt_son_vs_father <- ggplot(
  father_son, 
  aes(father_height_cm, son_height_cm)
) +
  geom_point() +
  geom_abline(color = "green", size = 1) +
  coord_fixed()

Nuage de points : taille des fils selon la taille des pères, avec une ligne où père et fils auraient la même taille. Plus les pères sont grands, plus les fils le sont.

Introduction à la régression en R

Ajouter une droite de régression

plt_son_vs_father +
  geom_smooth(method = "lm", se = FALSE)

Le nuage de points avec une droite de tendance linéaire. Cette droite est moins pentue que la ligne où pères et fils auraient la même taille.

Introduction à la régression en R

Exécuter une régression

mdl_son_vs_father <- lm(
  son_height_cm ~ father_height_cm, 
  data = father_son
)
Call:
lm(formula = son_height_cm ~ father_height_cm, data = father_son)

Coefficients:
     (Intercept)  father_height_cm  
          86.072             0.514
Introduction à la régression en R

Faire des prédictions

really_tall_father <- tibble(
  father_height_cm = 190
)
predict(mdl_son_vs_father, really_tall_father)
183.7
really_short_father <- tibble(
  father_height_cm = 150
)
predict(mdl_son_vs_father, really_short_father)
163.2
Introduction à la régression en R

Passons à la pratique !

Introduction à la régression en R

Preparing Video For Download...