我想知道当我有一个单变量回归时,研究关于因变量的残差图是否有意义。如果有意义的话,残差(y 轴上)和因变量的估计值(x 轴上)之间的强、线性、不断增长的相关性意味着什么?
研究关于因变量的残差图是否有意义?
机器算法验证
回归
残差
2022-03-08 13:19:54
4个回答
假设你有回归, 在哪里. 然后,. 越高的值,残差越大。相反,残差图应该没有系统的关系。另外,预测值应该是大约---每次观察都一样。如果所有预测值大致相同,则它们应该与误差不相关。
剧情告诉我的是和本质上是不相关的(当然,有更好的方法来证明这一点)。让我们知道您的系数是否不接近于 0。
作为更好的诊断方法,使用残差图与预测工资或价值。您不应在这些图中观察到可区分的模式。
如果你想要一个小小的 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)
假设正确指定了估计模型...
让我们表示, 矩阵是一个投影矩阵,所以和.
.
因此,残差与预测因变量的散点图应该没有相关性。
但!
.
矩阵是一个投影矩阵,其特征值为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))
这似乎就像我刚开始时所做的那样。