Document complémentaire au module 2 du cours SDD II de 2025-2026. Distribué sous licence CC BY-NC-SA 4.0.

Veuillez vous référer au cours en ligne pour les explications et les interprétations de cette analyse.

Installer un environnement R adéquat pour reproduire cette analyse.

# Dialecte SciViews::R avec la section dédiée à la modélisation
SciViews::R("model", lang = "fr")

# Importation des données depuis le package {datasets}
trees <- read("trees", package = "datasets")
# Régression (même modèle que dans le module 1)
trees_lm <- lm(data = trees, volume ~ diameter)
# Résumé du modèle
summary_(trees_lm)
## 
## Call:
## lm(formula = volume ~ diameter, data = trees)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.231211 -0.087021  0.003533  0.100594  0.271725 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -1.04748    0.09553  -10.96 7.85e-12 ***
## diameter     5.65154    0.27649   20.44  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1206 on 29 degrees of freedom
## Multiple R-squared:  0.9351, Adjusted R-squared:  0.9329 
## F-statistic: 417.8 on 1 and 29 DF,  p-value: < 2.2e-16
# Tableau de l'ANOVA pour notre modèle
anova(trees_lm)
## Analysis of Variance Table
## 
## Response: volume
##           Df Sum Sq Mean Sq F value    Pr(>F)    
## diameter   1 6.0762  6.0762   417.8 < 2.2e-16 ***
## Residuals 29 0.4218  0.0145                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Version formatée à l'aide de tabularise()
anova(trees_lm) |>
  tabularise()

Analyse de la variance
Réponse : volume

Terme

Ddl

Somme des carrés

Carrés moyens

Valeur de Fobs.

Valeur de p

diameter

1

6.076

6.0762

418

< 2·10-16

***

Résidus

29

0.422

0.0145

0 <= '***' < 0.001 < '**' < 0.01 < '*' < 0.05

# Résumé du modèle formaté avec tabuslarise()
summary_(trees_lm) |>
  tabularise()

Volume de bois  [m3]=α+β(Diameˋtre aˋ 1,4m  [m])+ϵ\operatorname{Volume\ de\ bois\ \ [m^{3}]} = \alpha + \beta_{}(\operatorname{Diamètre\ à\ 1,4m\ \ [m]}) + \epsilon

Terme

Valeur estimée

Ecart type

Valeur de t

Valeur de p

α\alpha

-1.05

0.0955

-11.0

7.85·10-12

***

β\beta_{}

5.65

0.2765

20.4

< 2·10-16

***

0 <= '***' < 0.001 < '**' < 0.01 < '*' < 0.05

Etendue des résidus : [-0.2312, 0.2717]
Ecart type des résidus : 0.1206 pour 29 degrés de liberté
R2 multiple : 0.9351 - R2 ajusté : 0.9329
Statistique F : 417.8 sur 1 et 29 ddl - valeur de p : < 2.22e-16

# Second modèle ajusté sur un sous-ensemble des données
trees_lm2 <- lm(data = trees, volume ~ diameter, subset = diameter < 0.5)
chart(trees_lm2)

# Résumé de notre second modèle
summary_(trees_lm2) |>
  tabularise()

volume=α+β(diameter)+ϵ\operatorname{volume} = \alpha + \beta_{}(\operatorname{diameter}) + \epsilon

Terme

Valeur estimée

Ecart type

Valeur de t

Valeur de p

α\alpha

-0.944

0.0931

-10.1

6.98·10-11

***

β\beta_{}

5.312

0.2754

19.3

< 2·10-16

***

0 <= '***' < 0.001 < '**' < 0.01 < '*' < 0.05

Etendue des résidus : [-0.2151, 0.1814]
Ecart type des résidus : 0.1082 pour 28 degrés de liberté
R2 multiple : 0.93 - R2 ajusté : 0.9275
Statistique F : 372.1 sur 1 et 28 ddl - valeur de p : < 2.22e-16

# Analyse des résidus (4 graphiques principaux)
chart$residuals(trees_lm2)

# Régression multiple utilisant deux variable indépendantes
trees_lm3 <- lm(data = trees, volume ~ diameter + height)
summary_(trees_lm3) |>
  tabularise()

Volume de bois  [m3]=α+β1(Diameˋtre aˋ 1,4m  [m])+β2(Hauteur  [m])+ϵ\operatorname{Volume\ de\ bois\ \ [m^{3}]} = \alpha + \beta_{1}(\operatorname{Diamètre\ à\ 1,4m\ \ [m]}) + \beta_{2}(\operatorname{Hauteur\ \ [m]}) + \epsilon

Terme

Valeur estimée

Ecart type

Valeur de t

Valeur de p

α\alpha

-1.6356

0.2446

-6.69

2.95·10-07

***

β1\beta_{1}

5.2564

0.2959

17.76

< 2·10-16

***

β2\beta_{2}

0.0311

0.0121

2.57

1.56·10-02

*

0 <= '***' < 0.001 < '**' < 0.01 < '*' < 0.05

Etendue des résidus : [-0.1804, 0.2418]
Ecart type des résidus : 0.1104 pour 28 degrés de liberté
R2 multiple : 0.9475 - R2 ajusté : 0.9438
Statistique F : 252.7 sur 2 et 28 ddl - valeur de p : < 2.22e-16

