查看原文
其他

数据分析中常见的七种回归分析以及R语言实现(二)---逐步回归

2017-01-02 夏尔康 R语言中文社区

接着上篇文章,这里讲一下逐步回归,那么大家应该都知道逐步回归是什么样的作用了,就是为我们剔除一些不重要或者不显著的自变量,使得回归方程最优形式去预测因变量;其中主要思路将所有自变量按照对因变量Y的作用大小,显著程度,由大到小引入回归方程中;其中主要通过几个统计值来识别重要变量,可决系数,T值和AIC值,通过这三个值来添加和删除自变量来拟合模型。大概步骤这样,首先我们在实施每一步都要对引入方程的变量计算其偏回归平方和,为什么我们要计算偏回归平方和呢,这个好比偏相关系数一样,这个主要放映自变量和因变量之间的相关程度的偏差平方和,然后选择一个偏回归平方和最小的变量进行显著性检验,如果显著则保留,这时方程中其他的几个变量也都不需要剔除,因为最小偏差平方和都显著了,其他的更不需要了,相反,如果不显著,则要提出变量,然后按偏回归平方和小到大依次对方程中其他变量进行F检验,将对Y不显著的变量全部提出,保留的都是显著,接着再对未引入回归方程中的变量分别计算其偏回归平方和,并选取其中偏回归平方和最大的一个变量,同样进行显著性检验,显著则引入该变量进入方程,,这个过程一直下去,直到在回归方程中的变量都不能剔除而又无新变量可以引入时,逐步回归过程就结束了;按照其选择方式的可以分为三种,向前逐步回归法,每次增加一个自变量到模型中,直到添加变量不会使模型有所改进为止;向后逐步回归从模型包含所有自变量开始,一次删除一个变量,直到会降低模型质量为止;还有一种是是向前向后逐步回归,通常我们称之为逐步回归,就是我们上段讲一样,每次的引入然后重新评估变量,然后剔除对模型没有贡献的变量,一直到模型最优为止;


这里我们就使用R语言实战里面的代码给大家做个实例,这里使用的是MASS包中的stepAIC()函数可以实现逐步回归模型,这个依据的AIC准则,模型的话就使用我们第一篇文章中的模型作为参照

载入包和数据集

library(nutshell)

library(MASS)

data(team.batting.00to08)

查看前六行

head(team.batting.00to08)


数据成功载入,这时候我们进行向后逐步回归

runs.lm <- lm(runs~singles+doubles+triples+homeruns+walks+hitbypitch+sacrificeflies+stolenbases+caughtstealing,data=team.batting.00to08)

lm_back<-stepAIC(runs.lm,direction = "backward")

结果太长,分段截图,开始AIC值


最后得到AIC值已经结果式,AIC值的减少所以模型得到了优化,我们的逐步回归法是有效的


最后我们使用使用summary()函数打印模型结果

summary(lm_back)


从上图得知全部变量都显著有效,这里就说到这里,有什么问题的话下方评论一起交流

End


号外:2017年01月05日 (周四)20:30 - 22:00,中国电子表格大会主席李奇主讲《平凡之处见真章!Excel透视表实战》

报名方式 :扫描下方二维码 | 阅读原文


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存