搜文章
推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > 大康的笔记 > R语言—回归诊断(2)

R语言—回归诊断(2)

大康的笔记 2020-06-30
上期介绍了回归诊断的标准方法,但是还有一些改进的方法可以更好的对回归模型进行验证。
(一)线性模型假设综合验证
使用gvlma包中的gvlma()函数。

#回归诊断

> state<-as.data.frame(state.x77[,c("Murder","Population","Illiteracy","Income","Frost")])

> fit<-lm(Murder~Population+Illiteracy+Income+Frost,data=state)

> library(gvlma)

> gvmodel<-gvlma(fit)

> summary(gvmodel)

我们可以看到数据满足OLS回归模型所有的统计假设(p=0.597),若p<0.05)则可用以下方法继续检测。
(二)car包中提供多个拟合和评价回归模型的函数
(1)正态性
检验正态性可以用car包中的qqPlot()函数。

>library(car)

>qqPlot(fit,labels=row.names(states),id.method="identify",simulate=TRUE,main="qqPlot")

R语言—回归诊断(2)

在上图可以很清楚的看到大多数的点均落在置信区间内,但Nevada点离直线比较远,说明该模型在该点时有较大的正残差值,也就是说模型在该点的预测是不准确的。
(2)独立性

>library(car)

>durbinWatsonTest(fit)

R语言—回归诊断(2)

结果表明p>0.05,说明变量之间相互独立,符合独立性。
(3)线性

>library(car)

>crPlots(fit)

R语言—回归诊断(2)

本图中线性关系良好,若存在非线性,说明可能对预测变量的函数形式建模不够充分,那么就需要添加一些非线性成分,如添加多项式项等。
(4)同方差性

>library(car)

>ncvTest(fit)

R语言—回归诊断(2)

结果中p>0.05,表明满足同方差性。
(5)多重共线性

>library(car)

>vif(fit)

>sqrt(vif(fit))>2

R语言—回归诊断(2)

若vif的平方根大于2,说明存在多重共线问题,本结果中均小于2,表明不存在多重共线问题。
以上就是回归诊断的常用方法,这些是对模型很重要的评价手段,我们可以根据评价结果对所建模型进行修改。下期将会介绍模型中异常观测值的处理,明天见喽!

扫描二维码

获取更多精彩

大康的笔记

R语言—回归诊断(2)


版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《R语言—回归诊断(2)》的版权归原作者「大康的笔记」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注大康的笔记微信公众号

大康的笔记微信公众号:kang15733893165

大康的笔记

手机扫描上方二维码即可关注大康的笔记微信公众号

大康的笔记最新文章

精品公众号随机推荐