# Analyse des résidus synthétique du troisième modèle
chart$residuals(trees_lm3) 

# Comparaison de deux modèles imbriqués par ANOVA
anova(trees_lm, trees_lm3) |>
  tabularise()

Modèle

Ddl des résidus

Somme des carrés des résidus

Ddl

Somme des carrés

Valeur de Fobs.

Valeur de p

volume ~ diameter

29

0.422

volume ~ diameter + height

28

0.341

1

0.0807

6.63

0.0156

*

0 <= '***' < 0.001 < '**' < 0.01 < '*' < 0.05

# Modèle polynomial d'ordre 2
trees_lm4 <- lm(data = trees, volume ~  diameter + I(diameter^2))
summary_(trees_lm4) |> tabularise()

Volume de bois  [m3]=α+β1(Diameˋtre aˋ 1,4m  [m])+β2(diameter2)+ϵ\operatorname{Volume\ de\ bois\ \ [m^{3}]} = \alpha + \beta_{1}(\operatorname{Diamètre\ à\ 1,4m\ \ [m]}) + \beta_{2}(\operatorname{diameter^{2}}) + \epsilon

Terme

Valeur estimée

Ecart type

Valeur de t

Valeur de p

α\alpha

0.311

0.318

0.978

0.336293

β1\beta_{1}

-2.372

1.838

-1.290

0.207489

β2\beta_{2}

11.236

2.556

4.396

0.000144

***

0 <= '***' < 0.001 < '**' < 0.01 < '*' < 0.05

Etendue des résidus : [-0.1579, 0.215]
Ecart type des résidus : 0.09441 pour 28 degrés de liberté
R2 multiple : 0.9616 - R2 ajusté : 0.9589
Statistique F : 350.5 sur 2 et 28 ddl - valeur de p : < 2.22e-16

chart(trees_lm4)

# Analyse des résidus synthétique du modèle polynomial
chart$residuals(trees_lm4)

# Modèle simplifié
trees_lm5 <- lm(data = trees, volume ~  I(diameter^2) + 0)
summary_(trees_lm5) |>
  tabularise()

Volume de bois  [m3]=β(diameter2)+ϵ\operatorname{Volume\ de\ bois\ \ [m^{3}]} = \beta_{}(\operatorname{diameter^{2}}) + \epsilon

Terme

Valeur estimée

Ecart type

Valeur de t

Valeur de p

β\beta_{}

7.3

0.14

52.3

< 2·10-16

***

0 <= '***' < 0.001 < '**' < 0.01 < '*' < 0.05

Etendue des résidus : [-0.1947, 0.1824]
Ecart type des résidus : 0.1027 pour 30 degrés de liberté
R2 multiple : 0.9891 - R2 ajusté : 0.9888
Statistique F : 2731 sur 1 et 30 ddl - valeur de p : < 2.22e-16

# Modèle multiple et polynomial
trees_lm6 <- lm(data = trees, volume ~  diameter + I(diameter^2) + height)
summary_(trees_lm6) |>
  tabularise()

Volume de bois  [m3]=α+β1(Diameˋtre aˋ 1,4m  [m])+β2(diameter2)+β3(Hauteur  [m])+ϵ\operatorname{Volume\ de\ bois\ \ [m^{3}]} = \alpha + \beta_{1}(\operatorname{Diamètre\ à\ 1,4m\ \ [m]}) + \beta_{2}(\operatorname{diameter^{2}}) + \beta_{3}(\operatorname{Hauteur\ \ [m]}) + \epsilon

Terme

Valeur estimée

Ecart type

Valeur de t

Valeur de p

α\alpha

-0.2671

0.28489

-0.938

3.57·10-01

β1\beta_{1}

-3.2814

1.46340

-2.242

3.34·10-02

*

β2\beta_{2}

11.8917

2.01925

5.889

2.83·10-06

***

β3\beta_{3}

0.0348

0.00817

4.259

2.23·10-04

***

0 <= '***' < 0.001 < '**' < 0.01 < '*' < 0.05

Etendue des résidus : [-0.1217, 0.1256]
Ecart type des résidus : 0.07436 pour 27 degrés de liberté
R2 multiple : 0.977 - R2 ajusté : 0.9745
Statistique F : 382.8 sur 3 et 27 ddl - valeur de p : < 2.22e-16

# Calcul du RMSE pour le modèle linéaire simple
rmse(trees_lm, trees)
## [1] 0.1166409
# Comparaison de modèles par le critère d'Akaike
AIC(trees_lm) # Linéaire diamètre
## [1] -39.24246
AIC(trees_lm3) # Multiple diamètre et hauteur
## [1] -43.82811
AIC(trees_lm4) # Polynomial d'ordre 2 diamètre
## [1] -53.50964
AIC(trees_lm5) # Diamètre^2
## [1] -50.15027
AIC(trees_lm6) # Multiple et polynomial
## [1] -67.4391
# Analyse des résidus du modèle multiple et polynomial
chart$residuals(trees_lm6)

# Calcul du RMSE pour les deux modèles finalistes
rmse(trees_lm6, trees) # Multiple et polynomial
## [1] 0.06939391
rmse(trees_lm4, trees) # Polynomial ordre 2 diamètre
## [1] 0.08972287