Я рассчитываю рассчитать доверительные интервалы 95% вокруг моих оценок коэффициентов многоуровневой модели.R: Бутстрапирование с многоуровневой моделью
У меня нет проблем для моделей с одной переменной группировки, но метод начальной загрузки, который я выполнял (http://www.ats.ucla.edu/stat/r/dae/melogit.htm), по существу разбился, когда я добавил дополнительную переменную группировки.
Я исследовал bootMer (недавно реализованную часть lme4) с тем же результатом.
Вот пример задачи:
---------------------------- EDITED включать воспроизводимый пример - ---------------------------
Полезные комментарии к этому вопросу и работа в этом примере дали ответ - это не добавление второй переменной группировки как таковой, но недостаток в переменной группировки, которая вызывает проблему.
Вот приведенный пример для всех, кто сталкивается с этим.
Вот простая функция для наглядности ...
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)
возможно, что это ошибка в bootMer, но воспроизводимый пример будет замечательным! –
Есть ли отсутствующие значения во второй группе? Если вы можете предоставить некоторые данные (имитированные или фактические) для воспроизводимого примера, было бы легче ответить на ваш вопрос. Кроме того, обратите внимание, что вы можете свернуть свой собственный параметрический бутстрап с функциями 'имитация' и' refit' - проще было бы устранить проблему таким образом. –
Отсутствующие значения, безусловно, вызовут проблему: https://github.com/lme4/lme4/issues/158 (исправлено в версии для разработки) –