4 novembre 2015
Après avoir mené une enquête auprès de 395 étudiant·e·s dans un lycée portugais (Cortez, 2014), nous voudrions modéliser très simplement comment leurs journées d'absences influencent leurs résultats en mathématiques (à la fin de l'année, donc au troisième trimestre).
Les deux variables sont quantitatives et continues : les notes s'étalent entre 0 et 20, les journées d'absences entre 0 et 100.
Modéliser cette relation signifie que nous pourrions savoir comment une journée supplémentaire d'absence (\(X\)) influencerait les notes (\(Y\)), voire même que nous pourrions « prédire » les notes des élèves selon leur nombre d'absences.
Les méthodes statistiques abordées précédemment sont malheureusement insuffisantes pour répondre à cette question :
Il faut donc trouver une autre méthode. La régression linéaire propose un modèle pour expliquer des variables quantitatives continues.
Il existe un moyen très simple de modéliser la relation entre deux variables quantitatives continues : une équation affine (par abus de langage, on dit souvent linéaire), c'est-à-dire l'équation d'une droite.
\[Y = \beta_0 + \beta_1 X_1\text{, où : }\]
Problème : comment synthétiser le nuage de points ci-dessous en une droite qui modélise le mieux la relation entre nos deux variables ?
Quelle droite modélise le mieux le nuage de points ?
La droite bleue est la meilleure. Pourquoi ?
Approximativement, c'est celle qui minimise la distance verticale entre la droite et tous les points. En additionnant les barres verticales bleues, on trouverait une plus faible valeur que pour les barres verticales vertes.
Soient deux variables \(X_1\) (resp. \(Y\)), comptant chacune \(n\) observations \(x_i^1\) (resp. \(y_i\)). Notre modèle de régression linéaire propose d'estimer (ou de prédire) \(Y\) grâce à \(X_1\) tel que :
\[\hat{Y} = \beta_0 + \beta_1 X_1\]
où \(\hat{Y}\) est notre estimation (ou prédiction) pour \(Y\).
En pratique, même le meilleur modèle ne sera pas parfait : il y aura toujours des erreurs telles que
\[Y = \hat{Y} + \epsilon = \beta_0 + \beta_1 X_1 + \epsilon\]
où \(\epsilon\) est l'erreur (ou le résidu), qui mesure l'écart entre les données observées \(Y\) et prédites \(\hat{Y}\). Évidemment, le meilleur modèle est celui qui minimise les erreurs \(\epsilon\).
Le critère pour déterminer le meilleur modèle avec ces variables sera de trouver les coefficients \(\beta_0\) et \(\beta_1\) grâce à la méthode des moindres carrés ordinaires (MCO).
On veut trouver les coefficients \(\beta_0\) et \(\beta_1\) tels que :
\[\min_{\beta_0, \beta_1} \sum_{i = 1}^{n} (y_i - \hat{y}_i)^2 \]
c'est-à-dire tels qu'ils minimisent la somme des carrés des distances entre les valeurs \(y_i\) observées et les valeurs \(\hat{y}_i\) prédites, ou encore qu'ils minimisent les erreurs \(\epsilon_i\).
Les distances \(y_i - \hat{y}_i\) sont représentées par les barres verticales bleues ci-contre.
Il existe deux méthodes pour trouver \(\beta_0\) et \(\beta_1\), une mathématique et l'autre algorithmique, qui sortent du cadre de ce cours.
Revenons à notre exemple : nous voulions estimer la note de mathématiques de lycéens à partir de leur nombre d'absences, grâce à une régression linéaire simple.
La méthode des MCO nous donne les résultats suivants :
\[\beta_0 = 10,3\text{ et } \beta_1 = 0,02\]
D'où l'équation suivante :
\[\hat{Y} = 10,3 + 0,02 \times X\]
Le graphique ci-contre trace la droite correspondante.
Comment interpréter les coefficients \(\beta_0\) et \(\beta_1\) ?
Comment interpréter les coefficients \(\beta_0\) et \(\beta_1\) ?
L'absence a donc un effet quasiment nul sur les résultats en mathématiques, voire très légèrement positif.
Nota Bene : Pour l'instant, nous sommes toujours dans le cadre d'une description de la relation selon un modèle de régression linéaire.
Après avoir rencontré peu de succès avec les absences, nous essayons d'estimer la note en mathématiques à partir du niveau d'études de la mère (0 : aucun, 1 : primaire, 2 : collège, 3 : lycée, 4 : supérieur ).
On trouve les valeurs suivantes : \[\beta_0 = 7,9\text{ , }\beta_1 = 0,9\]
Exercices :
Nous voulons maintenant déterminer si notre droite est correctement ajustée à notre nuage de points (goodness of fit). En particulier, nous voudrions savoir si la variance de \(Y\) provient davantage de notre modèle explicatif \(\hat{Y}\) ou des erreurs \(\epsilon\) du modèle.
On calcule l'indicateur \(R^2\) de la sorte :
\[R^2 = \frac{Var(\hat{Y})}{Var(Y)} = \frac{\sum (\hat{y}_i - \bar{y})^2}{\sum (y_i - \bar{y})^2}\]
où \(\bar{y}\) est la moyenne de \(Y\) (en jaune ci-contre).
Un \(R^2\) de 1 signifierait que la droite serait parfaitement ajustée (points répartis sur une droite), un \(R^2\) de 0 que la droite est totalement inajustée (points répartis aléatoirement ou selon un modèle non-linéaire).
Le \(R^2\) ne garantit pas la qualité du modèle ou sa pertinence, il ne fait qu'évaluer son ajustement.
Interprétez les \(R^2\) suivants :
Ces résultats sont-ils étonnants (comparer à la répartition des nuages de points ci-dessous) ?
On peut se poser la question : en quoi la régression est-elle différente d'un coefficient de corrélation \(r\) ?
En pratique, il serait très étonnant qu'un phénomène puisse être expliqué uniquement par une variable. Nous voulons au contraire avoir un modèle qui prédise \(Y\) avec au moins deux variables \(X_1\) et \(X_2\). Cela nous permettrait de :
Dans notre exemple, imaginons que nous souhaitions expliquer les notes en mathématiques (\(Y\)) par les absences (\(X_1\)) et par le diplôme de la mère (\(X_2\)).
On peut représenter notre nuage de points dans un espace à 3 dimensions (\(Y, X_1, X_2\)), contrairement à notre plan pour deux variables précédemment (\(Y, X_1\)).
Intuition : en deux dimensions, la régression nous donnait l'équation d'une droite. Qu'en sera-t-il en trois dimensions ?
Soit une variable \(Y\) (respectivement \(X_1, X_2\)), avec \(n\) observations \(y_i\) (resp. \(x_i^1, x_i^2\)).
Notre modèle de régression linéaire multiple permet d'estimer notre variable indépendante \(Y\) grâce aux deux variables indépendantes \(X_1, X_2\), tel que :
\[\hat{Y} = \beta_0 + \beta_1 X_1 + \beta_2 X_2\text{ , soit }\]
\[\hat{Y} = \beta_0 + \sum_{i=1}^{2} \beta_i X_i\]
décrivant ainsi un plan de régression (voir slide suivante) et non plus une droite.
Notons que :
Dans notre exemple, l'équation du plan de régression est la suivante :
\[\hat{Y} = 7,9 + 0,007 X_1 + 0,9 X_2\]
On étend simplement notre optimisation à \(\beta_2\) :
\[\min_{\beta_0, \beta_1, \beta_2} \sum_{i = 1}^{n} (y_i - \hat{y}_i)^2 \]
On a représenté ci-contre les distances \(y_i - \hat{y}_i\) par des segments rouges lorsque la distance était positive et bleus quand elle était négative.
Les MCO nous donnent les coefficients suivants :
\[\beta_0 = 7,9\text{ , }\beta_1 = 0,007\text{ , }\beta_2 = 0,9\text{ , }R^2 = 0,05\]
Ce qui signifie :
Dans le cadre d'un raisonnement toutes choses égales par ailleurs (ce qui est, techniquement, un abus de langage), on parle parfois d'identifier les effets purs d'une variable : c'est l'effet d'une variable quand toutes les autres variables sont contrôlées, c'est-à-dire qu'aucune autre variable ne varie.
Nota Bene : pour l'instant, nous sommes toujours dans le cadre d'un modèle descriptif !
Que penser de l'ajustement \(R^2\) ?
Si nous voulons sélectionner les variables explicatives significatives d'un modèle de régression, il existe un test statistique (appelé \(F\)) qui permet de rejetter l'hypothèse nulle grâce à une p-value.
Les détails de ce test ne seront pas abordés dans le cours. Grosso modo, il s'agit d'évaluer la contribution d'une variable à l'explication de la variance de \(Y\) en la pondérant par les degrés de liberté du système (la « taille » de notre problème).
Traditionnellement, les modèles de régression donnent leur significativité avec des astérisques. Par exemple, dans R :
******Régression des absences et des études de la mère ("Medu") sur la note en mathématiques :
| G3 | |
| absences | 0.007 |
| (0.028) | |
| Medu | 0.903*** |
| (0.207) | |
| Constant | 7.890*** |
| (0.619) | |
| N | 395 |
| R2 | 0.047 |
| Adjusted R2 | 0.042 |
| Residual Std. Error | 4.483 (df = 392) |
| F Statistic | 9.733*** (df = 2; 392) |
| Notes: | ***Significant at the 1 percent level. |
| **Significant at the 5 percent level. | |
| *Significant at the 10 percent level. | |
Imaginons maintenant que nous souhaitions contrôler davantage de variables dans notre modèle.
Ainsi, on pourrait penser que les études du père ont elles aussi une influence sur les résultats en mathématiques, ou bien que l'influence des études de la mère sur les notes en maths diffèrent selon que l'élève est une fille ou un garçon. Bref, on voudrait pouvoir raisonner « tous choses égales par ailleurs » avec davantage de variables.
En plus des absences et du niveau d'études de la mère, nous allons donc contrôler le niveau d'études du père, l'âge et le sexe (5 variables dépendantes ou explicatives \(X_i\), qualitatives ou quantitatives) pour prédire les notes en mathématiques (1 variable quantitative indépendante ou à expliquer).
Notre modèle de régression linéaire multiple permet d'estimer notre variable indépendante \(Y\) grâce aux deux variables indépendantes \(X_1, X_2, ..., X_5\), tel que :
\[\hat{Y} = \beta_0 + \sum_{i=1}^{5} \beta_i X_i\]
Avec de nombreuses variables dépendantes, on adopte souvent une notation matricielle, et l'équation s'écrit :
\[\hat{Y} = \beta X\text{, d'où}\]
\[Y = \hat{Y} + \epsilon = \beta X + \epsilon\]
La méthode des MCO est toujours la même. Les coefficients se trouvent en résolvant :
\[\min_{\beta} \sum_{i = 1}^{n} (y_i - \hat{y}_i)^2\]
Voici la sortie R de la régression (Fedu : diplôme du père, sexM : 1 = garçon, 0 = fille).
| Note en mathématiques (T3) | |
| G3 | |
| absences | 0.027 |
| (0.029) | |
| Medu | 0.717*** |
| (0.265) | |
| Fedu | 0.081 |
| (0.264) | |
| age | -0.488*** |
| (0.182) | |
| sexM | 0.812* |
| (0.450) | |
| Constant | 15.856*** |
| (3.196) | |
| Observations | 395 |
| R2 | 0.073 |
| Adjusted R2 | 0.061 |
| Residual Std. Error | 4.440 (df = 389) |
| F Statistic | 6.114*** (df = 5; 389) |
| Note: | p<0.1; p<0.05; p<0.01 |
Les MCO nécessitent de valider un certain nombre d'hypothèses :
On va revenir surtout sur les points 2 et 3.
Pour que le modèle soit valide, les variables explicatives ne doivent pas être significativement corrélées linéairement entre elles. Si c'est le cas, il faut soit abandonner certaines variables, soit utiliser une variation de la méthode des MCO.
Dans notre exemple, l'âge et le nombre de fois qu'un élève a "échoué" en maths les années précédentes (moins de 10 de moyenne) sont linéairement corrélés, car les élèves ayant le plus échoué sont aussi souvent les plus vieux (probablement à cause des redoublements).
En faisant une régression sur les échecs à partir de l'âge, on trouve en effet un coefficient de 0,14 (\(p \approx 0\)). On pourrait ainsi se passer de la variable "échec" et se contenter de la variable "âge".
Pour que les MCO fonctionnent correctement, il faut que la variance des résidus soit homogène, et ne soit pas plus élevée pour une sous-population en particulier.
À droite, un cas d'hétéroscédasticité ; à comparer avec les résidus de la régression précédente à gauche.
L'endogénéité inobservée recoupe le problème dit « des variables cachées ».
Cela signifie que le modèle présenté pourrait ne pas refléter correctement la "réalité", s'il n'intègre pas une (ou plusieurs) variable(s) capitale(s) qui influencent simultanément les autres variables du modèle.
Autrement dit, nous pourrions sélectionner une variable comme significative à tort, n'ayant pas pu contrôler l'impact d'une autre variable importante.
Par exemple, comparons les conclusions que nous pouvons tirer de ces deux modèles :
Avec le diplôme du père
| Note en mathématiques (T3) | |
| G3 | |
| Fedu | 0.642*** |
| (0.210) | |
| Constant | 8.797*** |
| (0.576) | |
| Observations | 395 |
| R2 | 0.023 |
| Adjusted R2 | 0.021 |
| Residual Std. Error | 4.534 (df = 393) |
| F Statistic | 9.352*** (df = 1; 393) |
| Note: | p<0.1; p<0.05; p<0.01 |
Avec le diplôme des deux parents
| Note en mathématiques (T3) | |
| G3 | |
| Medu | 0.836*** |
| (0.264) | |
| Fedu | 0.118 |
| (0.265) | |
| Constant | 7.821*** |
| (0.648) | |
| Observations | 395 |
| R2 | 0.048 |
| Adjusted R2 | 0.043 |
| Residual Std. Error | 4.482 (df = 392) |
| F Statistic | 9.802*** (df = 2; 392) |
| Note: | p<0.1; p<0.05; p<0.01 |
Concrètement, pour trouver le meilleur modèle de régression linéaire, on teste différents modèles avec des variables différentes (ajout de nouvelles variables, création de nouvelles variables à partir des variables déjà connues, etc.).
Il faut ensuite choisir le meilleur modèle en gardant l'équilibre entre deux principes :
Autrement dit, il faut éviter de prendre un modèle trop simple (problèmes d'endogénéité inobservée, faible ajustement) ou un modèle trop ajusté (overfitting) qui sacrifierait la simplicité.
Dans notre exemple suivi, nous allons essayer différents modèles pour essayer de retenir le meilleur.
Modélisation simple avec le niveau d'études de la mère, l'âge et le sexe.
| Note en mathématiques (T3) | |
| G3 | |
| Medu | 0.793*** |
| (0.207) | |
| age | -0.460*** |
| (0.177) | |
| sexM | 0.779* |
| (0.448) | |
| Constant | 15.547*** |
| (3.122) | |
| Observations | 395 |
| R2 | 0.071 |
| Adjusted R2 | 0.064 |
| Residual Std. Error | 4.434 (df = 391) |
| F Statistic | 9.908*** (df = 3; 391) |
| Note: | p<0.1; p<0.05; p<0.01 |
On teste une modélisation de la note en maths du troisième trimestre en fonction de la note en maths du premier trimestre.
| Note en mathématiques (T3) | |
| G3 | |
| G1 | 1.106*** |
| (0.042) | |
| Constant | -1.653*** |
| (0.475) | |
| Observations | 395 |
| R2 | 0.642 |
| Adjusted R2 | 0.641 |
| Residual Std. Error | 2.743 (df = 393) |
| F Statistic | 705.842*** (df = 1; 393) |
| Note: | p<0.1; p<0.05; p<0.01 |
On combine le modèle T1 avec "Medu + Age + Sexe".
| Note en mathématiques (T3) | |
| G3 | |
| G1 | 1.083*** |
| (0.042) | |
| Medu | 0.154 |
| (0.129) | |
| age | -0.375*** |
| (0.108) | |
| sexM | 0.234 |
| (0.274) | |
| Constant | 4.328** |
| (1.950) | |
| Observations | 395 |
| R2 | 0.657 |
| Adjusted R2 | 0.653 |
| Residual Std. Error | 2.699 (df = 390) |
| F Statistic | 186.402*** (df = 4; 390) |
| Note: | p<0.1; p<0.05; p<0.01 |
| Modèle | \(R^2\) |
|---|---|
| Absences | 0,001 |
| Études de la mère | 0,05 |
| Absences + Études de la mère | 0,05 |
| Études de la mère + Age + Sexe | 0,06 |
| Absences + Études de la mère + Études du père + Age + Sexe | 0,07 |
| T1 | 0,64 |
| T1 + Études de la mère + Age + Sexe | 0,65 |
Francis Galton est considéré comme le père de la régression linéaire (1886). Il en a fait le premier usage "moderne" et lui a donné son nom actuel, même si la méthode avait déjà été utilisée auparavant, notamment par Laplace au XVIIIème siècle.
Cousin de Darwin, fondateur de l'eugénisme, Galton avait notamment employé cette méthode pour décrire le phénomène de « régression vers la moyenne », qu'il décrivait comme un phénomène de régression vers la « médiocrité ». Ainsi, la taille des enfants de deux parents de grande taille était plus proche de la moyenne de la population.
Ce phénomène est utile pour interpréter des séries temporelles : lorsqu'on mesure une variable (chômage, rendement d'une entreprise, etc.) une première fois et que la valeur s'avère être extrêmement faible ou élevée, il faut s'attendre à ce que la seconde mesure soit plus proche de la moyenne.
Daniel Kahneman ("prix Nobel" d'économie en 2002) donne l'exemple suivant comme une mauvaise interprétation de la régression vers la moyenne.
Dans une base aérienne militaire en Israël, Kahneman discute avec l'instructeur de vol qui lui tient ces propos :
Lorsque je félicite un cadet après une bonne manœuvre, ses performances sont en général plus mauvaises la fois suivante. Lorsque je punis un cadet après une mauvaise manœuvre, la suivante est presque toujours meilleure. La punition est dont plus efficace que la récompense.
Comment la régression vers la moyenne invalide-t-elle cette conclusion ?
Les méthodes de régression (y compris linéaire) sont très souvent utilisées en économétrie, ainsi que dans la sociologie anglo-saxonne. Cette méthode fait davantage polémique en France. Selon une citation que François Simiand attribuait à Maurice Halbwachs, « cette méthode conduit à étudier et comparer les comportements d'un renne au Sahara et d'un chameau au pôle Nord » [Desrosières, 2001].
Cette critique souligne le fait que, dans le monde social, les choses sont rarement égales par ailleurs. Si les variables explicatives d'une régression intègrent la profession et le revenu, le modèle suppose qu'un ouvrier puisse gagner 10 000€ ou qu'un cadre gagne le salaire minimum. Autre exemple, si les variables explicatives intègrent le revenu et le niveau de responsabilité professionnelle des femmes (pour raisonner « à poste égal »), le modèle suppose que les hommes et les femmes ont potentiellement autant de chances d'avoir des postes à haute responsabilité, ce qui ne décrit nullement la réalité sociale.
Pour exagérer, on pourrait dire que s'opposent deux conceptions de la sociologie : d'une part, identifier des « effets purs » liés à une seule variable ; de l'autre, étudier les « structures », c'est-à-dire décrire les interactions entre différentes variables.