J'ai commencé à creuser un peu dans la fonction plot.lm , cette fonction donne six tracés pour lm, ce sont:
- un tracé des résidus par rapport aux valeurs ajustées
- un graphique Scale-Location de sqrt (| résidus |) par rapport aux valeurs ajustées
- un tracé QQ normal, un tracé des distances de Cook par rapport aux étiquettes de ligne
- un tracé des résidus contre les effets de levier
- un tracé des distances de Cook contre l'effet de levier / (1 effet de levier)
Et je me demande quelles autres extensions communes / utiles des tracés actuels existent pour les modèles linéaires, et comment peuvent-elles être faites dans R? (les liens vers les articles des packages sont également les bienvenus)
Donc, la fonction boxcox (de {MASS}) est un exemple d'un autre tracé de diagnostic utile (et une telle réponse serait formidable), cependant, je suis plus curieux de connaître les variations / extensions sur les tracés de diagnostic par défaut existants pour lm dans R (bien que général d'autres remarques sur le sujet sont toujours les bienvenues).
Voici quelques exemples simples de ce que je veux dire:
#Some example code for all of us to refer to
set.seed(2542)
x1 <- rnorm(100)
x2 <- runif(100, -2,2)
eps <- rnorm(100,0,2)
y <- 1 + 2*x1 + 3*x2 + eps
y[1:4] <- 14 # adding some contaminated points
fit <- lm(y~x1+x2)
#plot(y~x1+x2)
#summary(fit)
Pour tracer les résidus en fonction de chacun des potentiels x
plot(resid(fit)~x1); abline (h = 0)
plot(resid(fit)~x2); abline (h = 0)
# plot(resid(fit)~x1+x2) # you can also use this, but then you wouldn't be able to use the abline on any plot but the last one
Pour ajouter la ligne 0-1 (comment cette ligne est-elle appelée en anglais?!) Au qqplot afin de voir à quel point la qqline s'en écarte
plot(fit, which = 2); abline(0,1, col = "green")
Pour tracer le qq-plot en utilisant des résidus externes étudiés
# plot(fit, which = 2); abline(0,1, col = "green") # The next command is just like this one
qqnorm(rstandard(fit), ylim = c(-2.2,4.2)); qqline(rstudent(fit), lty = 2) ;abline(0,1, col = "green")
qqnorm(rstudent(fit), ylim = c(-2.2,4.2)); qqline(rstudent(fit), lty = 2) ;abline(0,1, col = "green")
# We can note how the "bad" points are more extreme when using the rstudent