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

时间:2019-08-30 16:52:39

标签: r lme4 mixed-models confidence-interval

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

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

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

  

“ sfun(对象,nsim = 1,ftd = rep_len(musim,n * nsim),wts =   权重):无法从非整数的before.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(对象,nsim = 1,ftd = rep_len(musim,n * nsim),wts =   权重):无法从非整数的before.weights中模拟

1 个答案:

答案 0 :(得分:0)

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

sjstats::std_beta(M1s)

以下是该函数的链接:std_beta