7.3 Évaluation de la qualité d’ajustement du modèle

Pour illustrer la régression linéaire multiple, nous utilisons un jeu de données tiré d’un article portant sur la distribution spatiale de la végétation sur l’île de Montréal abordée sous l’angle de l’équité environnementale (Apparicio, Pham et al. 2016). Dans cette étude, les auteurs veulent vérifier si certains groupes de population (personnes à faible revenu, minorités visibles, personnes âgées et enfants de moins de 15 ans) ont ou non une accessibilité plus limitée à la végétation urbaine. En d’autres termes, cet article tente de répondre à la question suivante : une fois contrôlées les caractéristiques de la forme urbaine (densité de population et âge du bâti), est-ce que les quatre groupes de population résident dans des îlots urbains avec proportionnellement moins ou plus de végétation?

Dans le tableau 7.1, sont reportées les variables utilisées (calculées au niveau des îlots de l’île de Montréal) introduites dans le modèle de régression :

  • le pourcentage de la superficie de l’îlot couverte par de la végétation, soit la variable indépendante (VI);
  • deux variables indépendantes de contrôle (VC) relatives à la forme urbaine;
  • les pourcentages des quatre groupes de population comme variables indépendantes explicatives (VE).

Notez que ce jeu de données est utilisé tout au long du chapitre. L’équation de départ du premier modèle de régression est donc :

VegPct ~ HABHA + AgeMedian + Pct_014 + Pct_65P + Pct_MV + Pct_FR

Tableau 7.1: Statistiques descriptives pour les variables du modèle
Nom Intitulé Type Moy. E.-T. Q1 Q2 Q3
VegPct Végétation (%) VD 35,1 18,6 20,3 33,8 49,0
HABHA Habitants au km2 VC 87,8 74,0 36,9 68,4 120,5
AgeMedian Âge médian des bâtiments VC 52,1 25,2 37,2 49,0 61,0
Pct_014 Moins de 15 ans (%) VE 15,9 5,3 12,5 15,9 19,3
Pct_65P 65 ans et plus (%) VE 14,9 8,3 9,6 13,9 18,2
Pct_MV Minorités visibles (%) VE 21,0 16,4 8,3 17,2 29,6
Pct_FR Personnes à faible revenu (%) VE 23,6 16,0 11,1 21,3 33,7

7.3.1 Mesures de la qualité d’un modèle

Comme pour la régression linéaire simple (section 4.4), les trois mesures les plus couramment utilisées pour évaluer la qualité d’un modèle sont :

  • Le coefficient de détermination (R2) qui indique la proportion de la variance de la variable dépendante expliquée par les variables indépendantes du modèle (équation (7.9)). Il varie ainsi de 0 à 1.

  • La statistique de Fisher qui permet d’évaluer la significativité globale du modèle (équation (7.10)). Dans le cas d’une régression linéaire multiple, l’hypothèse nulle du test F est que toutes les valeurs des coefficients de régression des variables indépendantes sont égales à 0; autrement dit, qu’aucune des variables indépendantes n’a d’effet sur la variable dépendante. Tel que décrit à la section 4.4.3, il est possible d’obtenir une valeur de p rattachée à la statistique F avec k degrés de liberté au dénominateur et n-k-1 degrés de liberté au numérateur (k et n étant respectivement le nombre de variables indépendantes et le nombre d’observations). Lorsque la valeur de p est inférieure à 0,05, nous pourrons en conclure que le modèle est globalement significatif, c’est-à-dire qu’au moins un coefficient de régression est significativement différent de zéro. Notez qu’il est plutôt rare qu’un modèle de régression, comprenant plusieurs variables indépendantes, soit globalement non significatif (P > 0,05), et ce, surtout s’il est basé sur un cadre conceptuel et théorique solide. Le test de la statistique de Fisher est donc facile à passer et ne constitue pas une preuve absolue de la pertinence du modèle.

  • L’erreur quadratique moyenne (RMSE) qui indique l’erreur absolue moyenne du modèle exprimée dans l’unité de mesure de la variable dépendante, autrement dit l’écart absolu moyen entre les valeurs observées et prédites du modèle (équation (7.11)). Une valeur élevée indique que le modèle se trompe largement en moyenne et inversement.

Rappel sur la décomposition de la variance et calcul du R2, de la statistique F et du RMSE

Rappelez-vous que la variance totale (SCT) est égale à la somme de la variance expliquée (SCE) par le modèle et de la variance non expliquée (SCR) par le modèle.

\[\begin{equation} \underbrace{\sum_{i=1}^n (y_{i}-\bar{y})^2}_{\mbox{variance de Y}} = \underbrace{\sum_{i=1}^n (\widehat{y}_i-\bar{y})^2}_{\mbox{var. expliquée}} + \underbrace{\sum_{i=1}^n (y_{i}-\widehat{y})^2}_{\mbox{var. non expliquée}} \Rightarrow SCT = SCE + SCR \tag{7.8} \end{equation}\]

avec :

  • \(y_{i}\) est la valeur observée de la variable dépendante pour i;
  • \(\bar{y}\) est la valeur moyenne de la variable dépendante;
  • \(\widehat{y}_i\) est la valeur prédite de la variable dépendante pour i.

À partir des trois variances (totale, expliquée et non expliquée), il est alors possible de calculer les trois mesures de la qualité d’ajustement du modèle.

\[\begin{equation} R^2 = \frac{\sum_{i=1}^n (\widehat{y}_i-\bar{y})^2}{\sum_{i=1}^n (y_{i}-\bar{y})^2} = \frac{SCE}{SCT} \mbox{ avec } R^2 \in \left[0,1\right] \tag{7.9} \end{equation}\]

\[\begin{equation} F = \frac{\frac{\sum_{i=1}^n (\widehat{y}_i-\bar{y})^2}{k}}{\frac{\sum_{i=1}^n (y_{i}-\widehat{y})^2}{n-k-1}} = \frac{\frac{SCE}{k}}{\frac{SCR}{n-k-1}} = \frac{\frac{R^2}{k}} {\frac{1-R^2}{n-k-1}} = \frac{(n-k-1)R^2}{k(1-R^2)} \tag{7.10} \end{equation}\]

\[\begin{equation} RMSE = \sqrt{\frac{\sum_{i=1}^n (y_{i}-\widehat{y})^2}{n}} = \sqrt{\frac{SCR}{n}} \tag{7.11} \end{equation}\]

Globalement, plus un modèle de régression est efficace, plus les valeurs du R2 et de la statistique F sont élevées et inversement, plus celle de RMSE est faible. En effet, remarquez qu’à l’équation (7.10), la statistique F peut être obtenue à partir du R2; par conséquent, plus la valeur du R2 est forte (proche de 1), plus celle de F est aussi élevée. Notez aussi que plus un modèle est performant, plus la partie expliquée par le modèle (SCE) est importante et plus celle non expliquée (SCR) est faible; ce qui signifie que plus le R2 est proche de 1 (équation (7.9)), plus le RMSE – calculé à partir du SCR – est faible (équation (7.11)).

La syntaxe R ci-dessous illustre comment calculer les différentes variances (SCT, SCE et SCR) à partir des valeurs observées et prédites par le modèle, puis les valeurs du R2, de F et du RMSE. Nous verrons par la suite qu’il est possible d’obtenir directement ces valeurs à partir de la fonction summary(VotreModele).

# Chargement des données
load("data/lm/DataVegetation.RData")

# Construction du modèle de régression
Modele1 <- lm(VegPct ~ HABHA+AgeMedian+Pct_014+Pct_65P+Pct_MV+Pct_FR, data = DataFinal)

# Nombre d'observations 
n <- nrow(DataFinal)

# Nombre de variables indépendantes (coefficients moins la constante)
k <- length(Modele1$coefficients)-1

# Vecteur pour les valeurs observées
Yobs <- DataFinal$VegPct

# Vecteur pour les valeurs prédites
Ypredit <- Modele1$fitted.values

# Variance totale
SCT <- sum((Yobs-mean(Yobs))^2)

# Variance expliquée
SCE <- sum((Ypredit-mean(Yobs))^2)

# Variance résidelle
SCR <- sum((Yobs-Ypredit)^2)

#  Calcul du coefficient de détermination (R2)
R2 <- SCE / SCT

#  Calcul de la valeur de F
valeurF <- (R2 / k) /((1-R2)/(n-k-1))

cat("R2 =", round(SCE / SCT,4),
    "\nF de Fisher = ", round(valeurF,0),
    "\nRMSE =", round(sqrt(SCR/ n),4)
    )
## R2 = 0.4182 
## F de Fisher =  1223 
## RMSE = 14.1575

7.3.2 Comparaison des modèles incrémentiels

Tel que signalé plus haut, il est fréquent de construire plusieurs modèles de régression imbriqués. Cette démarche est très utile pour évaluer l’apport de l’introduction d’un nouveau bloc de variables dans un modèle. De manière exploratoire, cela permet également de vérifier si l’introduction d’une variable indépendante supplémentaire dans un modèle a ou non un apport significatif et ainsi de décider de la conserver, ou non, dans le modèle final selon le principe de parcimonie.

Le principe de parcimonie

Le principe de parcimonie appliqué aux régressions correspond à l’idée qu’il est préférable de disposer d’un modèle plus simple que d’un modèle compliqué pour expliquer un phénomène si la qualité de leurs prédictions – qualité d’ajustement des deux modèles – est équivalente.

Une première justification de ce principe trouve son origine dans la philosophie des sciences avec le rasoir d’Ockham. Il s’agit d’un principe selon lequel il est préférable de privilégier des théories faisant appel à un plus petit nombre d’hypothèses. L’idée centrale étant d’éviter d’apporter des réponses à une question qui soulèveraient davantage de nouvelles questions. Dans le cas d’une régression, nous pourrions être tenté d’ajouter de nombreuses variables indépendantes pour améliorer la capacité de prédiction du modèle. Cette stratégie conduit généralement à observer des relations contraires à nos connaissances entre les variables du modèle, ce qui soulève de nouvelles questions de recherche (pas toujours judicieuses…). Dans notre quotidien, si une casserole tombe de son support, il est plus raisonnable d’imaginer que nous l’avions mal fixée que d’émettre l’hypothèse qu’un fantôme l’a volontairement fait tomber! Cette seconde hypothèse soulève d’autres questions (pas toujours judicieuses…) sur la nature d’un fantôme, son identité, la raison le poussant à agir, etc.

Une seconde justification de ce principe s’observe dans la pratique statistique : des modèles plus complexes ont souvent une plus faible capacité de généralisation. En effet, un modèle complexe et trop bien ajusté aux données observées est souvent incapable d’effectuer des prédictions justes pour de nouvelles données. Ce phénomène est appelé surajustement ou surinterprétation (overfitting en anglais). Le surajustement résultant de modèles trop complexes entre en conflit direct avec l’enjeu principal de l’inférence en statistique : pouvoir généraliser des observations faites sur un échantillon au reste d’une population.

Notez que ce principe de parcimonie ne signifie pas que vous devez systématiquement retirer toutes les variables non significatives de votre analyse. En effet, il peut y avoir un intérêt théorique à démontrer l’absence de relation entre des variables. Il s’agit plutôt d’une ligne de conduite à garder à l’esprit lors de l’élaboration du cadre théorique et de l’interprétation des résultats.

Mathématiquement, plus nous ajoutons de variables supplémentaires dans un modèle, plus le R2 augmente. On ne peut donc pas utiliser directement le R2 pour comparer deux modèles de régression ne comprenant pas le même nombre de variables indépendantes. Nous privilégions alors l’utilisation du R2 ajusté qui, comme illustré dans l’équation (7.12), tient compte à la fois des nombres d’observations et des variables indépendantes utilisées pour construire le modèle.

\[\begin{equation} R^2_{\text {ajusté}}= 1 - \frac{(1-R^2)(n-1)}{n-k-1} \mbox{ avec } R^2_{\text {ajusté}} \in \left[0,1\right] \tag{7.12} \end{equation}\]

Si le R2 ajusté du second modèle est supérieur au premier modèle, cela signifie qu’il y a un gain de la variance expliquée entre le premier et le second modèle. Ce gain est-il pour autant significatif? Pour y répondre, il convient de comparer les valeurs des statistiques F des deux modèles. Pour ce faire, nous calculons le F incrémentiel et la valeur de p qui lui est associé avec comme degrés de liberté, le nombre de variables indépendantes ajoutées (\(k_2-k_1\)) et \(n-k_2-1\). Si la valeur de p < 0,05, nous pouvons conclure que le gain de variance expliquée par le second modèle est significatif comparativement au premier modèle (au seuil de 5nbsp;%).

\[\begin{equation} F_{\text {incrémentiel}}= \frac{\frac{R^2_2-R^2_1}{k_2-k_1}} {\frac{1-R^2_2}{n-k_2-1}} \tag{7.13} \end{equation}\]

