Les réponses proposées me donnent quelques idées sur ce qui se passe ici. Je pense qu'il y a peut-être eu des erreurs par accident. Voyez si l'histoire suivante a du sens: pour commencer, je pense qu'il y a probablement une forte relation entre X & Y dans les données (voici du code et un tracé):
set.seed(5)
wage <- rlnorm(1000, meanlog=2.3, sdlog=.5)
something_else <- .7*wage + rnorm(1000, mean=0, sd=1)
plot(wage, something_else, pch=3, col="red", main="Plot X vs. Y")
Mais par erreur, Y a été prévu uniquement à partir de la moyenne. Pour ajouter à cela, les résidus du modèle de moyenne seule sont tracés en fonction de X, même si ce qui était prévu était de tracer en fonction des valeurs ajustées (code et tracé):
meanModel <- lm(something_else~1)
windows()
plot(wage, meanModel$residuals, pch=3, col="red",
main="Plot of residuals from Mean only Model against X")
abline(h=0, lty="dotted")
Nous pouvons résoudre ce problème en ajustant le modèle approprié et en traçant les résidus à partir de cela (code et tracé):
appropriateModel <- lm(something_else~wage)
windows()
plot(appropriateModel$fitted.values, appropriateModel$residuals, pch=3, col="red",
main="Plot of residuals from the appropriate\nmodel against fitted values")
lines(lowess(appropriateModel$residuals~appropriateModel$fitted.values))
Cela semble être juste le genre de gaffes que j'ai faites au début.