Comment créer des tracés résiduels partiels dans R



La régression linéaire multiple est une méthode statistique que nous pouvons utiliser pour comprendre la relation entre plusieurs variables prédictives et une variable de réponse .

Cependant, l’une des hypothèses clés de la régression linéaire multiple est qu’il existe une relation linéaire entre chaque variable prédictive et la variable de réponse.

Si cette hypothèse n’est pas respectée, les résultats du modèle de régression peuvent alors ne pas être fiables.

Une façon de vérifier cette hypothèse consiste à créer un tracé des résidus partiels , qui affiche les résidus d’une variable prédictive par rapport à la variable de réponse.

L’exemple suivant montre comment créer des tracés de résidus partiels pour un modèle de régression dans R.

Exemple : Comment créer des tracés résiduels partiels dans R

Supposons que nous ajustions un modèle de régression avec trois variables prédictives dans R :

#make this example reproducible
set.seed(0)

#define response variable
y <- c(1:1000)

#define three predictor variables
x1 <- c(1:1000)*runif(n=1000)
x2 <- (c(1:1000)*rnorm(n=1000))^2
x3 <- (c(1:1000)*rnorm(n=1000))^3

#fit multiple linear regression model
model <- lm(y~x1+x2+x3))

Nous pouvons utiliser la fonction crPlots() du package car dans R pour créer des tracés résiduels partiels pour chaque variable prédictive du modèle :

library(car)

#create partial residual plots
crPlots(model)

tracés résiduels partiels dans R

La ligne bleue montre les résidus attendus si la relation entre le prédicteur et la variable de réponse était linéaire. La ligne rose montre les résidus réels.

Si les deux lignes sont significativement différentes, cela indique une relation non linéaire.

D’après les graphiques ci-dessus, nous pouvons voir que les résidus pour x2 et x3 semblent non linéaires.

Cela viole l’hypothèse de linéarité de la régression linéaire multiple. Une façon de résoudre ce problème consiste à utiliser une transformation racine carrée ou cubique sur les variables prédictives :

library(car)

#fit new model with transformed predictor variables
model_transformed <- lm(y~x1+sqrt(x2)+log10(x3^(1/3)))

#create partial residual plots for new model
crPlots(model_transformed)

À partir des tracés des résidus partiels, nous pouvons voir que x2 a désormais une relation plus linéaire avec la variable de réponse.

La variable prédictive x3 est encore quelque peu non linéaire, nous pouvons donc décider d’essayer une autre transformation ou éventuellement supprimer complètement la variable du modèle.

Ressources additionnelles

Les didacticiels suivants expliquent comment créer d’autres tracés courants dans R :

Comment créer des tracés de diagnostic dans R
Comment créer un tracé d’échelle et d’emplacement dans R
Comment créer un tracé résiduel dans R

Ajouter un commentaire

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