avec \(R^2_1\) et \(R^2_2\) étant les coefficients de détermination des modèles 1 et 2 et \(k_1\) et \(k_2\) étant les nombres de variables indépendantes qu’ils comprennent (\(k_2 > k_1\)).

Illustrons le tout avec deux modèles. Dans la syntaxe R ci-dessous, nous avons construit un premier modèle avec uniquement les variables de contrôle (modele1), soit deux variables indépendantes (HABHA et AgeMedian). Puis, dans un second modèle (modele2), nous ajoutons comme variables indépendantes les pourcentages des quatre groupes de population (Pct_014, Pct_65P, Pct_MV, Pct_FR). Repérez comment sont calculés les R2 ajustés pour les modèles et le F incrémentiel.

Le R2 ajusté passe de 0,269 à 0,418 des modèles 1 à 2 signalant que l’ajout des quatre variables indépendantes augmente considérablement la variance expliquée. Autrement dit, le second modèle est bien plus performant. Le F incrémentiel s’élève à 653,8 et est significatif (p < 0,001). Notez que la syntaxe ci-dessous illustre comment calculer les valeurs du R2 ajusté et du F incrémentiel à partir des équations (7.12) et (7.13). Sachez toutefois qu’il est possible d’obtenir directement le R2 ajusté avec la fonction summary(VotreModele) et le F incrémentiel avec la fonction anova(modele1, modele2).

modele1 <- lm(VegPct ~ HABHA+AgeMedian, data = DataFinal)
modele2 <- lm(VegPct ~ HABHA+AgeMedian+Pct_014+Pct_65P+Pct_MV+Pct_FR, data = DataFinal)

# nombre d'observations pour les deux modèles
n1 <- length(modele1$fitted.values)
n2 <- length(modele2$fitted.values)

# nombre de variables indépendantes
k1 <- length(modele1$coefficients)-1
k2 <- length(modele2$coefficients)-1

# coefficient de détermination
R2m1 <- summary(modele1)$r.squared
R2m2 <- summary(modele2)$r.squared

# coefficient de détermination ajusté
R2ajustm1 <- 1-(((n1-1)*(1-R2m1)) / (n1-k1-1))
R2ajustm2 <- 1-(((n2-1)*(1-R2m2)) / (n2-k2-1))

# Statistique F
Fm1 <- summary(modele1)$fstatistic[1]
Fm2 <- summary(modele2)$fstatistic[1]

# F incrémentiel
Fincrementiel <- ((R2m2-R2m1) / (k2 - k1)) / ( (1-R2m2)/(n2-k2-1))
pFinc <- pf(Fincrementiel, k2-k1, n2-k2-1, lower.tail = FALSE)

cat("\nR2 (modèle 1) =", round(R2m1,4), 
    "; R2 ajusté = ", round(R2ajustm1,4), 
    "; F =", round(Fm1, 1),
    "\nR2 (modèle 2) =", round(R2m2,4), 
    "; R2 ajusté = ", round(R2ajustm2,4), 
    "; F =", round(Fm2, 1),
    "\nF incrémentiel =", round(Fincrementiel,1), 
    "; p = ", round(pFinc,3)
)
## 
## R2 (modèle 1) = 0.2691 ; R2 ajusté =  0.269 ; F = 1879.2 
## R2 (modèle 2) = 0.4182 ; R2 ajusté =  0.4179 ; F = 1222.5 
## F incrémentiel = 653.8 ; p =  0
# F incrémentiel avec la fonction anova
anova(modele1, modele2)
## Analysis of Variance Table
## 
## Model 1: VegPct ~ HABHA + AgeMedian
## Model 2: VegPct ~ HABHA + AgeMedian + Pct_014 + Pct_65P + Pct_MV + Pct_FR
##   Res.Df     RSS Df Sum of Sq     F    Pr(>F)    
## 1  10207 2570964                                 
## 2  10203 2046427  4    524537 653.8 < 2.2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Références

Apparicio, Philippe, Thi-Thanh-Hien Pham, Anne-Marie Séguin et Jean Dubé. 2016. « Spatial distribution of vegetation in and around city blocks on the Island of Montreal: A double environmental inequity? » Applied Geography 76: 128‑136. http://dx.doi.org/10.1016/j.apgeog.2016.09.023.