【问题标题】:predict after multiple imputation in R在 R 中进行多重插补后预测
【发布时间】:2018-04-29 02:36:03
【问题描述】:

我使用 R 中的 mouse 包对我的数据执行多重插补:

### multiple inputation by chained equations
imp.data <- mice(data, maxit = 5, m = 5, seed = 92385, print = F)

我想在 MI 之后运行一个逻辑回归模型,并根据模型预测结果:

model <- with(imp.data, glm(died ~ agecat + female_1 + insurance + mech + transfer +
                          iss + mxaisbr1 + maxais + cm_chf_1 + cm_mets_1 + cm_liver_1 +
                          cm_htn_c_1 + cm_bldloss_1 + state, family = binomial))

但是,predict 命令不起作用:

predict(pool(model), type = c('response'))

如果我有估算值的数据会简单得多,但是估算得到了 5 个估算数据集,使后估计变得复杂。 有什么想法吗?

谢谢!!

【问题讨论】:

    标签: r prediction imputation r-mice


    【解决方案1】:

    我不确定估算模型是否保存为data.frame 或矩阵..

    但是,如果您将模型转换为 data.frame,您可以将感兴趣的列插入原始框架。

    imp.data <- data.frame(imp.data)
    original.df$NewImputtedColumn <- imp.data[, 1] # Assuming you want column 1
    

    现在,您可以轻松保留插补模型的副本,并且仍然只在预测模型中使用单个 data.frame

    无论如何,这都是我倾向于做的事情,可能不是标准方式(我不确定)。

    您只是从 1 个估算模型中获取输入值,对吗?

    【讨论】:

    • 估算模型保存为列表而不是数据框。感谢 cmets,但我认为将 5 个估算数据的所有信息集中在一起更有意义?仅从其中 1 个模型中获取输入值似乎会导致有偏见的结论。但不确定使用什么算法来考虑所有 5 个模型...
    • 如果您想先对每个模型进行平均,请成为我的客人。关键是,在您确定最终模型后,只需将估算模型的类型转换为数据框并将列传输回原始模型。
    • 如果您遇到其他问题,请随时更新您的问题并联系我。我很乐意提供进一步的帮助。
    猜你喜欢
    • 2017-12-18
    • 2021-09-28
    • 2019-08-04
    • 2014-11-30
    • 1970-01-01
    • 2019-06-17
    • 1970-01-01
    • 2019-11-18
    • 2022-01-14
    相关资源
    最近更新 更多