6 juin 2006 1
Introduction à la régression
cours n°4
Interprétation géométrique
Précision et validation du modèle
[Link] – 1A
Olivier Roustant - Laurent Carraro
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
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 : y := " y i /n
i=1
Prévision avec la régression : yˆ i := "ˆ 0 + "ˆ1 x1,i + ...+ "ˆ p x p,i
!
!
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 y i " yˆ i sont petites relativement
aux erreurs y i " y que l’on ferait sans avoir
de prédicteurs ˆ
! Y "Y
Donne envie de regarder avec ||.|| la
! usuelle de Rn et : Y "Y
norme
ˆ = ( yˆ ,..., yˆ )"
Y Y = (y,..., y )" = y (1,...,1)" =: y1
1 n
! !
6 juin 2006 5
Des moindres carrés à la géométrie
Estimation par moindres carrés
"ˆ = Argmin Y # X"
2
"
Interprétation géométrique
= X"ˆ est la projection orthogonale dans Rn de Y
Yˆ !
sur le plan engendré par les prédicteurs (1 inclus)
!
6 juin 2006 6
Des angles droits partout !
Exercice
Montrer que Y est la projection orthogonale de
Y sur la droite de Rn engendrée par 1 = (1,…,1)
En déduire que Y est aussi la projection
orthogonale
! de Yˆ sur cette même droite
!
!
6 juin 2006 7
Interprétation géométrique
ˆ
Y
0
Y vect R n (1)
!
vect R n (1, x1,..., x p )
!
!
6 juin 2006 8
Coefficient de détermination R2
Définition Y " Yˆ
2
Yˆ " Y
2
R2 = 1" 2 = 2
∈ [0,1]
Y "Y Y "Y
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
6 juin 2006 9
Exemple
yi = 1- 0.2 i + ei avec e1, …, e100 i.i.d N(0, s2)
s=5, R2 =0.583 s=1, R2 =0.969
6 juin 2006 10
Données de pollution (cf cours 1)
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
R2 de 82% : le prédicteur explique
plutôt bien la réponse
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
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
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 » :
eˆi = y i " (#ˆ 0 + #ˆ1 x1,i + ...+ #ˆ p x p,i )
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
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 !
6 juin 2006 16
Exemple de résidus corrects
- Simulations -
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
6 juin 2006 18
Observation des données
donnees <- [Link]("reg_pluie.txt", dec=",", sep="\t", header=TRUE)
plot(donnees)
6 juin 2006 19
Observation des données (suite)
pairs(donnees)
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$[Link], col="red")
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)
6 juin 2006 22
Examen des résidus
plot(mod1$residuals)
6 juin 2006 23
Examen des résidus (suite)
Courbure quadratique des résidus :
Suggère un polynôme de degré 2
plot(mod1$residuals~pluie,data=donnees)
plot(mod1$residuals~mod1$[Link], data=donnees)
6 juin 2006 24
2ème modèle
yi = β0 + β1xi + β11xi2 + 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$[Link], col="red")
6 juin 2006 25
Table d’ANOVA
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
mod2 <- lm(rendement~pluie+I(pluie^2), data=donnees)
summary(mod2)
6 juin 2006 26
Examen des résidus du 2nd modèle
plot(mod2$residuals)
6 juin 2006 27
Examen des résidus (suite)
plot(mod2$residuals~pluie,data=donnees)
plot(mod2$residuals~mod2$[Link], data=donnees)
6 juin 2006 28
Dernière étape : normalité des résidus
qqnorm(mod2$residuals); qqline(mod2$residuals)
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