繁体   English   中英

glmer对象的预测概率的置信区间,bootMer错误

[英]Confidence intervals for the predicted probabilities from glmer object, error with bootMer

我需要使用使用lme4 R包中的glmer函数创建的逻辑混合效应模型来计算95%的置信区间或预测的概率。 该模型包括稳定的概率加权,以校正分析数据上的选择偏差。

我已经读过bootMer函数(lme4程序包)执行基于模型的半参数引导程序,该引导程序很容易获得CI作为分布的分位数(分位数方法)。

但是,当我应用功能bootMer时,会产生以下错误:

“ sfun中的错误(对象,nsim = 1,ftd = rep_len(musim,n * nsim),wts =权重):无法从非整数的prior.weights中进行模拟”

我必须使用非整数权重,所以我的问题是“如何使用bootMer函数解决此问题? 还是如果不可能的话,那是安妮的替代品吗?

#The model
M1s = glmer(plab ~ 1 + edad2_c + I(edad2_c^2) + periodo_c + cohorte + nocu_c + tipoocu2 + sector + educ + benef + genero + ecivil + area + generojh + edadjh2_c + nhogar_c + nhogar05_c + nhogar0614_c + nhogar66_c + (1 | periodo_c), weights = ipw, 
 data = seriecasen,family = binomial(link=logit),nAGQ = 10,glmerControl(optimizer = "bobyqa", optCtrl = list(maxfun = 2e5)))

#Model-based semi-parametric bootstrap for mixed models - CI's predicted probabilites
merBoot <- bootMer(M1s, predict, nsim = 1000, use.u = TRUE, type = c("parametric"), seed = 1959)
CI.lower = apply(merBoot$t, 2, function(x) as.numeric(quantile(x, probs=.025, na.rm=TRUE)))
CI.upper = apply(merBoot$t, 2, function(x) as.numeric(quantile(x, probs=.975, na.rm=TRUE)))

sfun中的错误(object,nsim = 1,ftd = rep_len(musim,n * nsim),wts = weights):无法从非整数的before.weights中进行模拟

替代方法是sjstats软件包中的std_beta()函数。 没有数据就很难在模型上进行测试,但是我已经在我自己的逻辑回归中执行了此功能,它似乎提供了标准化的beta和置信区间。 以下代码可能应该起作用:

sjstats::std_beta(M1s)

这是该函数的链接: std_beta

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM