Пользовательские доверительные интервалы загрузки с lme4 - PullRequest
1 голос
/ 29 октября 2019

Я хочу вычислить доверительные интервалы начальной загрузки с lme4. Это мой код (данные в комментариях к коду):

library(lme4)


# data from: https://github.com/bbolker/mixedmodels-misc/blob/master/data/culcita.RData
load("d:/del/1/culcita.RData")

cmod_mod <- glmer(predation~ttt+(1|block),data=culcita_dat,
                     family=binomial)

cmod_mod_CI_profile_95<-confint(cmod_mod, level = 0.95, method = "profile")
cmod_mod_CI_profile_85<-confint(cmod_mod, level = 0.85, method = "profile")
cmod_mod_CI_profile_75<-confint(cmod_mod, level = 0.75, method = "profile")

cmod_mod_CI_Wald_95<-confint(cmod_mod, level = 0.95, method = "Wald")
cmod_mod_CI_Wald_85<-confint(cmod_mod, level = 0.85, method = "Wald")
cmod_mod_CI_Wald_75<-confint(cmod_mod, level = 0.75, method = "Wald")

cmod_mod_CI_boot_95<-confint(cmod_mod, level = 0.95, method = "boot")
cmod_mod_CI_boot_85<-confint(cmod_mod, level = 0.85, method = "boot")
cmod_mod_CI_boot_75<-confint(cmod_mod, level = 0.75, method = "boot")

Это дает некоторые предупреждения и даже ошибки, но я думаю, что они не важны в этом контексте. Основная проблема заключается в том, что доверительные интервалы методов Wald и profile оцениваются в CI 0.95, 0.85, 0.75, как указано в параметре level, но при использовании метода boot он оценивает только 0.95CI, что бы я ни указывал в параметре level.

Другой пример без ошибок и очень мало предупреждений, но требует гораздо больше времени для вычислений, и такая же проблема с boot сохраняется:

library(lme4)

hdp <- read.csv("https://stats.idre.ucla.edu/stat/data/hdp.csv")
hdp <- within(hdp, {
  Married <- factor(Married, levels = 0:1, labels = c("no", "yes"))
  DID <- factor(DID)
  HID <- factor(HID)
})

m <- glmer(remission ~ IL6 +
             (1 | DID), data = hdp, family = binomial, control = glmerControl(optimizer = "bobyqa"),
           nAGQ = 10)

m_mod_CI_profile_95<-confint(m, level = 0.95, method = "profile")
m_mod_CI_profile_85<-confint(m, level = 0.85, method = "profile")
m_mod_CI_profile_75<-confint(m, level = 0.75, method = "profile")

m_mod_CI_Wald_95<-confint(m, level = 0.95, method = "Wald")
m_mod_CI_Wald_85<-confint(m, level = 0.85, method = "Wald")
m_mod_CI_Wald_75<-confint(m, level = 0.75, method = "Wald")

m_mod_CI_boot_95<-confint(m, level = 0.95, method = "boot")
m_mod_CI_boot_85<-confint(m, level = 0.85, method = "boot")
m_mod_CI_boot_75<-confint(m, level = 0.75, method = "boot")

Вопросы:

  1. Почему confint() со значением параметра level, отличным от 0.95, не дает мне CI, который я указываю, и дает 0.95 CI?
  2. Как получить КИ с помощью метода boot, отличного от 0.95?
...