我正在执行预测分析,即根据部分数据训练模型,并使用剩余部分测试模型。我熟悉MICE软件包和使用预测平均值匹配的插补程序。
我的理解是,使用插补的正确方法是创建大量插补数据集,对每个插补数据集拟合一个模型,然后将所有这些拟合模型的系数合并到一个单一模型中。我知道如何执行此操作,并查看系数汇总,以便对变量执行推断。但是,这不是我的目标;我需要用一个单一的模型来结束,我可以用它来预测新的值。
简单地说,当我尝试将predict函数用于我使用MICE得到的模型时,它不起作用。
有什么建议吗?我用R写的。
编辑:以airquality
数据集为例,我的代码如下所示:
imputed_data <- mice(airquality, method = c(rep("pmm", 6)), m = 5, maxit = 5)
model <- with(imputed_data, lm(Ozone ~ Solar.R + Wind + Temp + Month + Day))
pooled_model <- pool(model)
这为我提供了一个跨5个插补数据集的合并模型。但是,我无法将predict函数用于此模型。当我执行以下命令时:
predict(pooled_model, newdata = airquality)
我得到这个错误:
Error in UseMethod("predict") :
no applicable method for 'predict' applied to an object of class "c('mira', 'matrix')"
1条答案
按热度按时间s6fujrry1#
不确定您要查找的内容,但类似以下内容可能有效:
由reprex package(v2.0.1)于2023年2月1日创建