R: Начальная загрузка с многоуровневой моделью

Я хочу рассчитать 95% доверительные интервалы вокруг оценок коэффициентов моей многоуровневой модели.

У меня нет проблем с моделями с одной группирующей переменной, но метод начальной загрузки, которому я следовал (http://www.ats.ucla.edu/stat/r/dae/melogit.htm) по существу сломался, когда я добавил дополнительную переменную группировки.

Я исследовал bootMer (недавно реализованная часть lme4) с тем же результатом.

Вот пример проблемы:

---------------------------- Отредактировано для включения воспроизводимого примера ---------------- ------------

Полезные комментарии к этому вопросу и проработка примера дали ответ - проблему вызывает не добавление второй группирующей переменной как таковой, а отсутствие в группирующей переменной.

Вот рабочий пример для всех, кто сталкивается с этим.

Вот простая функция для иллюстрации ...

FUN <- function(fit) {return(fixef(fit))} 

Пример данных (полный)

grouper1 <- as.factor(sample(letters[1:20], 1000, replace = TRUE))
grouper2 <- sample(letters[1:2], 1000, replace = TRUE)
DV<-rnorm(1000)
IV<-rnorm(1000)
example<-data.frame(grouper1, grouper2, DV, IV)

Прекрасно работает с этими данными

one_grouper<-lmer(DV ~ IV + (1 | grouper1), data=example)  

> bootMer(one_grouper,FUN, nsim=1)

Call:
bootMer(x = one_grouper, FUN = FUN, nsim = 1)

Bootstrap Statistics :
       original       bias    std. error
t1* 0.005286026  0.041665542          NA
t2* 0.009642498 -0.003707219          NA
> 
> two_grouper<-lmer(DV ~ IV + (1 | grouper1) + (1 | grouper2), data=example)
> 
> bootMer(one_grouper,FUN, nsim=1)

Call:
bootMer(x = one_grouper, FUN = FUN, nsim = 1)

Bootstrap Statistics :
       original      bias    std. error
t1* 0.005286026 -0.03465914          NA
t2* 0.009642498 -0.01361108          NA

НО, когда мы вводим пропуски в группирующую переменную ...

example$missinggroups <- with(example, ifelse(randommissing=="f", NA,grouper1))

> one_grouper<-lmer(DV ~ IV + (1 | missinggroups ), data=example)  
> 
> bootMer(one_grouper,FUN, nsim=1)

Call:
bootMer(x = one_grouper, FUN = FUN, nsim = 1)


Bootstrap Statistics :
WARNING: All values of t1* are NA
WARNING: All values of t2* are NA
Warning message:
In bootMer(one_grouper, FUN, nsim = 1) : some bootstrap runs failed (1/1)

person user3144759    schedule 07.01.2014    source источник
comment
Возможно, это ошибка в bootMer, но воспроизводимый пример был бы отличным!   -  person Ben Bolker    schedule 07.01.2014
comment
Есть ли недостающие значения во второй группе? Если вы можете предоставить некоторые данные (смоделированные или фактические) для воспроизводимого примера, будет легче ответить на ваш вопрос. Также обратите внимание, что вы можете развернуть свой собственный параметрический бутстрап с функциями simulate и refit - таким образом может быть проще устранить неполадки.   -  person Nate Pope    schedule 07.01.2014
comment
отсутствие значений определенно вызовет проблему: github.com/lme4/lme4/issues/158 (исправлено в разрабатываемой версии)   -  person Ben Bolker    schedule 08.01.2014
comment
PS ваш пример здесь не совсем воспроизводим (вы не определяете randommissing, но с аналогичным примером я заставляю его работать (даже с NAs) с последней версией разработки. Если возможно, install.packages("devtools"); install_github("lme4","lme4") (вам понадобятся инструменты разработки - - компилятор и т. д.)   -  person Ben Bolker    schedule 08.01.2014


Ответы (1)


Это была подтвержденная проблема, и, согласно комментариям, исправление работало в разрабатываемой версии с 08-янв-2014.

Это было тогда, когда была версия ‹1.1-3; lme4 в CRAN имеет версии> 1.1-5 с 14 по. Март-2014.

person Thell    schedule 01.05.2014