gpt4 book ai didi

r - 使用通过 MICE 进行多重插补开发的模型来预测新观察结果的响应

转载 作者:行者123 更新时间:2023-12-01 23:14:01 24 4
gpt4 key购买 nike

我使用小鼠通过多重插补开发了一个模型。我想使用这个模型来预测新观察结果的响应(不包含丢失的数据),包括标准误差。将 mice 中创建的模型对象传递给 predict 不起作用

使用内置 nhanes 数据集的简单示例。假设我想开发一个形式为 age == 3 ~ bmi + hyp + chl 的逻辑回归模型,并使用该模型来预测 prob(age = 3 | bmi = 20, hyp = 2 且 Chl = 190)

library('mice')
imp<-mice(nhanes, seed = 1)

#create model on each imputed dataset
model <- with(imp, glm(age == 3 ~ bmi + hyp + chl, family = binomial))

#pool models into one
poolmodel <- pool(model)

#new data
newdata <- data.frame(bmi = 20, hyp = 2, chl = 190)

#attempt to predict response using predict() function
pred <- predict(object = model, newdata = newdata, type = 'link', se.fit = TRUE)

Error in UseMethod("predict") : no applicable method for 'predict' applied to an object of class "c('mira', 'matrix')"

pred <- predict(object = poolmodel, newdata = newdata, type = 'link', se.fit = TRUE)

Error in UseMethod("predict") : no applicable method for 'predict' applied to an object of class "c('mipo', 'mira', 'matrix')"

显然,使用合并系数和合并协方差矩阵手动计算预测响应和误差将是直接的。然而,真正的问题要大得多,并且模型依赖于一些样条线和交互作用,使计算变得相当复杂。我宁愿使用可以为我完成这一切的现有函数。

R 中是否有一个简单的解决方案,可以输出任何给定(池化)模型对象和任何给定新观察集的预测响应,而无需进行繁琐的代码修改?

最佳答案

实现此目的的一种方法是将所有估算数据堆叠在一起,并在此完整数据集上拟合模型。之后您可以正常使用预测功能。池生成的参数估计实际上是当您分别在每个插补数据上拟合相同模型时参数估计的平均值。当然,在这种情况下,每个协变量的标准误差都被低估了。

关于r - 使用通过 MICE 进行多重插补开发的模型来预测新观察结果的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32569797/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com