4 ModLin Slides
4 ModLin Slides
Catherine MATIAS
Analyse de la variance
Diagnostics
Notations
Yi = mi + ϵi , 1≤i≤n
où
▶ i est le numéro de l’unité expérimentale ;
▶ mi = f (x1i , . . . , xpi ) ∈ R est l’espérance de Yi ; c’est une
combinaison linéaire des variables x1i , . . . , xpi avec xji ∈ R ;
▶ ϵi ∈ R est une variable aléatoire résiduelle (appelée erreur).
Elle inclue différentes variabilités : celle du matériel
expérimental, celle due à des variables explicatives non inclues
dans le modèle et celle due aux erreurs de mesure.
Régression linéaire simple
Yi = β0 + β1 xi + ϵi , 1≤i≤n
Hypothèses :
▶ E(ϵi ) = 0 et Var(ϵi ) = σ 2 est constante (homoscédasticité)
▶ ϵi ⊥⊥ ϵj ; ∀i ̸= j
▶ ϵi ∼ N (0, σ 2 ) (hypothèse nécessaire pour IC et tests)
Exemples
▶ Tension artérielle = f (age)
▶ Rendement de blé = f (dose de fertilisant)
▶ Concentration ozone = f (température)
▶ Effet d’un traitement = f (dose)
Régression linéaire multiple I
Exemples
▶ Concentration d’ozone=f (température,vent,nébulosité)
▶ Vitesse de circulation coronarienne=f (poids, taux de
cholestérol)
Y = xβ + ϵ
Y1 1 x11 . . . xp1 ϵ1
. 1 x12 β0
. . . xp2
.
.
.. = .. .. .. .. .. + ..
. . . . . .
βp
Yn 1 x1n . . . xpn ϵn
Hypothèses :
▶ E(ϵ) = 0 et Var(ϵ) = σ 2 In
▶ ϵ ∼ Nn (0, σ 2 In ) (pour IC et tests)
Modèle linéaire = ANOVA et Régression linéaire
Y = xβ + ϵ
ANOVA Régression
x qualitatives : x quantitatives :
1 1A1 (1) . . . 1Ap (1) 1 x11 . . . xp1
1 1A (2) . . . 1Ap (2) 1 x12 . . . xp2
1
.. .. .. .. .. .. .. ..
. . . . . . . .
1 1A1 (n) . . . 1Ap (n) 1 x1n . . . xpn
Exemple d’ANOVA à 1 facteur (=1 var explicative
qualitative avec I niveaux) I
1 0 1
La variable qualitative "espèce" avec deux niveaux a été
transformée en deux colonnes de variables binaires (dummies) qui
sont les indicatrices de l’évènement "l’arbre est de l’espèce i" pour
1 ≤ i ≤ I = 2.
ANOVA à un facteur versus comparaison de moyennes I
avec
▶ µ rendement moyen
▶ αi effets du premier facteur ; ici 1 ≤ i ≤ I = 3,
▶ βj effets du second facteur ; ici 1 ≤ j ≤ J = 4,
▶ γij effets des interactions entre les deux facteurs ; (ici 12
paramètres)
▶ ϵijt terme d’erreur
Exemple d’ANOVA à 2 facteurs (=2 var explicatives
qualitatives) III
Ici l’écriture matricielle s’obtient avec
β = (µ, α1 , . . . , α3 , δ1 , . . . , δ4 , γ1,1 , . . . , γ3,4 )⊺ et si nij = 1, ∀i, j (1
répétition pour simplifier) on a
1 1 0 0
.. .. .. ..
. . . . I4
1 1 0 0
1 0 1 0
.. .. .. ..
x = . . . . I4 I12 .
1 0 1 0
1 0 0 1
.. .. .. ..
. . . . I
4
1 0 0 1
Vocabulaire de l’ANOVA
20
10
y
−10
−2 −1 0 1 2
x
Modèle linéaire : objectifs statistiques
Analyse de la variance
Diagnostics
▶ Rappel : Yi = a + bxi + ϵi , 1 ≤ i ≤ n ;
▶ On a des points (xi , Yi ), 1 ≤ i ≤ n dans le plan et on cherche
la droite qui s’ajuste le mieux à cet ensemble de points ;
▶ La méthode MCO consiste à chercher a, b ∈ R qui minimisent
n
X n
X
2
S(a, b) = (Yi − (a + bxi )) = ϵ2i = ∥Y − (a + bx)∥2 ,
i=1 i=1
Y = xβ + ϵ.
Définition
L’estimateur des moindres carrés ordinaires des paramètres β du
modèle regréssion linéaire est défini par β̂ = Argminβ ∥Y − xβ∥2 .
Théorème
L’estimateur β̂ des MCO vérifie le système
x⊺ xβ̂ = x⊺ Y.
β̂ = (x⊺ x)−1 x⊺ Y.
Remarque
On voit que les estimateurs varient en fonction des contraintes et
leur interprétation également. Mais l’analyse globale du problème
reste la même.
Sous R - Exemple avec les iris
data("iris")
coef(lm(Sepal.Length~Species, data=iris))
Exemple
E(Yi ) = (xβ)i est une CL invariante. En effet, son estimation
(xβ̂)i = Ŷi = (PY)i ne dépend pas des contraintes. Sur l’exemple
des arbres, ŷit = µ̂ + α̂i = yi• .
Définition
Un contraste
Pp est une combinaison
Pp linéaire des paramètres
ψ = j=1 cj βj telle que j=1 cj = 0.
Exemple
On peut comparer deux niveaux d’un facteur à travers le contraste
ψ = α1 − α2 . Ce contraste est aussi une CL invariante (dans le cas
d’un dispositif équilibré) car ψ̂ = y1• − y2• .
Propriétés de l’estimateur MCO β̂
Analyse de la variance
Diagnostics
avec
▶ SCT = Somme des carrés totale
⇝ variabilité totale à expliquer
▶ SCM = Somme des carrés due au modèle
⇝ variabilité expliquée par le modèle
▶ SCR = Somme des carrés résiduelle
⇝ variabilité non expliquée par le modèle
Décomposition de la variance II
Estimation de la variance
n
On a SCR = ∥ϵ̂∥2 = 2 et E(SCR)=(n − r)σ 2 . Donc on
P
i=1 ϵ̂i
estime la variance par
SCR
Ŝ 2 = .
n−r
Le nombre de degrés de liberté ddl(SCR) de cette somme des
carrés résiduelle vaut n − r (où r = rang(x)).
Rem : On a Y ∈ Rn et Ŷ ∈ Rr , du coup ϵ̂ = Y − Ŷ ∈ Rn−r .
Exemples
▶ Pour la régression simple, r = 2 et ddl(SCR) = n − 2 ;
▶ Pour l’ANOVA à 1 facteur à I niveaux, r = I et
ddl(SCR) = n − I.
Coefficients d’ajustement
Coefficient de détermination R2
SCM SCR
R2 = =1− ∈ [0; 1]
SCT SCT
Mesure la qualité de l’ajustement du modèle aux observations. Peut
être interprété comme le pourcentage de variance expliquée par le
modèle. Si proche de 1, modèle très bien ajusté et prédictions
précises.
Cependant R2 est biaisé et sur-évalue la qualité de l’ajustement. En
particulier, R2 augmente avec le nb de variables incluses dans le
modèle.
Coefficient de détermination R2 ajusté
2 SCR/(n − p − 1)
Radj =1− .
SCT /(n − 1)
Plan
Analyse de la variance
Diagnostics
(n − r)Ŝ 2
∼ χ2n−r ,
σ2
d’où l’IC pour σ 2 au niveau 1 − α donné par
h (n − r)Ŝ 2 (n − r)Ŝ 2 i
; ,
q1−α/2,χ2n−r qα/2,χ2n−r
IC sur βj , 1 ≤ j ≤ p
On a vu que β̂j ∼ N (βj , ξjj σ 2 ) et (n − r)Ŝ 2 /σ 2 ∼ χ2n−r . On peut
aussi montrer que
β̂j − βj
p ∼ Tn−r
Ŝ 2 ξjj
Ainsi, [β̂j − t1−α/2,n−r Ŝ ξjj ; β̂j + t1−α/2,n−r Ŝ ξjj ] est un IC
p p
ψ̂ − ψ L
p ⇝ T (n − r).
2/nrep Ŝ n→∞
Sur un paramètre
Soit 1 ≤ j ≤ p et a ∈ R fixés. On veut tester H0 : βj = a. On
rappelle que (sous hypothèse de normalité) on a
β̂j ∼ N (βj , ξjj σ 2 ). Donc on rejette H0 au niveau α si
|β̂j − a|
p ≥ t1−α/2;n−r .
ξjj Ŝ
Remarques
▶ OK en régression ; en ANOVA, peu de sens car le paramètre
dépend du choix des contraintes !
▶ Sous R , les tests de nullité de paramètres sont implémentés
dans lm. On peut les visualiser en appelant la fonction
summary sur la sortie de lm.
Tests sur les paramètres II
|c⊺ β̂ − a|
√ ⊺ ≥ t1−α/2;n−r .
c ξcŜ
Test de modèles emboîtés I
Définition
Soit deux modèles M0 : Y = x0 β 0 + ϵ et M1 : Y = x1 β 1 + ϵ.
Alors M0 est dit emboîté dans M1 si M0 peut-être obtenu comme
un cas particulier de M1 en annulant certains paramètres ou
certaines combinaisons linéaires de M1 .
Exemples
M0 : Y = β0 + ϵ (modèle le plus simple)
1.
M1 : Y = xβ + ϵ (modèle le plus complexe)
2.
M0 : {βq = βq+1 = · · · = βp = 0} (q < p)
M1 : Y = xβ + ϵ (modèle le plus complexe)
3.
ANOVA à 2 facteurs sans interaction :
M0 : {α1 = · · · = αI = 0} (pas d’effet du 1er facteur)
M1 : Yijk = µ + αi + δj + ϵijk (modèle le plus complexe)
Test de modèles emboîtés II
Tableau de synthèse
Degrés de Sommes Carrés
Source
liberté des carrés moyens
M0 n − ddl0 SCR0 SCR0 /ddl0
M1 n − ddl1 SCR1 SCR1 /ddl1
Plan
Analyse de la variance
Diagnostics
▶ Indépendance :
▶ Graphe de points (i, ϵ̂i ), 1 ≤ i ≤ n : il ne doit pas y avoir de
tendance.
▶ On peut faire des tests d’indépendance des ϵ̂i .
▶ Normalité : On peut faire des QQ-plots ou des tests de
normalité des ϵ̂i .
Plan
Introduction et définition du modèle
Analyse de la variance
Diagnostics
Analyse de la variance
Diagnostics
Données
On dispose de 33 échantillons de parcelles forestières de 10
hectares. Chaque parcelle est coupée en placette de 5 ares sur
lesquelles sont calculées les moyennes des mesures suivantes :
▶ le nombre de nids de chenilles par arbre (NbNids),
▶ l’altitude (en mètres) (Altitude),
▶ la pente (en degrés) (Pente),
▶ le nombre de pins dans une placette (NbPins),
▶ la hauteur de l’arbre échantillonné au centre de la placette
(Hauteur),
▶ le diamètre de cet arbre (Diametre),
▶ la note de densité de peuplement (Densite),
▶ l’orientation de la placette (Orient), avec deux valeurs 1=sud
et 2=autre,
Données de chenilles processionnaires du pin II
Objectif
Prédire le nombre de nids (NbNids) par les autres variables.
Données de chenilles processionnaires du pin III
## Altitude Pente NbPins Hauteur Diametre Densite Orient HautMax NbStrat Melan
## 1 1200 22 1 4.0 14.8 1.0 1.1 5.9 1.4 1
## 2 1342 28 8 4.4 18.0 1.5 1.5 6.4 1.7 1
## 3 1231 28 5 2.4 7.8 1.3 1.6 4.3 1.5 1
## 4 1254 28 18 3.0 9.2 2.3 1.7 6.9 2.3 1
## 5 1357 32 7 3.7 10.7 1.4 1.7 6.6 1.8 1
## 6 1250 27 1 4.4 14.8 1.0 1.7 5.8 1.3 1
## NbNids
## 1 2.37
## 2 1.47
## 3 1.13
## 4 0.85
## 5 0.24
## 6 1.49
Par ailleurs
Données de chenilles processionnaires du pin IV
summary(chenilles)
library(GGally)
ggpairs(chenilles, columns=1:10, axisLabels="none")
Altitude Pente NbPins Hauteur Diametre Densite Orient HautMax NbStrat Melange
Altitude
Corr: Corr: Corr: Corr: Corr: Corr: Corr: Corr: Corr:
0.121 0.538** 0.321. 0.284 0.515** 0.268 0.360* 0.364* −0.128
Pente
0.322. 0.137 0.113 0.301. −0.152 0.262 0.326. 0.128
NbPins
Corr: Corr: Corr: Corr: Corr: Corr: Corr:
0.414* 0.295. 0.980*** 0.128 0.759*** 0.877*** 0.187
Hauteur Diametre
Corr: Corr: Corr: Corr: Corr: Corr:
0.905*** 0.439* 0.058 0.772*** 0.460** −0.121
Densite
Corr: Corr: Corr: Corr:
0.151 0.810*** 0.909*** 0.108
Orient
Corr: Corr: Corr:
0.060 0.063 0.131
HautMax
Corr: Corr:
0.854*** 0.003
NbStrat
Corr:
0.148
Melange
Distribution de la réponse
par(mfrow=c(1,2))
boxplot(chenilles$NbNids)
plot(density(chenilles$NbNids))
density.default(x = chenilles$NbNids)
3.0
0.6
2.5
0.5
2.0
0.4
Density
1.5
0.3
1.0
0.2
0.5
0.1
0.0
0.0
−1 0 1 2 3 4
N = 33 Bandwidth = 0.3171
Plan
Introduction et définition du modèle
Analyse de la variance
Diagnostics
1.0
0.5
residuals
0.0
−0.5
−1.0
0 1 2
fitted
1
residuals
−1
−3 −2 −1 0 1
fitted
Standardized residuals
20 20
2
10
1
Residuals
1
0
0
−1
22
−2
33
−2
33
−3 −2 −1 0 1 −2 −1 0 1 2
20 33
Standardized residuals
2
10 1
10
0.5
1.0
1
0
0.5
8
0.5
−2
1
33
0.0
Cook's distance
##
## Shapiro-Wilk normality test
##
## data: residuals(model.logY)
## W = 0.97572, p-value = 0.6517
library(car)
durbinWatsonTest(model.logY) # test de corrélation
##
## Call:
## lm(formula = log(NbNids) ~ ., data = chenilles)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.69082 -0.27556 -0.02122 0.31358 1.74750
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 11.300912 3.156550 3.580 0.00167 **
## Altitude -0.004505 0.001563 -2.882 0.00865 **
## Pente -0.053606 0.021843 -2.454 0.02250 *
## NbPins 0.074581 0.100233 0.744 0.46470
## Hauteur -1.328277 0.570061 -2.330 0.02938 *
## Diametre 0.236101 0.104611 2.257 0.03428 *
## Densite -0.451118 1.572916 -0.287 0.77695
## Orient -0.187810 1.007950 -0.186 0.85389
## HautMax 0.185636 0.236344 0.785 0.44057
## NbStrat -1.266028 0.861235 -1.470 0.15572
## Melange -0.537203 0.773372 -0.695 0.49456
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.8268 on 22 degrees of freedom
## Multiple R-squared: 0.6968,Adjusted R-squared: 0.5589
## F-statistic: 5.055 on 10 and 22 DF, p-value: 0.0007441
Analyse du modèle : tests de nullité de paramètres III
Analyse de la variance
Diagnostics
##
## Call:
## lm(formula = log(NbNids) ~ ., data = chenilles.scaled)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.69082 -0.27556 -0.02122 0.31358 1.74750
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.81328 0.14393 -5.651 1.11e-05 ***
## Altitude -0.58134 0.20169 -2.882 0.00865 **
## Pente -0.39152 0.15953 -2.454 0.02250 *
## NbPins 0.71124 0.95586 0.744 0.46470
## Hauteur -1.38243 0.59330 -2.330 0.02938 *
## Diametre 1.01584 0.45009 2.257 0.03428 *
## Densite -0.32361 1.12834 -0.287 0.77695
## Orient -0.03515 0.18862 -0.186 0.85389
## HautMax 0.43659 0.55585 0.785 0.44057
## NbStrat -0.71719 0.48788 -1.470 0.15572
## Melange -0.13359 0.19232 -0.695 0.49456
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.8268 on 22 degrees of freedom
## Multiple R-squared: 0.6968,Adjusted R-squared: 0.5589
## F-statistic: 5.055 on 10 and 22 DF, p-value: 0.0007441
Prédicteurs normalisés II
anova(model.scaled)
heatmap(var(chenilles.scaled[, -11]))
Densite
NbPins
NbStrat
HautMax
Altitude
Hauteur
Diametre
Pente
Orient
Melange
Melange
Orient
Pente
Diametre
Hauteur
Altitude
HautMax
NbStrat
NbPins
Densite
Interprétation et prédicteurs corrélés I
Remarques
▶ les paramètres mal estimés (grande variance) sont ceux dont
les variables ont des corrélations élevées (densité, nb pins, nb
strates, HautMax)
⇝ S’il y a un effet, il est caché par la redondance
Analyse de la variance
Diagnostics
anova(M21, M3)
summary(M21)
##
## Call:
## lm(formula = log(NbNids) ~ Altitude + Pente, data = chenilles)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.2783 -0.8041 0.2387 0.7057 1.6412
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 7.225158 1.836220 3.935 0.000457 ***
## Altitude -0.004717 0.001351 -3.491 0.001512 **
## Pente -0.063155 0.023874 -2.645 0.012864 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.9792 on 30 degrees of freedom
## Multiple R-squared: 0.42,Adjusted R-squared: 0.3814
## F-statistic: 10.86 on 2 and 30 DF, p-value: 0.0002826
Proposition de modèle final II
par(mfrow=c(2,2)); plot(M21)
Standardized residuals
2
20 20
1
1
Residuals
0
−1
−1
32
−2
32
−2
33
33
1.5
33 Standardized residuals
2
20
20 32
21
1
1.0
0
−2 −1
0.5
0.5
33
0.0
Cook's distance
−2.5 −2.0 −1.5 −1.0 −0.5 0.0 0.5 0.00 0.05 0.10 0.15 0.20
Analyse de la variance
Diagnostics
Nous disposons d’un jeu de données des durées de vie (en heures)
de 36 piles en fonction de deux facteurs :
▶ type de matériau de la pile : trois types (1, 2 ou 3) ;
▶ température d’utilisation de la pile : trois niveaux de
température : bas (-10°C), moyen (20°C) ou élevé (45°C).
piles <-read.table(file="data/piles_duree.txt",header=T,stringsAsFactors=T)
summary(piles)
##
## Call:
## lm(formula = duree ~ temp, data = piles)
##
## Coefficients:
## (Intercept) temphaut tempmoyen
## 144.83 -80.67 -37.25
##
## Call:
## lm(formula = duree ~ materiau, data = piles)
##
## Coefficients:
## (Intercept) materiau2 materiau3
## 83.17 25.17 41.92
anova(mod_mat)
##
## Call:
## lm(formula = duree ~ temp + materiau, data = piles)
##
## Coefficients:
## (Intercept) temphaut tempmoyen materiau2 materiau3
## 122.47 -80.67 -37.25 25.17 41.92
anova(add_temp_mat)
##
## Call:
## lm(formula = duree ~ temp * materiau, data = piles)
##
## Coefficients:
## (Intercept) temphaut tempmoyen
## 134.75 -77.25 -77.50
## materiau2 materiau3 temphaut:materiau2
## 21.00 9.25 -29.00
## tempmoyen:materiau2 temphaut:materiau3 tempmoyen:materiau3
## 41.50 18.75 79.25
Modèle avec interaction pour température et matériau II
anova(inter_temp_mat)
Là encore, avec les interactions, les modèles testés ne sont pas les
mêmes. Décrivez chaque test.
Quelques diagnostics I
par(mfrow=c(2,2))
plot(lm(duree~temp*materiau,data=piles))
Quelques diagnostics II
Standardized residuals
4 4
2
20
1
Residuals
0
−20
9 9
−2
−60
3
3
Constant Leverage:
Scale−Location Residuals vs Factor Levels
Standardized residuals
Standardized residuals
1.5
2
4
9
1
1.0
−1 0
0.5
3
−3
0.0
temp :
60 80 100 120 140 160 bas haut moyen