r - R:MICE 和向后逐步回归
问题描述
我使用以下代码估算了我的数据:
data_imp <- mice(data, m=5, maxit=50, meth='pmm', seed=500, printFlag=FALSE)
data.impute <- complete(data_imp, action = 1)
我想使用 stepAIC 函数执行向后逐步回归,以找到最简约的模型。如何使用我的所有 5 个估算数据集而不是仅 1 个来做到这一点?
非常感谢!
解决方案
您必须将其分别应用于每个数据集;请参阅下面的一些示例代码。
然而,让我在这里也给你两个巨大的免责声明:
向后逐步回归真的不推荐用于变量选择。此外,对于估算数据集,还有更好的方法可以做到这一点。
从下面的代码中,您仍然需要决定如何将您的结果集中到一个可解释的集合中。一种方法是简单地计算每个变量在最终模型中出现的频率。但是,此过程隐含地会丢失信息。
可以在此处找到对这些要点的更广泛讨论: https ://stats.stackexchange.com/questions/110585/stepwise-regression-modeling-using-multiply-imputed-data-sets
作者mice
在他的书中还有一个关于变量选择的子章节:
https ://stefvanbuuren.name/fimd/sec-stepwise.html
因此,我会考虑是否有更好的选择适合您。
示例代码
## I am using `mtcars`
## Let's ampute it, then impute it
data_imp <- mice(ampute(mtcars, prop = 0.001)$amp)
## Next, we loop over all imputed datasets
out <- lapply(seq_len(data_imp$m), function(i) {
## We create a dataset
data.i <- complete(data_imp, i)
## We run our model
fit <- lm(mpg ~ ., data = data.i)
## We apply `stepAIC`
stepAIC(fit, trace = FALSE)
})
推荐阅读
- javascript - `md-highlight-text` 不能与 `ng-bind-html` 一起使用
- flutter - 文本表单字段中的内联平面按钮
- jquery - 如何将 JQuery 中的数据显示到 html 中
标签
- python - 使用 python 正则表达式仅获取 9 位数字
- adyen - 为什么 Adyen 返回“无效的购物者互动”
- docker - 如何禁止 docker cp 命令
- c - 由于使用 SSE 指令的未对齐内存访问导致的一般保护异常
- vim - 跳转到键映射定义末尾的 2 个位置
- linux - 无论 Linux 发行版配置如何,如何在应用程序代码中稳健地禁用核心转储
- java - 春天:setAutoGrowCollectionLimit 不起作用