2014-01-07 3 views
4

Я рассчитываю рассчитать доверительные интервалы 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) 
+0

возможно, что это ошибка в bootMer, но воспроизводимый пример будет замечательным! –

+1

Есть ли отсутствующие значения во второй группе? Если вы можете предоставить некоторые данные (имитированные или фактические) для воспроизводимого примера, было бы легче ответить на ваш вопрос. Кроме того, обратите внимание, что вы можете свернуть свой собственный параметрический бутстрап с функциями 'имитация' и' refit' - проще было бы устранить проблему таким образом. –

+0

Отсутствующие значения, безусловно, вызовут проблему: https://github.com/lme4/lme4/issues/158 (исправлено в версии для разработки) –

ответ

2

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

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

Смежные вопросы