如何训练多元线性回归模型以找到变量的最佳组合?

时间:2019-07-01 09:51:03

标签: r lm

我想运行带有大量变量的线性回归模型,并且我希望R函数迭代这些变量的良好组合并为我提供最佳组合。

2 个答案:

答案 0 :(得分:3)

glmulti package将相当有效地做到这一点:

  

自动模型选择和模型平均。提供glm和其他功能的包装,自动生成具有指定响应和解释变量的所有可能模型(在用户设置的约束下),并根据某些信息标准(AIC,AICc或BIC)查找最佳模型。可以处理大量候选模型。采用遗传算法可在无法详尽筛选候选人时找到最佳模型。

不请自来的建议如下:

如何。 skull skull skull请注意,尽管这种方法可以找到使样本内最小化的模型错误(适合实际数据的优势),它有两个主要问题,您应该三思而后行。

  • 这种数据驱动的模型选择几乎总是会破坏,使您能够进行可靠的推断(计算p值,置信区间等)。参见this CrossValidated question
  • 它可能会过分适合您的数据(尽管使用包装说明中列出的信息标准将对此有所帮助)

答案 1 :(得分:1)

表征“最佳”模型的方法有多种,但AIC是常见的模型,基本R提供step(),而包MASS提供stepAIC()。 / p>

summary(lm1 <- lm(Fertility ~ ., data = swiss))
slm1 <- step(lm1)
summary(slm1)
slm1$anova