1. 6 juin 2006 1
Introduction à la régression
cours n°4
Interprétation géométrique
Précision et validation du modèle
ENSM.SE – 1A
Olivier Roustant - Laurent Carraro
2. 6 juin 2006 2
Objectifs du cours
Connaître l’interprétation géométrique de la
régression linéaire
Savoir utiliser le coefficient de détermination
R2 pour apprécier la précision d’une régression
Savoir valider ou invalider un modèle linéaire
3. 6 juin 2006 3
Prévisions ponctuelles
Considérons le modèle linéaire
yi = β0 +β1x1,i + … + βpxp,i + ei
avec e1, …, en i.i.d N(0,σ2)
Prévision sans la régression :
Prévision avec la régression :
!
ˆyi := ˆ"0 + ˆ"1x1,i + ...+ ˆ"p xp,i
!
y := yi
i=1
n
" /n
4. 6 juin 2006 4
Intérêt du modèle de régression
Le modèle de régression a de l’intérêt si
les erreurs sont petites relativement
aux erreurs que l’on ferait sans avoir
de prédicteurs
Donne envie de regarder avec ||.|| la
norme usuelle de Rn et :
!
yi " ˆyi
!
yi " y
!
Y " ˆY
Y "Y
!
ˆY = ( ˆy1,..., ˆyn ")
!
Y = (y,...,y ") = y(1,...,1 ") =: y1
5. 6 juin 2006 5
Des moindres carrés à la géométrie
Estimation par moindres carrés
Interprétation géométrique
est la projection orthogonale dans Rn de Y
sur le plan engendré par les prédicteurs (1 inclus)
!
ˆ" = Argmin
"
Y # X"
2
!
ˆY = X ˆ"
6. 6 juin 2006 6
Des angles droits partout !
Exercice
Montrer que est la projection orthogonale de
Y sur la droite de Rn engendrée par 1 = (1,…,1)
En déduire que est aussi la projection
orthogonale de sur cette même droite!
Y
!
Y
!
ˆY
7. 6 juin 2006 7
Interprétation géométrique
Y
!
vectRn (1)
vectRn (1,x1,...,xp )
0
!
ˆY
!
Y
8. 6 juin 2006 8
Coefficient de détermination R2
Définition
R2 = ∈ [0,1]
Interprétation :
Pourcentage de variance expliquée par la régression
– Numérateur et dénominateur s’interprètent effectivement
comme la variance empirique des quantités considérées
La réponse est bien expliquée par la régression
lorsque R2 est proche de 1
!
1"
Y " ˆY
2
Y "Y
2 =
ˆY "Y
2
Y "Y
2
9. 6 juin 2006 9
Exemple
s=5, R2 =0.583
yi = 1- 0.2 i + ei avec e1, …, e100 i.i.d N(0, s2)
s=1, R2 =0.969
10. 6 juin 2006 10
Données de pollution (cf cours 1)
11. 6 juin 2006 11
Call:
lm(formula = log(NO3) ~ log(SO4), data = pollution)
Residuals:
Min 1Q Median 3Q Max
-0.80424 -0.14485 -0.01087 0.16564 0.56666
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.43642 0.03679 -11.86 <2e-16 ***
log(SO4) 0.92168 0.03356 27.47 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.2417 on 165 degrees of freedom
Multiple R-Squared: 0.8205, Adjusted R-squared: 0.8195
F-statistic: 754.4 on 1 and 165 DF, p-value: < 2.2e-16
R2 de 82% : le prédicteur explique
plutôt bien la réponse
12. 6 juin 2006 12
Quelques dangers du R2
Le coefficient de détermination peut être
égal à 1, et le modèle inexploitable
C’est ce qui arrive avec un modèle linéaire
polynômial de degré n-1 avec n points…
Attention : la précision du modèle n’est
valable qu’aux points d’observation xi
En dehors, on ne peut rien dire
13. 6 juin 2006 13
Validation du modèle
On cherche à savoir si l’hypothèse du
modèle linéaire est validée :
Avait t-on le droit de supposer que e1, …, en
sont indépendants et de même loi normale ?
On va étudier les « résidus » :
ˆei = yi " ( ˆ#0 + ˆ#1x1,i + ...+ ˆ#p xp,i )
14. 6 juin 2006 14
Que regarder sur les résidus ?
Les résidus ne devraient pas montrer de
régularité (indépendance + même loi), et
être centrés sur 0
Tracé des résidus
Tracé des résidus contre chaque prédicteur
Tracé des résidus contre la réponse estimée
15. 6 juin 2006 15
Que faut-il regarder sur les résidus (2)
Les résidus devraient être normaux
Tracé de la droite de Henri
Il conviendrait d’étudier les résidus standardisés
et même studentisés
Pas au programme cette année !
16. 6 juin 2006 16
Exemple de résidus corrects
- Simulations -
17. 6 juin 2006 17
Exemple d’étude
Réponse : pourcentage d'un rendement
maximal de blé
Prédicteur : quantité de pluies printanières
(en m)
54 observations
18. 6 juin 2006 18
Observation des données
donnees <- read.table("reg_pluie.txt", dec=",", sep="t", header=TRUE)
plot(donnees)
19. 6 juin 2006 19
Observation des données (suite)
pairs(donnees)
20. 6 juin 2006 20
1er modèle
yi = β0 + β1xi + ei avec e1, …, e54 i.i.d N(0, σ2)
mod1 <- lm(rendement~pluie, data=donnees)
plot(rendement~pluie, data=donnees)
lines(donnees$pluie, mod1$fitted.values, col="red")
21. 6 juin 2006 21
Table d’ANOVA
Call:
lm(formula = rendement ~ pluie, data = donnees)
Residuals:
Min 1Q Median 3Q Max
-0.119861 -0.034987 0.003603 0.040208 0.108037
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.06620 0.02405 2.752 0.00813 **
pluie 1.63673 0.07526 21.747 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.05201 on 52 degrees of freedom
Multiple R-Squared: 0.9009, Adjusted R-squared: 0.899
F-statistic: 472.9 on 1 and 52 DF, p-value: < 2.2e-16
mod1 <- lm(rendement~pluie, data=donnees)
summary(mod1)
22. 6 juin 2006 22
Examen des résidus
plot(mod1$residuals)
23. 6 juin 2006 23
Examen des résidus (suite)
plot(mod1$residuals~pluie,data=donnees)
plot(mod1$residuals~mod1$fitted.values, data=donnees)
Courbure quadratique des résidus :
Suggère un polynôme de degré 2
24. 6 juin 2006 24
2ème modèle
yi = β0 + β1xi + β11xi
2 + ei avec e1, …, e54 i.i.d N(0, σ2)
mod2 <- lm(rendement~pluie+I(pluie^2), data=donnees)
plot(rendement~pluie, data=donnees)
lines(donnees$pluie, mod2$fitted.values, col="red")
25. 6 juin 2006 25
Table d’ANOVA
mod2 <- lm(rendement~pluie+I(pluie^2), data=donnees)
summary(mod2)
Call:
lm(formula = rendement ~ pluie + I(pluie^2), data = donnees)
Residuals:
Min 1Q Median 3Q Max
-0.125759 -0.031894 -0.000287 0.035384 0.093880
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.04246 0.04512 -0.941 0.35109
pluie 2.50171 0.31868 7.850 2.49e-10 ***
I(pluie^2) -1.52278 0.54701 -2.784 0.00752 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.04893 on 51 degrees of freedom
Multiple R-Squared: 0.914, Adjusted R-squared: 0.9106
F-statistic: 271 on 2 and 51 DF, p-value: < 2.2e-16
26. 6 juin 2006 26
Examen des résidus du 2nd modèle
plot(mod2$residuals)
27. 6 juin 2006 27
Examen des résidus (suite)
plot(mod2$residuals~pluie,data=donnees)
plot(mod2$residuals~mod2$fitted.values, data=donnees)
28. 6 juin 2006 28
Dernière étape : normalité des résidus
qqnorm(mod2$residuals); qqline(mod2$residuals)
29. 6 juin 2006 29
Conclusion
Le modèle de régression linéaire polynomial
de degré 2 est validé
On pourra l’utiliser pour faire des prévisions