使用R语言进行回归诊断

人们提出所谓回归诊断的问题,其主要内容有:

  • 关于误差项是否满足:独立性、等方差性、正态性。
  • 选择线性模型是否合适
  • 是否存在异常样本
  • 回归分析的结果是否对某些样本依赖过重,也就是回归模型是否具有稳定性
  • 自变量之间是否存在高度相关,即是否存在多重共线性

下面我们通过一个小例子来大体认识一下回归诊断的重要性。

一、使用散点图显示变量之间的关系及修正过程:

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
  • 4
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值