残差图:为什么图与拟合值相比,未观察到是Y价值观?

机器算法验证 回归 残差
2022-01-28 07:15:10

在 OLS 回归的背景下,我了解残差图(与拟合值)通常被视为测试常数方差并评估模型规范。为什么根据拟合绘制残差,而不是值?这两个图的信息有何不同?Y

我正在研究产生以下残差图的模型:

在此处输入图像描述

在此处输入图像描述

因此,该图与拟合值一目了然,但第二张图与值的对比有一个模式。我想知道为什么这种明显的模式也不会出现在残差与拟合图中......Y

我不是在寻求诊断模型问题的帮助,而只是试图了解(1)残差与拟合图和(2)残差与图之间的差异(通常)。Y

对于它的价值,我确信第二张图表中的错误模式是由于影响 DV 的省略变量造成的。我目前正在努力获取该数据,我希望这将有助于整体拟合和规范。我正在处理房地产数据:DV=销售价格。IVs:平方英尺的房子,# 个车库空间,建造年份,建造年份2

2个回答

我认为您对我的陈述感到满意的两个事实:

一世。yi=y^i+e^i

ii. Cov(y^i,e^i)=0

然后:

Cov(yi,e^i)=Cov(y^i+e^i,e^i)

=Cov(y^i,e^i)+Cov(e^i,e^i)

=0+σe2

=σe2

因此,虽然拟合值与残差不相关,但观察值.

实际上,这是因为观测值和残差都与误差项有关。

这通常使得使用残差与观察图进行诊断变得有些困难。

通过构建,OLS 模型中的误差项与 X 协变量的观测值不相关。即使模型产生不反映参数真实值的有偏估计,因为违反了模型的假设(如遗漏变量问题或具有反向因果关系的问题),这对于观察到的数据始终是正确的。预测值完全是这些协变量的函数,因此它们也与误差项不相关。因此,当您根据预测值绘制残差时,它们应该始终看起来是随机的,因为它们确实与估计量的构造不相关。相反,在实践中,模型的误差项与 Y 相关是完全可能的(而且确实很可能)。例如,对于二分 X 变量,真正的 Y 离任一变量越远E(Y | X = 1)否则E(Y | X = 0)残差越大。这是与 R 中的模拟数据相同的直觉,我们知道模型是无偏的,因为我们控制了数据生成过程:

rm(list=ls())
set.seed(21391209)

trueSd <- 10
trueA <- 5
trueB <- as.matrix(c(3,5,-1,0))
sampleSize <- 100

# create independent x-values
x1 <- rnorm(n=sampleSize, mean = 0, sd = 4)
x2 <-  rnorm(n=sampleSize, mean = 5, sd = 10)
x3 <- 3 + x1 * 4 + x2 * 2 + rnorm(n=sampleSize, mean = 0, sd = 10)
x4 <- -50 + x1 * 7 + x2 * .5 + x3 * 2  + rnorm(n=sampleSize, mean = 0, sd = 20)
X = as.matrix(cbind(x1,x2,x3,x4))


# create dependent values according to a + bx + N(0,sd)
Y <-  trueA +  X %*%  trueB  +rnorm(n=sampleSize,mean=0,sd=trueSd)


df = as.data.frame(cbind(Y,X))
colnames(df) <- c("y", "x1", "x2", "x3", "x4")
ols = lm(y~x1+x2+x3+x4, data = df)
y_hat = predict(ols, df)
error = Y - y_hat
cor(y_hat, error) #Zero
cor(Y, error) #Not Zero

我们得到与有偏模型的零相关性相同的结果,例如,如果我们省略x1.

ols2 = lm(y~x2+x3+x4, data = df)
y_hat2 = predict(ols2, df)
error2 = Y - y_hat2
cor(y_hat2, error2) #Still zero
cor(Y, error2) #Not Zero