B.2 Régression linéaire par les moindres carrés ordinaires et espérance conditionnelle dans le cas des variables discrètes ordonnées
À retenir
Lorsque l’on utilise les moindres carrés ordinaires pour faire la régression linéaire d’une variable aléatoire réelle unidimensionnelle \(Y\) sur une variable aléatoire réelle unidimensionnelle \(X\) qui prend ses valeurs dans un sous-ensembe fini de l’ensemble des entiers naturels \(\mathbb{N}\), le coefficient portant sur la variable \(X\) est une moyenne pondérée de termes qui correspondent à l’augmentation de l’espérance conditionnelle de \(Y\) sachant \(X\) lorsque l’on augmente la variable indépendante d’une unité \(\mathbb{E}[Y \mid X=x+1]-\mathbb{E}[Y \mid X=x]\).
La démonstration de ce fait est un peu fastidieuse et calculatoire. On commence par considérer la covariance de \(X\) et \(Y\). Sans perte de généralité, et quitte à considérer \(Y-\mathbb{E}[Y]\), on est toujours en droit de supposer \(\mathbb{E}[Y]=0\). On suppose également que les valeurs de \(X\) se trouvent dans un certain ensemble \(\{0,\dots,d\}\). Alors : \[\begin{align} \mathcal{C}(X,Y)&= \mathbb{E}[XY] \nonumber \\ &= \mathbb{E}\left[\mathbb{E}[XY \mid X]\right] \nonumber \\ &= \mathbb{E}\left[X \mathbb{E}[Y \mid X]\right] \nonumber \\ &= \mathbb{E}\left[X \left\{\mathbb{E}[Y \mid X] - \mathbb{E}[Y\mid X=0]\right\}\right]+\mathbb{E}\left[X\right] \mathbb{E}[Y \mid X=0] \nonumber \end{align}\] où la première égalité découle simplement de la nullité de l’espérance de \(Y\), la deuxième est une application de la loi des espérances itérées, la troisième utilise les propriétés fondamentales de l’espérance conditionnelle, et la quatrième repose seulement sur la linéarité de l’espérance, et sur l’égalité \(\mathbb{E}[Y \mid X]=\mathbb{E}[Y \mid X]+ \mathbb{E}[Y \mid X=0] - \mathbb{E}[Y \mid X=0]\).
On note pour tout \(x\) entier naturel \(p(x):=\mathbb{P}(X=x)\), \(h(x):=\mathbb{E}[Y \mid X=x]\), et pour \(x \geq 1\), \(\Delta(x):=h(x)-h(x-1)\). Le premier terme peut se décomposer : \[\begin{align} \mathbb{E}\left[X \left\{\mathbb{E}[Y \mid X] - \mathbb{E}[Y\mid X=0]\right\}\right]&= \sum_{x=0}^\infty \left\{h(x) - h(0)\right\} x p(x) \nonumber\\ &= \sum_{x=1}^d \left\{h(x) - h(0)\right\} x p(x) \nonumber\\ &= \sum_{x=1}^d \sum_{s=1}^x \Delta(s) x p(x) \nonumber \\ &= \sum_{x=1}^d \sum_{s=1}^d \Delta(s) \mathbf{1} \{s \leq x\} x p(x) \nonumber \\ &= \sum_{s=1}^d \sum_{x=1}^d \Delta(s) \mathbf{1} \{s \leq x\} x p(x) \nonumber \\ &= \sum_{s=1}^d \Delta(s) \sum_{x=s}^d x p(x) \nonumber \\ &= \sum_{s=1}^d \Delta(s) \mathbb{P}(X \geq s) \mathbb{E}[X \mid X \geq s] \nonumber \end{align}\] où \(\mathbf{1}\{s \leq x\}\) est une quantité qui vaut 1 si \(s \leq x\) et 0 sinon. La première égalité revient à la définition de l’espérance pour les variables discrètes. La deuxième tire parti du fait que \(h(0)-h(0)=0\), donc le terme correspondant à \(x=0\) est nul et ne contribue pas à la somme. La troisième fait appel à l’égalité \(h(x)-h(0)=\sum_{s=1}^x \{h(s)-h(s-1)\}\) valable pour \(s \geq 1\). La quatrième utilise le fait que \(\mathbf{1}\{s \leq x\}=0\) dés lors que \(s > x\). La cinquième est justifiée puisque l’on est en droit d’intervertir les signes somme. La sixième provient de ce que \(\mathbf{1}\{s \leq x\}=0\) dés lors que \(x < s\). Enfin, la dernière exploite l’égalité \(\frac{p(x)}{\sum_{t=s}^\infty p(t)}=\mathbb{P}(X=s \mid X \geq s)\) valable pour \(x \geq s\), et la définition de l’espérance conditionnelle.
Par ailleurs, on sait que \(\mathbb{E}[Y]=0\), donc : \[\begin{align} \mathbb{E}[Y \mid X=0] &= \mathbb{E}[Y \mid X=0] - \mathbb{E}[Y] \nonumber \\ &= \mathbb{E}[Y \mid X=0] - \mathbb{E}[\mathbb{E}[Y \mid X]] \nonumber \\ &= \mathbb{E}[\mathbb{E}[Y \mid X=0] - \mathbb{E}[Y \mid X]]\nonumber \\ &= \sum_{x=1}^d \left\{h(0) - h(x)\right\}p(x) \nonumber \\ &= \sum_{x=1}^d p(x) \sum_{s=1}^x \left\{h(x-1)-h(x)\right\} \nonumber\\ &= -\sum_{x=1}^d \sum_{s=1}^d \Delta(s) \mathbf{1}\{s \leq x\} p(x) \nonumber \\ &= -\sum_{s=1}^d \sum_{x=1}^d \Delta(s) \mathbf{1}\{s \leq x\} p(x) \nonumber \\ &= - \sum_{s=1}^d \Delta(s) \sum_{x=s}^d p(x) \nonumber \\ &= - \sum_{s=1}^d \Delta(s) \mathbb{P}(X \geq s) \nonumber \end{align}\] où la justification des égalités est très similaire au travail précédent.
On en déduit : \[\mathcal{C}(X,Y)=\sum_{x=1}^d \left\{\mathbb{E}[Y \mid X=x] - \mathbb{E}[Y \mid X=x-1]\right\} \mathbb{P}(X \geq x)\left\{\mathbb{E}[X \mid X\geq x] - \mathbb{E}[X]\right\}\] L’expression de la variance \(\mathcal{V}(X)\) s’obtient en reprenant l’égalité précédente dans le cas \(Y = X\). En définitive : \[\beta = \frac{\sum_{x=0}^{d-1} \left\{\mathbb{E}[Y \mid X=x+1] - \mathbb{E}[Y \mid X=x]\right\} \mathbb{P}(X > x)\left\{\mathbb{E}[X \mid X > x] - \mathbb{E}[X]\right\}}{\sum_{x=0}^{d-1} \mathbb{P}(X > x)\left\{\mathbb{E}[X \mid X > x] - \mathbb{E}[X]\right\}}\] qui est bien une moyenne pondérée de termes de la forme \(\mathbb{E}[Y \mid X=x+1] - \mathbb{E}[Y \mid X=x]\) avec des poids positifs égaux à \(\mathbb{P}(X > x)\left\{\mathbb{E}[X \mid X > x] - \mathbb{E}[X]\right\}\).
Le fragment de code suivant permet de vérifier le résultat précédent sur les données du Current Population Survey, et de visualiser les poids en question.
library(AER,
quietly=TRUE)
library(data.table,
quietly=TRUE)
library(ggplot2,
quietly=TRUE)
#On charge dans un premier temps les données du CPS 1985
data("CPS1985")
<-data.table(CPS1985)
CPS
#On estime la régression du salaire horaire sur l'éducation
<-lm(wage~education,
reg_wage_educdata=CPS)
reg_wage_educ
##
## Call:
## lm(formula = wage ~ education, data = CPS)
##
## Coefficients:
## (Intercept) education
## -0.7460 0.7505
#On estime la moyenne du salaire pour chaque niveau d'éducation
<-CPS[,
stat_desc_educlist(salaire_moyen=mean(wage)),
="education"]
bysetorder(stat_desc_educ,-education)
#On calcule la différence entre le salaire moyen à un niveau d'éducation, et
# le salaire moyen avec un an de plus
$diff_salaire_moyen<-shift(stat_desc_educ$salaire_moyen,
stat_desc_eductype="lag")-
$salaire_moyen
stat_desc_educ
#On calcule pour chaque niveau d'éducation la part des salariés dont le niveau
# d'éducation est strictement plus grand ainsi que leur éducation moyenne
<-function(education_level){
share_highereducation
c(nrow(CPS[education>education_level,])/nrow(CPS),
mean(CPS[education>education_level]$education))
}
stat_desc_educ[,c("part_pluseduque",
"education_pluseduque"):=
transpose(lapply(stat_desc_educ$education,
share_highereducation))]
#On calcule enfin les poids
$poids<-stat_desc_educ$part_pluseduque*
stat_desc_educ$education_pluseduque-mean(CPS$education))/
(stat_desc_educsum(stat_desc_educ$part_pluseduque*
$education_pluseduque-mean(CPS$education)),
(stat_desc_educna.rm=TRUE)
#On calcule la moyenne des variations locales de salaire moyen avec les
# poids appropriés
<-
moyenne_diff_salaire_moyen
stat_desc_educ[,list(moyenne_diff_salaire_moyen=sum(diff_salaire_moyen*
poids,na.rm=TRUE)/
sum(poids,
na.rm = TRUE))]
#On compare enfin la moyenne des variations locales de salaire moyen avec les
# poids appropriés avec le coefficient issu de la régression
all.equal(as.numeric(moyenne_diff_salaire_moyen),
as.numeric(reg_wage_educ$coefficients["education"]))
## [1] TRUE
#Visualisation
#Visualisation du nuage de points pour la régression du salaire moyen par niveau
# d'éducation
<-ggplot(data=stat_desc_educ,
reg_lineaes(x=education))+
geom_line(color="red",
linewidth=3,
aes(x=education,
y=reg_wage_educ$coefficients["(Intercept)"]+
$coefficients["education"]*
reg_wage_educ+
education))theme_classic()+
coord_cartesian(ylim=c(-5,30),
xlim=c(2.5,20))+
xlab("Années d'éducation")+
theme(text=element_text(size=32),
strip.text.x = element_text(size=32),
panel.grid.minor = element_line(colour="lightgray",
linewidth=0.01),
panel.grid.major = element_line(colour="lightgray",
linewidth=0.01))
+
reg_linegeom_point(aes(x=education,
y=salaire_moyen),
color="black",
size=5,
alpha=0.5)+
ylab("Salaire horaire moyen ($ par heure)")
#Visualisation des poids
ggplot(data=stat_desc_educ,
aes(x=education,
y=poids))+
geom_col(color="gray",
fill="gray")+
scale_y_continuous(labels = scales::percent)+
theme_classic()+
coord_cartesian(xlim=c(2.5,20))+
xlab("Années d'éducation")+
ylab("Poids dans la régression")+
theme(text=element_text(size=32),
strip.text.x = element_text(size=32),
panel.grid.minor = element_line(colour="lightgray",
linewidth=0.01),
panel.grid.major = element_line(colour="lightgray",
linewidth=0.01))
## Warning: Removed 1 rows containing missing values (`position_stack()`).
Un résultat semblable est disponible lorsque \(X\) est une variable continue. La lectrice ou le lecteur familier avec le calcul différentiel et intégral pourra en adaptant la preuve proposée précédemment se convaincre que sous des hypothèses souvent raisonnables en pratique : \[\beta=\frac{\int_{\mathcal{X}} \frac{\partial}{\partial x}\left\{\mathbb{E}[Y \mid X=x]\right\} \mathbb{P}(X > x) \left\{\mathbb{E}[X \mid X > x]-\mathbb{E}[X]\right\}\mathrm{d}x}{\int_{\mathcal{X}}\mathbb{P}(X > x) \left\{\mathbb{E}[X \mid X > x]-\mathbb{E}[X]\right\}\mathrm{d}x}\]