人们提出所谓回归诊断的问题,其主要内容有:
- 关于误差项是否满足:独立性、等方差性、正态性。
- 选择线性模型是否合适
- 是否存在异常样本
- 回归分析的结果是否对某些样本依赖过重,也就是回归模型是否具有稳定性
- 自变量之间是否存在高度相关,即是否存在多重共线性
下面我们通过一个小例子来大体认识一下回归诊断的重要性。
一、使用散点图显示变量之间的关系及修正过程:
Anscombe<-data.frame(
X =c(10.0, 8.0, 13.0, 9.0, 11.0, 14.0, 6.0, 4.0, 12.0, 7.0, 5.0),
Y1=c(8.04, 6.95, 7.58, 8.81, 8.33, 9.96, 7.24, 4.26, 10.84, 4.82, 5.68),
Y2=c(9.14, 8.14, 8.74, 8.77, 9.26, 8.10, 6.13, 3.10, 9.13, 7.26, 4.74),
Y3=c(7.46, 6.77, 12.74, 7.11, 7.81, 8.84, 6.08, 5.39, 8.15, 6.44, 5.73),
X4=c(rep(8,7), 19, rep(8,3)),
Y4=c(6.58, 5.76, 7.71, 8.84, 8.47, 7.04, 5.25, 12.50, 5.56, 7.91, 6.89)
)
#这里y1,y2,y3是x的因变量,y4是x4的因变量,我们来查看两者之间的关系
summary(lm(Y1~X,data=Anscombe))
summary(lm(Y2~X,data=Anscombe))
summary(lm(Y3~X,data=Anscombe))
summary(lm(Y4~X4,data=Anscombe))
#通过查看变量间的线性模型概况,我们发现这四组数据模型的p值以及模型系数均能通过显著性检验
#但同时我们看到四个模型的R方值都在60%左右,不算理想
#接下来,我们通过绘制这个模型相应的散点图,以及其拟合曲线,来查看是否满足线性关系
par(mfrow=c(2,2)) #将屏幕分为2*2的矩阵
plot(Y1~X,data=Anscombe,main="Y1~X",xlab="",ylab="");abline(lm(Y1~X,data=Anscombe))
plot(Y2~X,data=Anscombe