Comment créer un tracé résiduel dans ggplot2 (avec exemple)



Les tracés des résidus sont utilisés pour évaluer si les résidus d’un modèle de régression sont normalement distribués et s’ils présentent ou non une hétéroscédasticité .

Pour créer un tracé résiduel dans ggplot2, vous pouvez utiliser la syntaxe de base suivante :

library(ggplot2)

ggplot(model, aes(x = .fitted, y = .resid)) +
  geom_point() +
  geom_hline(yintercept = 0)

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : création d’un tracé résiduel dans ggplot2

Pour cet exemple, nous utiliserons l’ensemble de données mtcars intégré dans R :

#view first six rows of mtcars dataset
head(mtcars)
                   mpg cyl disp  hp drat    wt  qsec vs am gear carb
Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1

Tout d’abord, nous allons ajuster un modèle de régression en utilisant mpg comme variable de réponse et qsec comme variable prédictive :

#fit regression model
model <- lm(mpg ~ qsec, data=mtcars) 

Ensuite, nous utiliserons la syntaxe suivante pour créer un tracé résiduel dans ggplot2 :

library(ggplot2)

#create residual plot
ggplot(model, aes(x = .fitted, y = .resid)) +
  geom_point() +
  geom_hline(yintercept = 0)

tracé résiduel dans ggplot2

L’axe des x affiche les valeurs ajustées et l’axe des y affiche les résidus.

Les résidus semblent être dispersés de manière aléatoire autour de zéro sans motif clair, ce qui indique que l’hypothèse d’homoscédasticité est satisfaite.

En d’autres termes, les coefficients du modèle de régression doivent être fiables et nous n’avons pas besoin d’effectuer de transformation sur les données.

Notez également que nous pourrions utiliser la fonction labs() pour ajouter un titre et des étiquettes d’axe au tracé résiduel :

library(ggplot2)

#create residual plot with title and axis labels
ggplot(model, aes(x = .fitted, y = .resid)) +
  geom_point() +
  geom_hline(yintercept = 0) +
  labs(title='Residual vs. Fitted Values Plot', x='Fitted Values', y='Residuals')

ggplot2 tracé des valeurs résiduelles par rapport aux valeurs ajustées avec les étiquettes des axes

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :

Comment calculer les résidus standardisés dans R
Comment calculer les résidus studentisés dans R
Comment créer un histogramme de résidus dans R

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *