模型比较

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

  • 模型比较

能够将模型中的某些变量增删,而后比较先后模型的拟合效果,好比说在state的多元回归模型中,发现Income、Frost的回归系数不显著,因此将两项移除,构建新的模型进行比较spa

  • anova()

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

#主要思路
#一、拟合模型,而后将模型放入 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() 函数实现orm

> 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 值较小的模型更佳
相关文章
相关标签/搜索