Je cherche à expliquer (visuellement) la corrélation linéaire simple aux étudiants de première année.
La manière classique de visualiser serait de donner un nuage de points Y ~ X avec une droite de régression.
Récemment, j'ai eu l'idée d'étendre ce type de graphisme en ajoutant à l'intrigue 3 images supplémentaires, me laissant avec: l'intrigue de y ~ 1, puis de y ~ x, resid (y ~ x) ~ x et enfin des résidus (y ~ x) ~ 1 (centré sur la moyenne)
Voici un exemple d'une telle visualisation:
Et le code R pour le produire:
set.seed(345)
x <- runif(50) * 10
y <- x +rnorm(50)
layout(matrix(c(1,2,2,2,2,3 ,3,3,3,4), 1,10))
plot(y~rep(1, length(y)), axes = F, xlab = "", ylim = range(y))
points(1,mean(y), col = 2, pch = 19, cex = 2)
plot(y~x, ylab = "", )
abline(lm(y~x), col = 2, lwd = 2)
plot(c(residuals(lm(y~x)) + mean(y))~x, ylab = "", ylim = range(y))
abline(h =mean(y), col = 2, lwd = 2)
plot(c(residuals(lm(y~x)) + mean(y))~rep(1, length(y)), axes = F, xlab = "", ylab = "", ylim = range(y))
points(1,mean(y), col = 2, pch = 19, cex = 2)
Ce qui m'amène à ma question: j'apprécierais toute suggestion sur la façon dont ce graphique peut être amélioré (soit avec du texte, des marques ou tout autre type de visualisations pertinentes). Ajouter du code R pertinent sera également une bonne chose.
Une direction consiste à ajouter des informations sur le R ^ 2 (soit par texte, soit en ajoutant des lignes présentant l'ampleur de la variance avant et après l'introduction de x) Une autre option consiste à mettre en évidence un point et à montrer comment il est "meilleur expliqué "grâce à la droite de régression. Toute contribution sera appréciée.
require(mlbench) ; cor( mlbench.smiley()$x ); plot(mlbench.smiley()$x)