研究关于因变量的残差图是否有意义?

机器算法验证 回归 残差
2022-03-08 13:19:54

我想知道当我有一个单变量回归时,研究关于因变量的残差图是否有意义。如果有意义的话,残差(y 轴上)和因变量的估计值(x 轴上)之间的强、线性、不断增长的相关性意味着什么?

在此处输入图像描述

4个回答

假设你有回归yi=β0+β1xi+ϵi, 在哪里β10. 然后,yiβ0ϵi. 越高的y值,残差越大。相反,残差图x应该没有系统的关系。另外,预测值y^i应该是大约β^0---每次观察都一样。如果所有预测值大致相同,则它们应该与误差不相关。

剧情告诉我的是xy本质上是不相关的(当然,有更好的方法来证明这一点)。让我们知道您的系数是否β^1不接近于 0。

作为更好的诊断方法,使用残差图与预测工资或x价值。您不应在这些图中观察到可区分的模式。

如果你想要一个小小的 R 演示,你可以去:

y      <- rnorm(100, 0, 5)
x      <- rnorm(100, 0, 2)
res    <- lm(y ~ x)$residuals
fitted <- lm(y ~ x)$fitted.values
plot(y, res)
plot(x, res)
plot(fitted, res)

假设正确指定了估计模型...

让我们表示PX=X(XX)1X, 矩阵PX是一个投影矩阵,所以PX2=PXPX=PX.

Cov(Y^,e^)=Cov(PXY,(IPX)Y)=PXCov(Y,Y)(IPX)=σ2PX(IPX)=0.

因此,残差与预测因变量的散点图应该没有相关性。

但!

Cov(Y,e^)=Cov(Y,(IPX)Y)=Cov(Y,Y)(IPX)=σ2(IPX).

矩阵σ2(IPX)是一个投影矩阵,其特征值为0或+1,是半正定的。所以它应该在对角线上有非负值。因此,残差与原始因变量的散点图应显示正相关。

据我所知,Gretl 默认生成残差图与原始因变量(不是预测的变量!)。

您是否可能将拟合/预测值与实际值混淆?

正如@gung 和@biostat 所说,您希望拟合值和残差之间没有关系。另一方面,在因变量/结果变量的实际值与残差之间找到线性关系是意料之中的,并不是特别有用。

添加以澄清前一句:残差与结果的实际值之间的任何线性关系都不是预期的......对于低测量值 Y,来自有用模型的预测值 Y实际测量值,反之亦然。

提供的答案让我对这里发生的事情有了一些想法。我相信有可能是偶然犯了一些错误。看看下面的故事是否有意义:首先,我认为数据中的 X 和 Y 之间可能存在很强的关系(这里有一些代码和情节):

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")

在此处输入图像描述

但是错误地仅根据平均值预测了 Y。更复杂的是,仅均值模型的残差针对 X 绘制,即使打算针对拟合值进行绘制(代码和绘图):

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")

在此处输入图像描述

我们可以通过拟合适当的模型并从中绘制残差(代码和绘图)来解决此问题:

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))

在此处输入图像描述

这似乎就像我刚开始时所做的那样。