close

Se connecter

Se connecter avec OpenID

Chapitre 2 : Retour sur les hypothèse du modèle

IntégréTéléchargement
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Chapitre 2 : Retour sur les hypothèse du modèle
linéaire multiple
Léonard Moulin
Université Paris 13, Sorbonne Paris Cité
M1 EEM – Économétrie appliquée
2015/2016
1 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
1
2
3
4
5
Hétéroscédasticité
Définition
Détection
Correction
Autocorrélation
Définition
Détection
Correction
Multicolinéarité
Définition
Détection
Correction
Non normalité des résidus
Définition
Détection
Correction
Endogenéité
Définition
Variables instrumentales
Le niveau d’éducation affecte-t-il les salaires ?
2 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
1
Définition
Détection
Correction
Hétéroscédasticité
Définition
Détection
Correction
3 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
On parle d’homoscédasticité lorsque la variance des termes
d’erreurs est la même pour l’ensemble des observations, i.e. pour
toutes valeurs des variables explicatives.
Hétéroscédasticité
L’hétéroscédasticité caractérise une situation dans laquelle les
dispersions des perturbations individuelles ne sont pas identiques : :
Var[i |X ] = σ 2 , ∀i
⇒ L’hétéroscédasticité ne biaise pas l’estimation par MCO des
coefficients, mais révèle l’inefficacité des coefficients (les
écarts-types trouvés sont sur-estimés ou sous-estimés).
C’est une situation que l’on rencontre fréquemment dans les
données, il est donc important de savoir la détecter et la corriger.
4 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
L’hétéroscédasticité est généralement due à une asymétrie dans la
distribution d’une ou de plusieurs variables explicatives
(exemples : revenu, niveau d’éducation, etc.).
Si l’on s’intéresse à la part du revenu dépensé en loisirs :
les familles à faibles revenus auront des dépenses en loisirs
limitées et donc une variabilité faible de celles-ci ;
les familles qui ont des revenus plus importants auront des
dépenses en loisirs plus élevées et une variabilité de celles-ci plus
importante.
5 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
6 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Dans la suite nous utilisons le fichier labour.dta contenant 569
observations portant sur des firmes belges en 1996. Le fichier
contient 4 variables :
1
2
3
4
capital
labor :
output
capital
: le total des actifs (en millions d’euros) ;
le nombre de salariés ;
: la valeur ajoutée de l’entreprise (en millions d’euros) ;
: le coût d’un salarié pour l’entreprise (en milliers d’euros).
Chargeons les données dans R :
> library(foreign)
> labour <- read.dta("/labour.dta")
> labour[1:3,]
> attach(labour)
capital labor
output
wage
1 2.606563
184 9.250759 43.08031
2 1.323237
91 3.664310 27.78002
3 22.093693
426 28.781517 44.46775
Effectuons quelques statistiques descriptives :
> summary(labour)
capital
Min.
:
0.0022
1st Qu.:
0.9834
Median :
2.1993
Mean
: 11.5154
3rd Qu.:
6.2146
Max.
:1786.8992
labor
Min.
:
1.0
1st Qu.:
45.0
Median :
86.0
Mean
: 201.1
3rd Qu.: 176.0
Max.
:10661.0
output
Min.
:
0.0263
1st Qu.:
2.6663
Median :
4.6026
Mean
: 14.7192
3rd Qu.:
9.7421
Max.
:1279.3717
wage
Min.
: 11.73
1st Qu.: 30.81
Median : 35.98
Mean
: 38.63
3rd Qu.: 42.90
Max.
:188.43
7 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
On estime ensuite le modèle de la forme :
labori = b0 + b1 wagei + b2 outputi + b3 capitali + i
(1)
Effectuons une première régression :
> reg11 <- lm(labor ~ wage + output + capital, data=labour)
> summary(reg11)
Call:
lm(formula = labor ~ wage + output + capital, data = labour)
Residuals:
Min
1Q
Median
-1267.04
-54.11
-14.02
3Q
37.20
Max
1560.48
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 287.7186
19.6418
14.65
<2e-16
wage
-6.7419
0.5014 -13.45
<2e-16
output
15.4005
0.3556
43.30
<2e-16
capital
-4.5905
0.2690 -17.07
<2e-16
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05
***
***
***
***
‘.’ 0.1 ‘ ’ 1
Residual standard error: 156.3 on 565 degrees of freedom
Multiple R-squared: 0.9352,
Adjusted R-squared: 0.9348
F-statistic: 2716 on 3 and 565 DF, p-value: < 2.2e-16
8 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Détection graphique
>
>
>
>
par(mfrow=c(2,2))
plot(reg11)
dev.copy(png,"/plotreg11.png")
dev.off()
9 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Détection formelle
La présence d’hétéroscédasticité étant fortement pressentie
graphiquement, il convient maintenant de vérifier notre intuition.
On utilise pour cela un test de Breusch-Pagan :
> install.packages("lmtest")
> library(lmtest)
> bptest(reg11)
studentized Breusch-Pagan test
data: reg11
BP = 331.07, df = 3, p-value < 2.2e-16
Rappel : on rejette l’hypothèse nulle d’un test si la p-value est
inférieure à 0, 05.
⇒ Le test de Breusch-Pagan rejette l’hypothèse nulle
d’homoscédasticité des résidus.
D’autres tests existent pour vérifier la non violation de
l’hypothèse d’homoscédasticité des résidus (test de White, test de
Goldfeld-Quandt, etc.).
10 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Une fois la forme hétéroscédastique des résidus mis en évidence, il
convient désormais de corriger nos estimations.
Plusieurs solutions possibles :
1
2
3
4
changer la
corriger la
utiliser les
utiliser les
spécification du modèle estimé ;
matrice de variance-covariance ;
moindres carrés pondérés (MCP) ;
moindres carrés quasi-généralisés (MCQG).
⇒ Les MCP et les MCQG permettent de fournir des estimateurs
plus efficaces mais nécessitent de connaı̂tre la forme de
l’hétéroscédasticité. Or, dans la plupart des cas, on ne sait rien de
la matrice de variance-covariance de nos termes d’erreur.
11 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Changer la spécification du modèle
L’hétéroscédasticité des résidus peut provenir d’une mauvaise
spécification du modèle.
> resettest(reg11)
RESET test
data: reg11
RESET = 52.272, df1 = 2, df2 = 563, p-value < 2.2e-16
⇒ Le test RESET confirme l’intuition initiale concernant la
mauvaise spécification de notre modèle.
N.B. : d’autres tests existent pour tester la validité de la forme
fonctionnelle retenue dans la stratégie d’estimation (rainbow test,
Harvey-Collier test, etc.).
Considérons maintenant le modèle de la forme :
ln(labori ) = b0 + b1 ln(wagei ) + b2 ln(outputi ) + b3 ln(capitali ) + i (2)
12 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Changer la spécification du modèle
> reg12 <- lm(log(labor) ~ log(wage) + log(output) + log(capital), data=labour)
> summary(reg12)
Call:
lm(formula = log(labor) ~ log(wage) + log(output) + log(capital),
data = labour)
Residuals:
Min
1Q Median
-3.9744 -0.1641 0.1079
3Q
Max
0.2595 1.9466
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept)
6.177290
0.246211 25.089
log(wage)
-0.927764
0.071405 -12.993
log(output)
0.990047
0.026410 37.487
log(capital) -0.003697
0.018770 -0.197
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’
<2e-16 ***
<2e-16 ***
<2e-16 ***
0.844
0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.4653 on 565 degrees of freedom
Multiple R-squared: 0.843,
Adjusted R-squared: 0.8421
F-statistic: 1011 on 3 and 565 DF, p-value: < 2.2e-16
13 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Changer la spécification du modèle
> bptest(reg12)
studentized Breusch-Pagan test
data: reg12
BP = 7.7269, df = 3, p-value = 0.05201
> plot(reg12)
14 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Correction de la matrice de variance-covariance
Une autre solution consiste à garder l’estimateur des MCO usuel
en corrigeant la matrice de variance-covariance.
Cette méthode permet de calculer des écarts-types robustes à
l’hétéroscédasticité.
>
>
>
>
install.packages("sandwich")
library(sandwich)
?vcovHC
round(vcovHC(reg11, type="HC3"), 4)
(Intercept)
(Intercept)
wage
output
capital
wage
output capital
7831.6887 -231.0167 115.8990 -43.8408
-231.0167
7.1022 -5.0322
2.1089
115.8990
-5.0322 15.5713 -11.5487
-43.8408
2.1089 -11.5487 11.2981
15 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Correction de la matrice de variance-covariance
> reg13 <- coeftest(reg11, vcov = vcovHC(reg11, type = "HC3"))
> reg13
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 287.7186
88.4968 3.2512
wage
-6.7419
2.6650 -2.5298
output
15.4005
3.9461 3.9028
capital
-4.5905
3.3613 -1.3657
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01
0.0012177 **
0.0116833 *
0.0001066 ***
0.1725762
‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
On peut maintenant calculer la valeur de la statistique F ajustée.
> waldtest(reg12, vcov=vcovHC(reg11, type="HC3"))
Wald test
Model 1: labor ~ wage + output + capital
Model 2: labor ~ 1
Res.Df Df
F
Pr(>F)
1
565
2
568 -3 11.158 4.012e-07 ***
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
16 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Moindres carrés pondérés
Une autre manière de procéder est d’utiliser les moindres carrés
pondérés.
On transforme le modèle en un modèle à erreurs
homoscédastiques.
La procédure est la suivante :
1
2
3
4
On estime les MCO sur le modèle original.
On régresse ensuite le logarithme des résidus au carré de
l’estimation par les MCO (contenant de l’hétéroscédasticité) sur
toutes les variables explicatives.
À partir de là, on calcule ensuite l’exponentiel des valeurs prédites
du modèle.
On applique ensuite les MCO en pondérant nos observations par
l’inverse de l’exponentiel des valeurs prédites.
17 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Moindres carrés pondérés
> reg14 <- lm(log(reg12$res^2) ~ log(wage) + log(output) + log(capital), data=labour)
> summary(reg14)
Call:
lm(formula = log(reg12$res^2) ~ log(wage) + log(output) + log(capital), data = labour)
Residuals:
Min
1Q
Median
-11.7447 -0.7645
0.3281
3Q
Max
1.1430
6.7871
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -3.25382
1.18545 -2.745 0.006247 **
log(wage)
-0.06105
0.34380 -0.178 0.859112
log(output)
0.26695
0.12716
2.099 0.036232 *
log(capital) -0.33069
0.09037 -3.659 0.000277 ***
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.24 on 565 degrees of freedom
Multiple R-squared: 0.02449,
Adjusted R-squared:
F-statistic: 4.728 on 3 and 565 DF, p-value: 0.002876
0.01931
18 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Moindres carrés pondérés
> hhat <- exp(fitted(reg14))
> reg15 <- lm(log(labor) ~ log(wage) + log(output) + log(capital), data=labour,
weights=hhat^-1)
> summary(reg15)
Call:
lm(formula = log(labor) ~ log(wage) + log(output) + log(capital),
data = labour, weights = hhat^-1)
Weighted Residuals:
Min
1Q
Median
-29.1086 -0.7875
0.4852
3Q
Max
1.2394 10.4219
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept)
5.89536
0.24764 23.806 < 2e-16 ***
log(wage)
-0.85558
0.07188 -11.903 < 2e-16 ***
log(output)
1.03461
0.02731 37.890 < 2e-16 ***
log(capital) -0.05686
0.02158 -2.636 0.00863 **
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.509 on 565 degrees of freedom
Multiple R-squared: 0.8509,
Adjusted R-squared: 0.8501
F-statistic: 1074 on 3 and 565 DF, p-value: < 2.2e-16
19 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Moindres carrés quasi-généralisés
Une autre manière de procéder est d’utiliser les moindres carrés
quasi-généralisés (ou moindres carrés estimés).
La procédure est la suivante :
1
2
3
4
On estime les MCO sur le modèle original.
On régresse ensuite le logarithme des résidus au carré de
l’estimation par les MCO (contenant de l’hétéroscédasticité) sur
toutes les variables explicatives.
À partir de là, on calcule ensuite l’exponentiel des valeurs prédites
du modèle.
On estime ensuite notre modèle par la méthode des MCO en
appliquant une transformation par l’inverse de la racine carrée de
l’exponentiel des valeurs prédites sur chacune des variables.
20 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Moindres carrés quasi-généralisés
> reg16 <- lm(log(labor)/hhat^0.5 ~ -1 + I(1/hhat^0.5) + I(log(wage)/hhat^0.5) +
I(log(output)/hhat^0.5) + I(log(capital)/hhat^0.5), data=labour)
> summary(reg16)
Call:
lm(formula = log(labor)/hhat^0.5 ~ -1 + I(1/hhat^0.5) + I(log(wage)/hhat^0.5) +
I(log(output)/hhat^0.5) + I(log(capital)/hhat^0.5), data = labour)
Residuals:
Min
1Q
Median
-29.1086 -0.7875
0.4852
3Q
Max
1.2394 10.4219
Coefficients:
Estimate Std. Error t value Pr(>|t|)
I(1/hhat^0.5)
5.89536
0.24764 23.806 < 2e-16 ***
I(log(wage)/hhat^0.5)
-0.85558
0.07188 -11.903 < 2e-16 ***
I(log(output)/hhat^0.5)
1.03461
0.02731 37.890 < 2e-16 ***
I(log(capital)/hhat^0.5) -0.05686
0.02158 -2.636 0.00863 **
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.509 on 565 degrees of freedom
Multiple R-squared: 0.9903,
Adjusted R-squared: 0.9902
21 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Les moindres carrés pondérés et les moindres carrés
quasi-généralisés nécessitent de connaı̂tre la forme de
l’hétéroscédasticité.
Or, dans la plupart des cas, on ne peut rien savoir de la matrice
de variance-covariance de nos termes d’erreur.
22 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
2
Définition
Détection
Correction
Autocorrélation
Définition
Détection
Correction
23 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Autocorrélation
L’autocorrélation caractérise une situation dans laquelle les termes
d’erreurs ne sont pas tirés indépendamment les uns des autres :
Cov[i , j |X ] = E[i , j |X ] 6= 0, ∀i 6= j
⇒ L’autocorrélation ne biaise pas l’estimation par MCO des
coefficients, mais ces derniers ne sont plus des estimateurs à
variance minimale.
Lorsque l’on a de l’autocorrélation, les écarts-types des MCO, les
intervalles de confiance des coefficients estimés ainsi que les tests
usuels ne sont plus valides.
24 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
On rencontre régulièrement des problèmes d’autocorrélation des
erreurs dans les séries temporelles.
On parle d’autocorrélation des erreurs lorsque celles-ci sont liées
par un processus de reproduction.
Plusieurs explications possible :
omission d’une ou de plusieurs variables explicatives ;
mauvaise spécification du modèle ;
autocorrélation artificielle due à des opérations sur séries
chronologiques (lissage par moyenne mobile par exemple).
25 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Série chronologique
Le modèle linéaire multiple sur plusieurs périodes s’écrit :
yt = b1 x1,t + b2 x2,t + · · · + bk −1 xk −1,t + bk + t
On utilise les séries chronologiques en économie lorsque l’on s’intéresse
à l’évolution temporelle de certaines variables (PIB, chômage, etc.).
Modèle avec retard
Un modèle incluant des variables de retard prend en compte des
observations passées de certaines variables :
yt = b0 + b1 xt + b2 xt−1 + · · · + bk xt−(k −1) + t
Modèle avec tendances
Une modélisation économétrique avec tendance inclus le fait que des
variables peuvent être liées entre elles par une tendance temporelle :
yt = b0 + b1 xt + b2 t + t
26 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Dans la suite nous utilisons le fichier icecream.dta contenant 30
observations portant sur la consommation de glaces entre le 18
mars 1951 et le 11 juillet 1953 (avec une observation toutes les 4
semaines). Le fichier contient 5 variables :
1
2
3
4
5
cons : la consommation de glaces (en demi-litre) ;
income : le revenu familial par semaine (en dollars US) ;
price : le price de la glace (en demi-litre) ;
temp : la température moyenne (en degrés Fahrenheit) ;
time : la variable de temps.
Chargeons les données dans R :
> library(foreign)
> icecream <- read.dta("/icecream.dta")
> icecream[1:1,]
time cons price income temp
1
1 0.386 0.270
78
41
Effectuons quelques statistiques descriptives :
> summary(icecream)
time
cons
Min.
: 1.00
Min.
:0.2560
1st Qu.: 8.25
1st Qu.:0.3113
Median :15.50
Median :0.3515
Mean
:15.50
Mean
:0.3594
3rd Qu.:22.75
3rd Qu.:0.3912
Max.
:30.00
Max.
:0.5480
price
Min.
:0.2600
1st Qu.:0.2685
Median :0.2770
Mean
:0.2753
3rd Qu.:0.2815
Max.
:0.2920
income
Min.
:76.00
1st Qu.:79.25
Median :83.50
Mean
:84.60
3rd Qu.:89.25
Max.
:96.00
temp
Min.
:24.00
1st Qu.:32.25
Median :49.50
Mean
:49.10
3rd Qu.:63.75
Max.
:72.00
27 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
>
>
>
>
Définition
Détection
Correction
attach(icecream)
plot(cons ~ time, ylab="consumption", xlab="time", pch=20)
dev.copy(png,"/ploticecream.png")
dev.off()
28 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
On estime le modèle de la forme :
consumptiont = b0 + b1 pricet + b2 incomet + b3 tempt + t
(3)
Effectuons une première régression :
> reg17 <- lm(cons ~ price + income + temp)
> summary(reg17)
Call:
lm(formula = cons ~ price + income + temp)
Residuals:
Min
1Q
Median
-0.065302 -0.011873 0.002737
3Q
Max
0.015953 0.078986
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.1973149 0.2702161
0.730 0.47179
price
-1.0444131 0.8343570 -1.252 0.22180
income
0.0033078 0.0011714
2.824 0.00899 **
temp
0.0034584 0.0004455
7.762 3.1e-08 ***
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.03683 on 26 degrees of freedom
Multiple R-squared: 0.719,
Adjusted R-squared: 0.6866
F-statistic: 22.17 on 3 and 26 DF, p-value: 2.451e-07
29 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Détection graphique
> plot(residuals(reg17), pch=20)
> dev.copy(png,"/plotresidualsreg17.png")
> dev.off()
30 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Détection formelle
Pour détecter la présence d’autocorrélation des erreurs on utilise
le test de Durbin-Watson.
Le test de Durbin-Watson permet de détecter une autocorrélation
des résidus d’ordre 1 de la forme :
t = ρt−1 + υt , avec υt ∼ N 0, συ2
On effectue alors un test de la forme :
H0 : ρ = 0
H1 : ρ 6= 0
La commande sous R est la suivante :
> library(lmtest)
> dwtest(reg17)
Durbin-Watson test
data: reg17
DW = 1.0212, p-value = 0.0003024
alternative hypothesis: true autocorrelation is greater than 0
⇒ Le test de Durbin-Watson rejette l’hypothèse nulle d’absence
d’autocorrélation des erreurs d’ordre 1.
31 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Détection formelle
Le test de Durbin-Watson souffre cependant d’un certain nombre
de limites :
Le modèle estimé doit comporter une constante.
Il doit contenir au minimum 15 observations.
On ne teste que l’autocorrélation d’ordre 1.
On ne peut pas inclure de variable expliquée retardée dans les
variables explicatives.
Il peut être biaisé dans la mesure où il calcule une statistique à
partir des résidus.
Le test de Breusch-Godfrey offre une approche plus flexible.
Ce test est valide pour les modèles comprenant une variable
expliquée retardée parmi les variables explicatives et il permet de
tester une autocorrélation d’un ordre supérieur à 1.
La commande R est la suivante :
> bgtest(reg17, order=1)
Breusch-Godfrey test for serial correlation of order up to 1
data: reg17
LM test = 4.2371, df = 1, p-value = 0.03955
32 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Il existe différentes manières de corriger de l’autocorrélation des
résidus :
1
2
3
4
5
6
7
ajouter ou supprimer des variables explicatives (et en particulier
des variables retardées) ;
corriger la matrice de variance-covariance en calculant des
écarts-types robustes à l’autocorrélation des résidus ;
changer de forme fonctionnelle ;
augmenter l’intervalle entre les observations ;
utiliser la procédure de balayage de Hildreth-Lu ;
utiliser la procédure itérative de Cochrane-Orcutt ;
appliquer les MCG ou MCQG.
33 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Ajout d’une variable retardée
On commence par créer la variable retardée tempt−1 :
> install.packages("quantmod")
> library(quantmod)
> templag <- Lag(temp, k = 1)
On cherche ensuite à estimer le modèle suivant :
consumptiont
= b0 + b1 pricet + b2 incomet + b3 tempt
+b4 tempt−1 + t
(4)
34 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Ajout d’une variable retardée
> reg18 <- lm(cons ~ price + income + temp + templag)
> summary(reg18)
Call:
lm(formula = cons ~ price + income + temp + templag)
Residuals:
Min
1Q
Median
-0.049070 -0.015391 -0.006745
3Q
Max
0.014766 0.080892
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.1894822 0.2323169
0.816 0.42274
price
-0.8383021 0.6880205 -1.218 0.23490
income
0.0028673 0.0010533
2.722 0.01189 *
temp
0.0053321 0.0006704
7.953 3.5e-08 ***
templag
-0.0022039 0.0007307 -3.016 0.00597 **
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.02987 on 24 degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared: 0.8285,
Adjusted R-squared: 0.7999
F-statistic: 28.98 on 4 and 24 DF, p-value: 7.099e-09
35 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Ajout d’une variable retardée
On vérifie ensuite que le modèle estimé ne contient plus
d’autocorrélation des résidus
> bgtest(reg18)
Breusch-Godfrey test for serial correlation of order up to 1
data: reg18
LM test = 0.11985, df = 1, p-value = 0.7292
⇒ Le test de Breusch-Godfrey rejette l’hypothèse alternative
d’autocorrélation des erreurs d’ordre 1.
36 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Correction de la matrice de variance-covariance
Une autre solution consiste à garder l’estimateur des MCO usuel
en corrigeant la matrice de variance-covariance.
Cette méthode permet de calculer des écarts-types robustes à
l’autocorrélation des résidus.
> round(vcovHAC(reg17), 4)
(Intercept)
(Intercept)
price
income
temp
price income
temp
0.1267 -0.3417 -4e-04 0e+00
-0.3417 1.0370 6e-04 -1e-04
-0.0004 0.0006 0e+00 0e+00
0.0000 -0.0001 0e+00 0e+00
37 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Correction de la matrice de variance-covariance
> reg19 <- coeftest(reg17, vcov = vcovHAC(reg17))
> reg19
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.19731489 0.35590027 0.5544
0.58404
price
-1.04441312 1.01832242 -1.0256
0.31452
income
0.00330776 0.00138029 2.3964
0.02404 *
temp
0.00345843 0.00038466 8.9909 1.851e-09 ***
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
On peut maintenant calculer la valeur de la statistique F ajustée.
> waldtest(reg17, vcov=vcovHAC(reg17))
Wald test
Model 1: cons ~ price + income + temp
Model 2: cons ~ 1
Res.Df Df
F
Pr(>F)
1
26
2
29 -3 32.391 6.197e-09 ***
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
38 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
3
Définition
Détection
Correction
Multicolinéarité
Définition
Détection
Correction
39 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
La colinéarité entre variables explicatives advient lorsque celles-ci
sont liées entre elles.
Par exemple, si l’on s’intéresse à l’effet de la catégorie
socioprofessionnelle et au niveau d’éducation sur le revenu il est
probable qu’on mette en évidence une relation entre ces deux
variables explicatives.
Deux types de colinéarité :
1
La colinéarité parfaite : au moins une des variables explicatives
peut s’écrire comme une combinaison linéaire d’une ou de
plusieurs variables explicatives. Dans ce cas, l’estimation par les
MCO est impossible ( X est singulière).
2
La colinéarité partielle : les variables sont fortement mais non
parfaitement corrélées. Dans ce cas, l’estimation des MCO
demeure possible mais on a un problème de précision statistique
(au niveau des coefficients estimés, des p-value, des écarts-types,
etc.).
(n,k )
40 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Dans la suite nous utilisons le fichier duncan.txt contenant 45
observations portant sur des emplois américains en 1950. Le
fichier contient 4 variables :
1
2
3
4
type : le type d’emploi, prof pour les fonctions managériales, wc
pour les cols blancs et bc les cols bleus ;
income : pourcentage des hommes gagnant plus de 3500$ ;
education : pourcentage des hommes qui ont un diplôme du
supérieur ;
prestige : taux de prestige associé à chaque emploi.
Chargeons les données dans R :
>
>
>
>
>
install.packages("car")
library(car)
duncan <- read.table("/duncan.txt", header=TRUE)
duncan[1:3,]
attach(duncan)
type income education prestige
accountant prof
62
86
pilot
prof
72
76
architect prof
75
92
82
83
90
41 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
On estime maintenant le modèle linéaire suivant :
prestigei = b0 + b1 incomei + b2 educationi + b3 typei + i
(5)
> reg20 <- lm(prestige ~ income + education + type)
> summary(reg20)
Call:
lm(formula = prestige ~ income + education + type)
Residuals:
Min
1Q Median
-14.890 -5.740 -1.754
3Q
Max
5.442 28.972
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.18503
3.71377 -0.050 0.96051
income
0.59755
0.08936
6.687 5.12e-08 ***
education
0.34532
0.11361
3.040 0.00416 **
typeprof
16.65751
6.99301
2.382 0.02206 *
typewc
-14.66113
6.10877 -2.400 0.02114 *
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 9.744 on 40 degrees of freedom
Multiple R-squared: 0.9131,
Adjusted R-squared:
F-statistic:
105 on 4 and 40 DF, p-value: < 2.2e-16
0.9044
42 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
On calcule maintenant les coefficients de corrélation entre les
différentes variables de notre régression
> cor(duncan[sapply(duncan, is.numeric)])
income education prestige
income
1.0000000 0.7245124 0.8378014
education 0.7245124 1.0000000 0.8519156
prestige 0.8378014 0.8519156 1.0000000
Une manière de détecter la multicolinéarité est d’utiliser le VIF
(Variance Inflation Factors) :
> vif(reg20)
GVIF Df GVIF^(1/(2*Df))
income
2.209178 1
education 5.297584 1
type
5.098592 2
1.486330
2.301648
1.502666
On considère généralement que lorsque le VIF est supérieur à 4 il
faut mener des investigations supplémentaire.
43 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Il existe différentes manières de corriger de la multicolinéarité :
1
2
3
4
changer la spécification du modèle (changer de forme
fonctionnelle ou ajouter/supprimer des variables) ;
augmenter la taille de l’échantillon ;
régression des moindres carrés partiels ;
régression “pas à pas”.
44 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Suppression d’une variable
On estime maintenant le modèle linéaire suivant :
prestigei = b0 + b1 incomei + b2 educationi + i
> reg21 <- lm(prestige ~ income + education)
> summary(reg21)
Call:
lm(formula = prestige ~ income + education)
Residuals:
Min
1Q Median
-29.538 -6.417
0.655
3Q
Max
6.605 34.641
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -6.06466
4.27194 -1.420
0.163
income
0.59873
0.11967
5.003 1.05e-05 ***
education
0.54583
0.09825
5.555 1.73e-06 ***
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 13.37 on 42 degrees of freedom
Multiple R-squared: 0.8282,
Adjusted R-squared:
F-statistic: 101.2 on 2 and 42 DF, p-value: < 2.2e-16
0.82
45 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Suppression d’une variable
On calcule maintenant le VIF :
> vif(reg21)
income education
2.1049
2.1049
⇒ La suppression d’une variable permet de faire disparaı̂tre le
problème de multicolinéarité dans nos données.
46 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
4
Définition
Détection
Correction
Non normalité des résidus
Définition
Détection
Correction
47 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Le modèle linéaire repose sur l’hypothèse que les termes d’erreurs
sont distribués selon une loin normale.
Il va donc falloir tester si cette hypothèse est respectée.
Pour ce faire, on teste si les termes d’erreurs estimés ε̂i des vrais
termes d’erreurs inobservables εi suivent ou non une loi normale.
Si l’hypothèse de normalité de la distribution des termes
d’erreurs n’est pas vérifiée, cela viendra mettre à mal les résultats
de nombreux tests paramétriques.
⇒ Quand n est grand, le modèle linéaire admet une propriété de
robustesse impliquant que, sous un certains nombre d’hypothèses
très générales, la propriété de normalité des résidus restera vraie
(loi des grands nombres et théorème central limite).
48 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Dans la suite nous utilisons le fichier cars.txt contenant 1182
observations portant sur l’efficience énergétique de voitures en
2009. Le fichier contient 7 variables :
1
2
3
4
5
6
7
8
type : le type de véhicule ;
manufacturer : le fabricant de la voiture ;
model : le modèle de la voiture ;
displace : le volume de la voiture (en cubic inches) ;
cyl : la taille du moteur (en cylindres) ;
trans : le type de transmission (automatique ou manuelle) ;
drivesys : le type de système de conduite ;
mpg : les miles parcourus par gallon d’essence.
Chargeons les données dans R :
> cars <- read.table("/cars.txt", sep = ",", header=TRUE)
> cars[1:3,]
> attach(cars)
type manufacturer
model displace cyl trans drivesys mpg
1 TWO SEATERS ASTON MARTIN DBS COUPE
5.9 12 Auto
2 TWO SEATERS ASTON MARTIN DBS COUPE
5.9 12 Manu
3 TWO SEATERS ASTON MARTIN V8 VANTAGE
4.7
8 Auto
R
R
R
18
17
19
49 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Effectuons quelques statistiques descriptives :
> summary(cars)
type
manufacturer
model
S.U.V. - 4WD
:187
CHEVROLET
:137
C15 SIERRA 2WD
: 11
S.U.V. - 2WD
:183
GMC
: 91
C15 SILVERADO 2WD: 11
COMPACT CARS
:128
BMW
: 64
K15 SIERRA 4WD
: 11
MIDSIZE CARS
:120
TOYOTA
: 62
K15 SILVERADO 4WD: 11
SUBCOMPACT CARS:110
DODGE
: 54
HHR FWD
: 10
LARGE CARS
: 76
MERCEDES-BENZ: 53
HHR PANEL FWD
: 10
(Other)
:378
(Other)
:721
(Other)
:1118
displace
cyl
trans
drivesys
mpg
Min.
:1.300
Min.
: 2.000
Auto:929
4:422
Min.
:12.00
1st Qu.:2.500
1st Qu.: 4.000
Manu:253
F:366
1st Qu.:19.00
Median :3.600
Median : 6.000
R:394
Median :23.00
Mean
:3.759
Mean
: 6.272
Mean
:23.12
3rd Qu.:4.800
3rd Qu.: 8.000
3rd Qu.:26.00
Max.
:7.000
Max.
:12.000
Max.
:45.00
50 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
On estime le modèle de la forme :
mpgi = b0 + b1 displacei + i
(6)
Effectuons une première régression :
> reg22 <- lm(mpg ~ displace, data=cars)
> summary (reg22)
Call:
lm(formula = mpg ~ displace, data = cars)
Residuals:
Min
1Q Median
-8.9901 -2.1493 -0.0693
3Q
Max
2.0109 14.6500
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 35.15061
0.27207 129.20
<2e-16 ***
displace
-3.20041
0.06823 -46.91
<2e-16 ***
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 3.119 on 1180 degrees of freedom
Multiple R-squared: 0.6509,
Adjusted R-squared: 0.6506
F-statistic: 2200 on 1 and 1180 DF, p-value: < 2.2e-16
51 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Détection graphique
> hist(residuals(reg22), density=20, breaks=20, prob=T, xlab="Residuals of the regression",
main = "Normal curve over histogram of residuals")
> curve(dnorm(x, mean=mean(residuals(reg22)), sd=sqrt(var(residuals(reg22)))), col="darkblue
lwd=2, add=T, yaxt="n")
> dev.copy(png,"/plotnormality1reg22.png")
> dev.off()
52 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Détection graphique
>
>
>
>
qqnorm(residuals(reg22))
qqline(residuals(reg22))
dev.copy(png,"/plotnormality2reg22.png")
dev.off()
53 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Détection formelle
Pour tester l’adéquation de la distribution des termes d’erreur à
la loi normale on utilise généralement le test de Shapiro-Wilk :
> shapiro.test(residuals(reg22))
Shapiro-Wilk normality test
data: residuals(reg22)
W = 0.98649, p-value = 5.305e-09
⇒ Le test de Shapiro-Wilk rejette l’hypothèse nulle d’adéquation de
la distribution des termes d’erreurs à une loi normale.
54 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
Le fait que les résidus ne soient pas distribués normalement n’est
pas grave en soit. Néanmoins, on peut tenter de les corriger en
modifiant la forme fonctionnelle de notre estimation.
Considérons à présent le modèle suivant :
ln(mpgi ) = b0 + b1 ln(displacei ) + i
> reg23 <- lm(log(mpg) ~ log(displace), data=cars)
> summary(reg23)
Call:
lm(formula = log(mpg) ~ log(displace), data = cars)
Residuals:
Min
1Q
Median
-0.53229 -0.07117 0.00929
3Q
Max
0.09162 0.43420
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept)
3.75759
0.01413
265.9
<2e-16 ***
log(displace) -0.51174
0.01077
-47.5
<2e-16 ***
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.1377 on 1180 degrees of freedom
Multiple R-squared: 0.6566,
Adjusted R-squared: 0.6563
F-statistic: 2257 on 1 and 1180 DF, p-value: < 2.2e-16
55 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Détection
Correction
> hist(residuals(reg23), density=20, breaks=20, prob=T, xlab="Residuals of the regression",
main = "Normal curve over histogram of residuals")
> curve(dnorm(x, mean=mean(residuals(reg23)), sd=sqrt(var(residuals(reg23)))), col="darkblue
lwd=2, add=T, yaxt="n")
> dev.copy(png,"/plotnormality1reg23.png")
> dev.off()
56 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
>
>
>
>
Définition
Détection
Correction
qqnorm(residuals(reg23))
qqline(residuals(reg23))
dev.copy(png,"/plotnormality2reg23.png")
dev.off()
57 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
5
Définition
Variables instrumentales
Le niveau d’éducation affecte-t-il les salaires ?
Endogenéité
Définition
Variables instrumentales
Le niveau d’éducation affecte-t-il les salaires ?
58 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Variables instrumentales
Le niveau d’éducation affecte-t-il les salaires ?
Endogénéité
L’endogénéité caractérise une situation dans laquelle au moins l’une
des variables explicatives est corrélée aux termes d’erreur :
Cov[X , ] 6= 0
⇒ L’endogénéité biaise l’estimation par MCO des coefficients.
Plusieurs explications possible :
omission d’une ou de plusieurs variables explicatives (une variable
corrélée à x n’est pas incluse dans le modèle car inobservable) ;
simultanéité (on ne sait pas si y cause x ou l’inverse) ;
erreurs de mesure (x est mal mesurée).
59 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Variables instrumentales
Le niveau d’éducation affecte-t-il les salaires ?
Approche par IV – le cas de l’omission d’une variable
Considérons le modèle suivant :
yi = b0 + b1 xi + εi
Nous cherchons à estimer l’effet de la variable explicative x sur la
variable expliquée y.
Si x n’est pas la seule cause de y et que cette autre cause possible
u (non observable) n’est pas indépendante de x alors la
corrélation statistique entre x et y capture autre chose que la
simple relation de causalité entre x et y.
La technique des variables instrumentales consiste à choisir une
variable z déterminant x indépendamment de la variable u. La
variable z ne causant y qu’à travers x , en faisant varier z on fait
donc varier x indépendamment de u ⇒ on retrouve la condition
“toutes choses égales par ailleurs”.
z −→ x −→ y
↑
%
u
60 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Variables instrumentales
Le niveau d’éducation affecte-t-il les salaires ?
Un exemple pratique – le cas de la simultanéité
Levitt (1997), par exemple, cherche à mesurer la relation entre la
criminalité et le nombre de policiers :
ln crimei = b0 + b1 ln policiersi + εi
Le problème qui se pose est celui du sens de la causalité : la
criminalité dépend du nombre de policiers dans une ville mais le
nombre de policiers dépend aussi de la criminalité.
Levitt (1997) s’est demandé de quelle manière il était possible
d’évaluer l’effet du nombre de policiers sur la criminalité en
purgeant les estimations du problème de causalité inverse.
Pour résoudre ce problème, Levitt (1997) va utiliser une variable
exogène qui affecte seulement le nombre de policiers et non la
criminalité : le cycle électoral.
La variable échéance électorale est corrélée avec le nombre de
policier mais pas avec la criminalité
⇒ Cette stratégie permet d’identifier l’effet causal du nombre de
policiers sur la criminalité.
61 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Variables instrumentales
Le niveau d’éducation affecte-t-il les salaires ?
Validité de l’instrument
Un instrument est dit valide s’il satisfait les deux conditions
suivantes :
1
2
Cov[zi , xi ] 6= 0 (pertinence de l’instrument) ;
Cov[zi , εi ] = 0 (exogénéité de l’instrument).
Si l’instrument choisi est pertinent – s’il varie relativement aux
variations de xi – et exogène – si la part de la variation de xi
capturée par la variable instrumentale est exogène – alors
l’instrument permet de capture les variations de xi qui sont
exogènes.
Une manière de trouver un instrument est de regarder la
littérature théorique et empirique puis de vérifier si les conditions
de pertinence et d’exogénéité de l’instrument sont vérifiées.
62 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Variables instrumentales
Le niveau d’éducation affecte-t-il les salaires ?
Two Stage Least Squares (2SLS)
1
On isole la part de la variable explicative x qui est non corrélée
au terme d’erreur ε. Pour ce faire, on régresse z sur x en utilisant
les MCO :
xi = a0 + a1 zi + νi
Comme zi n’est pas corrélé avec i , a0 + a1 zi ne l’est pas non plus.
Après avoir obtenu les estimateurs â0 et â1 , on calcule les valeurs
prédites de xi : x̂i = â0 + â1 zi .
2
On remplace ensuite xi par x̂i dans le modèle initial :
yi = b0 + b1 x̂i + εi
On estime ensuite b1 par la méthode des MCO.
L’estimateur b̂12SLS est un estimateur cohérent de b1 .
63 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Variables instrumentales
Le niveau d’éducation affecte-t-il les salaires ?
Identification
Il faut disposer d’au moins autant d’instruments que de variables
endogènes.
Un modèle IV est juste identifié s’il contient autant d’instruments
que de variables endogènes. Dans ce cas, la condition d’exogénéité
de l’instrument ne peut-être vérifiée.
Un modèle IV est sous-identifié s’il contient moins d’instruments
que de variables endogènes. Dans ce cas, le modèle contient une
infinité de solution et aucune d’entre elles n’est cohérente.
Un modèle IV est sur-identifié s’il contient plus d’instruments que
de variables endogènes. Dans ce cas, il est alors possible de tester
l’exogénéité d’un instrument.
64 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Variables instrumentales
Le niveau d’éducation affecte-t-il les salaires ?
Instruments faibles
On dit qu’un instrument est faible s’il est faiblement corrélé à la
variable endogène.
Un instrument faible réduira la précision de l’estimateur (il biaise
les résultats de l’estimation).
On considère qu’un instrument est faible si la statistique F
obtenue à la première étape de la régression avec variables
instrumentales est inférieure à 10.
65 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Variables instrumentales
Le niveau d’éducation affecte-t-il les salaires ?
Tests sur les variables instrumentales
On accompagne généralement la régression par la méthode des
variables instrumentales de 3 tests :
1
2
3
Weak instruments : ce test permet de mettre en évidence la
faiblesse des instruments utilisés dans une régression. L’hypothèse
nulle est que les instruments utilisés sont faibles.
Wu-Hausman : ce test permet de vérifier l’endogénéité de la
variable “suspecte”. Lorsque l’on rejette l’hypothèse nulle, cela
signifie que les MCO ne sont pas cohérents, suggèrant la présence
d’endogénéité. Lorsque l’on rejette l’hypothèse alternative cela
signifie que les deux méthodes d’estimation sont cohérentes.
Test de sur-identification de Sargan : ce test permet de vérifier
l’exogénéité des instruments avec les résidus. L’hypothèse nulle de
ce test est que les instruments ne sont pas valides.
66 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Variables instrumentales
Le niveau d’éducation affecte-t-il les salaires ?
Dans la suite nous utilisons le fichier card.dta contenant 3010
observations provenant d’une cohorte du National Longitudinal
Survey (NLSYM66).
La liste des variables explicatives ainsi que des statistiques
descriptives de l’échantillon sont disponible à l’adresse suivante :
http://davidcard.berkeley.edu/data_sets/proximity.zip
Chargeons le jeu de données dans R :
>
>
>
>
>
library(foreign)
download.file(http://fmwww.bc.edu/ec-p/data/wooldridge/card.dta,card.dta,mode="wb")
card<-read.dta("card.dta")
attach(card)
card[1:3,]
id nearc2 nearc4 educ age fatheduc motheduc weight momdad14 sinmom14 step14 reg661
1 2
0
0
7 29
NA
NA 158413
1
0
0
1
2 3
0
0
12 27
8
8 380166
1
0
0
1
3 4
0
0
12 34
14
12 367470
1
0
0
1
reg662 reg663 reg664 reg665 reg666 reg667 reg668 reg669 south66 black smsa south
1
0
0
0
0
0
0
0
0
0
1
1
0
2
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
1
0
smsa66 wage enroll KWW IQ married libcrd14 exper
lwage expersq
1
1 548
0 15 NA
1
0
16 6.306275
256
2
1 481
0 35 93
1
1
9 6.175867
81
3
1 721
0 42 103
1
1
16 6.580639
256
67 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Variables instrumentales
Le niveau d’éducation affecte-t-il les salaires ?
Using Geographical Variation in College Proximity to
Estimate the Return to Schooling
La question que se pose Card (1993) est de savoir si le nombre
d’année d’études affecte les revenus des individus.
Les études empiriques faites sur le sujet (Rosen, 1977 ;
Psacharopoulos, 1985) interprètent les différences de salaires
entre travailleurs éduqués et non éduqués comme une estimation
économétrique du rendement privé de l’éducation.
Le problème est que le nombre d’années d’études n’est pas
assigné de manière aléatoire : les individus choisissent leur niveau
d’éducation, ce qui rend cette dernière variable endogène.
Une analyse causale du lien entre l’éducation et les gains salariaux
nécessite une source de variation exogène des choix éducatifs.
⇒ Card (1993) suggère d’utiliser la proximité géographique à l’école
comme variable endogène.
68 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Variables instrumentales
Le niveau d’éducation affecte-t-il les salaires ?
Le problème de l’endogeneité de l’éducation et du
revenu
Deux sources d’endogénéité :
1
2
Les capacités des étudiants – affectant le niveau d’éducation – ne
peuvent être prises en compte car elles sont inobservables par
définition. Les individus qui ont des capacités plus élevées que les
autres gagneront plus à tous les niveaux d’éducation. Si ceux-ci
acquièrent un niveau d’éducation en moyenne plus élevés alors les
résultats de l’estimation par les MCO seront biaisés.
Un biais de mesure est également susceptible d’affecter les
résultats puisque les données ont été renseignées par les étudiants.
Pour que la proximité au collège soit exogène il faut qu’elle soit
reliée au salaire, mais seulement via l’éducation. Card (1993) a
montré, en contrôlant pour l’ensemble des variables
démographiques, qu’un individu issu d’un milieu populaire avait
une probabilité plus importante d’être scolarisé s’il habitait à
proximité d’un “college”, de telle sorte que la proximité est reliée
à l’éducation.
69 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Variables instrumentales
Le niveau d’éducation affecte-t-il les salaires ?
Estimation par OLS
> reg24<-lm(lwage~educ+exper+expersq+black+south+smsa+reg661+reg662+reg663+reg664+reg665+reg666+reg667+reg668+smsa66)
> summary(reg24)
Call:
lm(formula = lwage ~ educ + exper + expersq + black + south +
+ reg667 + reg668 + smsa66)
Residuals:
Min
1Q
Median
-1.62326 -0.22141 0.02001
smsa + reg661 + reg662 + reg663 + reg664 + reg665 + reg666
3Q
Max
0.23932 1.33340
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 4.7393767 0.0715282 66.259 < 2e-16 ***
educ
0.0746932 0.0034983 21.351 < 2e-16 ***
exper
0.0848320 0.0066242 12.806 < 2e-16 ***
expersq
-0.0022870 0.0003166 -7.223 6.41e-13 ***
black
-0.1990123 0.0182483 -10.906 < 2e-16 ***
south
-0.1479550 0.0259799 -5.695 1.35e-08 ***
smsa
0.1363846 0.0201005
6.785 1.39e-11 ***
reg661
-0.1185697 0.0388301 -3.054 0.002281 **
reg662
-0.0222026 0.0282575 -0.786 0.432092
reg663
0.0259703 0.0273644
0.949 0.342669
reg664
-0.0634942 0.0356803 -1.780 0.075254 .
reg665
0.0094551 0.0361174
0.262 0.793503
reg666
0.0219477 0.0400984
0.547 0.584182
reg667
-0.0005887 0.0393793 -0.015 0.988073
reg668
-0.1750058 0.0463394 -3.777 0.000162 ***
smsa66
0.0262417 0.0194477
1.349 0.177327
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.3723 on 2994 degrees of freedom
Multiple R-squared: 0.2998,
Adjusted R-squared: 0.2963
F-statistic: 85.48 on 15 and 2994 DF, p-value: < 2.2e-16
70 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Variables instrumentales
Le niveau d’éducation affecte-t-il les salaires ?
Estimation IV
> install.packages("AER")
> library(AER)
> reg25<-ivreg(lwage~educ+exper+expersq+black+south+smsa+reg661+reg662+reg663+reg664+reg665+reg666+reg667+reg668+smsa66|
nearc4+exper+expersq+black+south+smsa+reg661+reg662+reg663+reg664+reg665+reg666+reg667+reg668+smsa66)
> summary(reg25, diagnostics = TRUE)
Call:
ivreg(formula = lwage ~ educ + exper + expersq + black + south + smsa + reg661 + reg662 + reg663 + reg664 + reg665 + reg666 +
reg667 + reg668 + smsa66 | nearc4 + exper + expersq + black + south + smsa + reg661 + reg662 + reg663 + reg664 + reg665 +
reg666 + reg667 + reg668 + smsa66)
Residuals:
Min
1Q
Median
-1.83164 -0.24075 0.02429
3Q
Max
0.25208 1.42760
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.7739661 0.9349469
4.037
educ
0.1315038 0.0549637
2.393
exper
0.1082711 0.0236586
4.576
expersq
-0.0023349 0.0003335 -7.001
black
-0.1467758 0.0538999 -2.723
south
-0.1446715 0.0272846 -5.302
smsa
0.1118084 0.0316620
3.531
reg661
-0.1078142 0.0418137 -2.578
reg662
-0.0070465 0.0329073 -0.214
reg663
0.0404446 0.0317806
1.273
reg664
-0.0579171 0.0376059 -1.540
reg665
0.0384577 0.0469387
0.819
reg666
0.0550887 0.0526597
1.046
reg667
0.0267580 0.0488287
0.548
reg668
-0.1908912 0.0507113 -3.764
smsa66
0.0185311 0.0216086
0.858
5.56e-05
0.01679
4.92e-06
3.12e-12
0.00650
1.23e-07
0.00042
0.00997
0.83046
0.20325
0.12364
0.41267
0.29559
0.58373
0.00017
0.39119
***
*
***
***
**
***
***
**
***
71 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Variables instrumentales
Le niveau d’éducation affecte-t-il les salaires ?
⇒ L’effet de l’éducation sur les rendements salariaux augmente de
0, 075 à 0, 131 lorsque l’on régresse par IV plutôt que par MCO.
Diagnostic tests:
df1 df2 statistic p-value
Weak instruments
1 2994
13.256 0.000276 ***
Wu-Hausman
1 2993
1.168 0.279973
Sargan
0
NA
NA
NA
--Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.3883 on 2994 degrees of freedom
Multiple R-Squared: 0.2382,
Adjusted R-squared: 0.2343
Wald test: 51.01 on 15 and 2994 DF, p-value: < 2.2e-16
Résultats des tests :
1
2
3
“Weak instruments” ⇒ on rejette l’hypothèse nulle de faiblesse
des instruments ;
“Wu-Hausman” ⇒ les deux modèles produisent des résultats
cohérents, notre variable educ semble donc ne pas poser problème
particulier d’endogénéité ;
“Sargan” : le modèle étant juste identifié, on ne peut conclure
quant à la validité de nos instruments.
Vous pouvez continuer en utilisant les données CigarettesSW du
package AER en regardant le code disponible dans la rubrique
“examples” de l’aide de la fonction ivreg.
72 / 73
Hétéroscédasticité
Autocorrélation
Multicolinéarité
Non normalité des résidus
Endogenéité
Définition
Variables instrumentales
Le niveau d’éducation affecte-t-il les salaires ?
Bonus : exportation des résultats
install.packages("stargazer")
library(stargazer)
stargazer(reg24, reg25, type="html", dep.var.labels=c("lwage"), covariate.labels=c("edu", "exper", "expersq", "black", "south",
"smsa", "reg661", "reg662", "reg663", "reg664", "reg665", "reg666", "reg667", "reg668", "smsa66", "intercept"), out="/olsiv.htm")
73 / 73
Auteur
Document
Catégorie
Uncategorized
Affichages
6
Taille du fichier
904 KB
Étiquettes
1/--Pages
signaler