设为首页 加入收藏

TOP

【R】多元线性回归(五)
2017-10-10 12:09:59 】 浏览:10117
Tags:多元 线性 回归
acy  4.081e+00  5.848e-01   6.978 8.83e-09 ***
 
Residual standard error: 2.481 on 47 degrees of freedom
Multiple R-squared:  0.5668,    Adjusted R-squared:  0.5484
F-statistic: 30.75 on 2 and 47 DF,  p-value: 2.893e-09
 
Income和Frost两个变量不显著,两个模型之间没有显著性差异,就可以不加这两个变量。删去这两个不显著的变量后,R2略微减少,Adjusted R2增大,这也符合二者的定义。
 
《R语言实战》里还介绍到了用AIC(Akaike Information Criterion,赤池信息准则)值来比较模型,AIC值越小的模型优先选择,原理不明。
 
aovfit1 <- lm(Murder~Population+Illiteracy+Income+Frost,data=states)
aovfit2 <- lm(Murder~Population+Illiteracy,data=states)
AIC(aovfit1,aovfit2)
 
        df      AIC
aovfit1  6 241.6429
aovfit2  4 237.6565
 
第二个模型AIC值更小,因此选第二个模型(真是简单粗暴)。注: ANOVA需限定嵌套模型,AIC则不需要。可见AIC是更简单也更实用的模型比较方法。
 
(2)变量选择
这里的变量选择与最开始的变量选择同也不同,虽然是一回事,但一开始是一个粗略的变量的选择,主要是为了构建模型;这里则要进行细致的变量选择来调整模型。
 
  • 逐步回归
前面提到的向前或向后选择或者是同时向前向后选择变量都是 逐步回归法。MASS包中的stepAIC() 函数可以实现逐步回归模型(向前、向后和向前向后),依据的是精确AIC准则。以下实例是向后回归法:
 
library(MASS)
aovfit1 <- lm(Murder~Population+Illiteracy+Income+Frost,data=states)
stepAIC(aovfit1,direction = "backward")  # “forward”为向前选择,"backward"为向后选择,"both"为混合选择
 
Start:  AIC=97.75
Murder ~ Population + Illiteracy + Income + Frost
 
             Df Sum of Sq    RSS     AIC
- Frost       1     0.021 289.19  95.753
- Income      1     0.057 289.22  95.759
<none>                    289.17  97.749
- Population  1    39.238 328.41 102.111
- Illiteracy  1   144.264 433.43 115.986
 
Step:  AIC=95.75
Murder ~ Population + Illiteracy + Income
 
             Df Sum of Sq    RSS     AIC
- Income      1     0.057 289.25  93.763
<none>                    289.19  95.753
- Population  1    43.658 332.85 100.783
- Illiteracy  1   236.196 525.38 123.605
 
Step:  AIC=93.76
Murder ~ Population + Illiteracy
 
             Df Sum of Sq    RSS     AIC
<none>                    289.25  93.763
- Population  1    48.517 337.76  99.516
- Illiteracy  1   299.646 588.89 127.311
 
Call:
lm(formula = Murder ~ Population + Illiteracy, data = states)
 
Coefficients:
(Intercept)   Population   Illiteracy 
  1.6515497    0.0002242    4.0807366
 
 可见原本的4元回归模型向后退了两次,最终稳定成了2元回归模型,与前面模型比较的结果一致。
 
 
  • 全子集回归
 
《R语言实战》里提到了逐步回归法的局限:不是每个模型都评价了,不能保证选择的是“最佳”模型。比如上例中,从Murder ~ Population + Illiteracy + Income + Frost到Murder ~ Population + Illiteracy + Income再到
首页 上一页 2 3 4 5 6 7 下一页 尾页 5/7/7
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇“ML_for_Hackers”[1] 下一篇用贝叶斯判别分析再次预测股票涨..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目