由于Y和X的相关性,如何在解释方差中表示增益?


11

我正在寻找如何(直观地)向大一学生解释简单的线性相关性。

可视化的经典方法是给出带有直线回归线的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引入前后的方差幅度的线)​​的另一种方法是突出显示一个点并显示其“更好”。解释”归功于回归线。任何输入将不胜感激。


1
同时,您将展示线性回归有多么出色,还请向您的听众展示在线性关系无法很好描述的情况下线性回归是如何失败的:require(mlbench) ; cor( mlbench.smiley()$x ); plot(mlbench.smiley()$x)
DWin 2011年

Will do Dwin ... :-)
Tal Galili

Answers:


4

以下是一些建议(关于您的情节,而不是我将如何说明相关性/回归分析):

  • 您可以通过调用来简化显示在右边距和左边距中的两个单变量图rug()
  • 我发现更多有用的信息可以显示和的密度图或箱线图,这有可能让人联想到在这种情况下没有意义的双正态假设的想法;ÿXY
  • 除了回归线外,还值得显示出趋势的非参数估计值,就像黄土一样(这是一种很好的做法,并且对可能的局部非线性具有很高的信息价值);
  • 根据杠杆效应或库克距离,可以突出显示点(具有不同的颜色或大小),即显示估计的回归线上有影响力的各个值的任何度量。我将@DWin的评论放在第二位,我认为最好突出显示各个点如何“降低”拟合优度或导致某种程度上偏离线性假设。

值得注意的是,此图假定X和Y是非配对数据,否则除散点图外,我还会坚持Bland-Altman图(对)。X + Y / 2(XY)(X+Y)/2


1

不回答你的问题相关,但有如下可能通过可视化基础上的线性相关性的一个可能的缺陷是很有意思的回答来自stackoveflow

par(mfrow=c(2,1))

set.seed(1)
x <- rnorm(1000)
y <- rnorm(1000)
plot(y~x, ylab = "", main=paste('1000 random values (r=', round(cor(x,y), 4), ')',  sep=''))
abline(lm(y~x), col = 2, lwd = 2)

x <- c(x, 500)
y <- c(y, 500)
cor(x,y)
plot(y~x, ylab = "", main=paste('1000 random values and (500, 500) (r=', round(cor(x,y), 4), ')',  sep=''))
abline(lm(y~x), col = 2, lwd = 2)

替代文字

@Gavin Simpson@ bill_080的答案在同一主题中也包含很好的相关性图。


1

我有两个两面板图,两个都在左侧有xy图,在右侧有一个直方图。在第一个图中,一条水平线放置在y的平均值处,并且从该点延伸到每个点的线,代表从该平均值开始的y值的残差。直方图与此简单地绘制了这些残差。然后在下一个对中,xy图包含代表线性拟合的线和代表残差的垂直线,它们在右侧的直方图中表示。保持直方图的x轴恒定,以突出显示相对于均值“拟合”线性拟合中较低值的偏移。


1

我认为您的建议是好的,但是我会在三个不同的例子中做到这一点

1)X和Y完全无关。只需从生成y的r代码中删除“ x”(y1 <-rnorm(50))

2)您发布的示例(y2 <-x + rnorm(50))

3)X和Y是相同的变量。只需从生成y(y3 <-x)的r代码中删除“ rnorm(50)”

这将更明确地显示出增加相关性如何减少残差的可变性。您只需要确保垂直轴不会随每个图而变化,如果您使用默认缩放比例,则可能会发生这种情况。

因此,您可以比较三个图r1与x,r2与x和r3与x。我使用“ r”表示分别使用y1,y2和y3拟合的残差。

我的R绘图技能非常绝望,因此在这里我不能提供太多帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.