R语言简单回归分析总结

数据 专栏收录该内容
9 篇文章 0 订阅

面对数据集合dataset,有因变量Y和自变量X1,X2,X3,X4,要做的是:
1. 根据数据可以得到初步方程(假定为线性):
lm.sol <- lm(Y ~ X1+X2+X3+X4, data=dataset)
summary(lm.sol)
2. 如果发现不显著
(1)W正态性检验

y.res<-residuals(lm.sol)
shapiro.test(y.res)

如果不满足正态性假设,那么可以考虑剔除异常点
(2)画残差的Q-Q图

plot(lm.sol)

如果图中的点的大致趋势明显不在一条直线上,那么正态性假设则不合理,可以考虑改变式子
如果图中的某几个点偏离较大,那么这几个点是异常点,可以考虑剔除
(3)画标准化残差图(检验正态性)

y.rst<-rstandard(lm.sol)
y.fit<-predict(lm.sol)
plot(y.res~y.fit)

根据标准化残差图发现问题,正常来说,应该有95%的可能性落在宽度为4的水平带上,且没有任何趋势。
如果发现趋势,则尝试通过改变式子,对变量进行变换,使用update()函数
如果没有发现趋势,但发现异常点(超过宽度为4的水平带),那么就剔除异常点,然后返回第一步继续查看方程
(4)使用书中给出的诊断函数,找到异常点

source("Reg_Diag.R"); 
Reg_Diag(lm.sol)

达到条件说明该点为可能的异常点
3. 如果发现方程显著,但某几个变量不显著
(1)可能是多重共线性的问题,找到对应多重共线的向量,剔除即可

XX<-cor(collinear[2:7])
kappa(XX,exact=TRUE)
eigen(XX)

(2)可以考虑逐步回归

lm.step<-step(lm.sol)
summary(lm.step)
  1. 建立方程以后,运用方程进行预测
new <- data.frame(x = 0.16)
lm.pred<-predict(lm.sol, new, interval="prediction", level=0.95)
  • 1
    点赞
  • 0
    评论
  • 11
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值