Я хочу вычислить доверительные интервалы начальной загрузки с 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.95
CI, что бы я ни указывал в параметре 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")
Вопросы:
- Почему
confint()
со значением параметра level
, отличным от 0.95
, не дает мне CI, который я указываю, и дает 0.95
CI? - Как получить КИ с помощью метода
boot
, отличного от 0.95
?