模型比较

最终回归模型的选择总是会涉及预测精度(模型尽可能的拟合数据)与模型洁度(一个简单能复制的模型)的调和问题

  • 模型比较

可以将模型中的某些变量增删,然后比较前后模型的拟合效果,比如说在state的多元回归模型中,发现Income、Frost的回归系数不显著,所以将两项移除,构建新的模型进行比较

  • anova()

基础包的 anova() 函数可以比较两个嵌套模型的拟合优度,嵌套模型指一些项包含在另外一个模型中

#主要思路
#1、拟合模型,然后将模型放入 anova(),进行方差分析
#判断F统计量的P值,Pr(>F), 0.9939 > α(α=0.05),所以不显著,因此得到可以不将这两变量加到模型中

> states <- as.data.frame(state.x77[,c("Murder", "Population",
+                                      "Illiteracy", "Income", "Frost")])
> fit1 <- lm(Murder ~ Population + Illiteracy + Income + Frost,
+            data=states)
> fit2 <- lm(Murder ~ Population + Illiteracy, data=states)
> anova(fit1,fit2)
Analysis of Variance Table

Model 1: Murder ~ Population + Illiteracy + Income + Frost
Model 2: Murder ~ Population + Illiteracy
  Res.Df    RSS Df Sum of Sq      F Pr(>F)
1     45 289.17                           
2     47 289.25 -2 -0.078505 0.0061 0.9939

 

  • AIC(Akaike Informaiton Criterion,赤池信息准则)

该方法也可以用来比较模型,它考虑了模型的统计拟合度以及用来拟合的参数数目。AIC值较小的模型要优先选择,它说明了模型用较小的参数获得了足够的拟合度。该准则可用 AIC() 函数实现

> states <- as.data.frame(state.x77[,c("Murder", "Population",
+                                      "Illiteracy", "Income", "Frost")])
> fit1 <- lm(Murder ~ Population + Illiteracy + Income + Frost,
+            data=states)
> fit2 <- lm(Murder ~ Population + Illiteracy, data=states)
> AIC(fit1,fit2)
     df      AIC
fit1  6 241.6429
fit2  4 237.6565
#Aic 值较小的模型更佳

 

 

转载于:https://my.oschina.net/u/1785519/blog/1563524

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值