我正在寻找如何(直观地)向大一学生解释简单的线性相关性。
可视化的经典方法是给出带有直线回归线的Y〜X散点图。
最近,我想到了通过向图添加3张图像来扩展此类图形的想法,剩下的是:y〜1,然后是y〜x,resid(y〜x)〜x,最后是散点图残差(y〜x)〜1(以平均值为中心)
这是这种可视化的示例:
和产生它的R代码:
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)
这使我想到了一个问题:对于如何增强此图形(使用文本,标记或任何其他类型的相关可视化效果),我将不胜感激。添加相关的R代码也很好。
一个方向是添加R ^ 2的某些信息(通过文本或通过某种方式添加表示x引入前后的方差幅度的线)的另一种方法是突出显示一个点并显示其“更好”。解释”归功于回归线。任何输入将不胜感激。
require(mlbench) ; cor( mlbench.smiley()$x ); plot(mlbench.smiley()$x)