gpt4 book ai didi

r - 如何从合并的 GLM 中提取 AIC 和对数似然?

转载 作者:行者123 更新时间:2023-12-05 06:31:30 27 4
gpt4 key购买 nike

我使用 MICE 包估算了数据。现在,我想展示基于汇总数据的 GLM 结果。

这就是我得出数据的方式:

data.imputed <- mice(data, m=5, maxit = 50, method = 'pmm', seed = 500)

这就是我用来创建模型的内容:

model.imputed1 <- with(data = data.imputed, expr = glm(dv ~ iv1 + iv2 + iv3, family=binomial))

model.imputed <- pool(model.imputed1)

但是,当我运行

AIC(model.imputed)

logLik(model.imputed)

就此而言,我收到消息

Error in UseMethod("logLik") : no applicable method for 'logLik' applied to an object of class "c('mipo', 'data.frame')"

这看起来与老鼠存储其估算文件的方式有关。有没有办法从这个模型中提取这两个指标(AIC 和 logLik)?我如何才能将其转换为可从中提取这两个指标的模型?

谢谢!

TT

最佳答案

查看 pool 结果的结构,似乎 mice::pool 不存储此信息。

str(pool(model.imputed1))
#Classes ‘mipo’ and 'data.frame': 0 obs. of 3 variables:
# $ call : language pool(object = model.imputed1)
#$ m : int 40
#$ pooled:'data.frame': 3 obs. of 9 variables:
# ..$ estimate: num 0.0722 -0.2533 -0.8663
#..$ ubar : num 0.000422 0.000318 0.029756
#..$ b : num 2.53e-06 3.41e-05 3.95e-04
#..$ t : num 0.000425 0.000353 0.030162
#..$ dfcom : int 10060 10060 10060
#..$ df : num 9902 2765 9487
#..$ riv : num 0.00615 0.10989 0.01362
#..$ lambda : num 0.00611 0.09901 0.01343
#..$ fmi : num 0.00631 0.09966 0.01364

我不确定 Rubin 的规则在组合 AIC 和 LL 等统计数据时是否以相同的方式起作用,但您可以做的一件事是获取每个数据集的 AIC 和 LL。由于您只有 5 个数据集,因此这不会花费很长时间。

首先以长格式检索所有已完成的数据集。

L_df <- mice::complete(data.imputed,"long",include = F) 

然后创建一些空向量并检索插补数(在您的情况下为 m = 5)。

AIC1<-c()
logLik1 <- c()
m <- max(L_df$.imp)

然后估计每个数据集的模型,并将 AIC 和 LL 存储在刚刚创建的空向量中。

for(i in 1:m){
model.imputed1 <- glm(dv ~ iv1 + iv2 + iv3, family=binomial, data = L_df[which(L_df$.imp == m),])
AIC1[i] <- AIC(model.imputed1)
logLik1[i] <- logLik(model.imputed1)
}

此循环的结果应该是存储在 AIC1 中的 AIC 的 5 个值和存储在 logLik1 中的 LL 的 5 个值。您可以使用这些值来报告平均 AIC 及其数据集之间的方差,或者报告更稳健的度量,例如中位数和范围(因为您只有 5 个值)。

关于r - 如何从合并的 GLM 中提取 AIC 和对数似然?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51815570/

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