Объяснение ошибки с lmer, но не с glmer: ошибка в checkNlevels(reTrms$flist, n = n, control):

У меня есть такая модель:

lmer(y ~ x + z + (1|g) + (1|dummy) , data = dat)

Где dummy — случайный эффект на отдельном уровне, учитывающий сверхдисперсию, т. е. factor(1:nrow(dat))

при запуске этого я получаю следующую ошибку, которую я не понимаю. Означает ли это, что я переоснастил свою модель?

Ошибка в checkNlevels(reTrms$flist, n = n, контроль): количество уровней каждого группирующего фактора должно быть ‹ количество наблюдений

Однако, когда я запускаю эту модель с семейством poisson, я не получаю эту ошибку, например.

glmer(y ~ x + z + (1|g) + (1|dummy) , data = dat, family = poisson)

Я знаю, что случайный эффект на индивидуальном уровне может даже не иметь смысла в гауссовской GLMM, но я хочу знать, скрывает ли что-то от меня пример Пуассона, предполагая, что модель переоснащена?


person user1320502    schedule 26.03.2014    source источник


Ответы (2)


Сверхдисперсия не очень полезная концепция в нормальной модели, потому что она уже соответствует дисперсии изменчивости на уровне наблюдения. Таким образом, сообщение об ошибке говорит вам, что вы не можете иметь фактор группировки на уровне наблюдения. В этом смысле да, вы пытаетесь переобучить свою модель.

Однако в пуассоновской (или другой GL-модели) модели это имеет смысл, потому что изменчивость на уровне наблюдения фиксируется в соответствии с любым членом дисперсии в GL-модели, поэтому имеет смысл добавить дополнительный член дисперсии к модель для учета любой дополнительной изменчивости на уровне наблюдения. Следовательно, glmer не выполняет ту же проверку, что и lmer.

person Aaron left Stack Overflow    schedule 26.03.2014
comment
жаль, что я не подождал и не дождался вашего ответа ... мой немного более подробный, но ваш в порядке и избавил бы меня от проблем. - person Ben Bolker; 26.03.2014
comment
Большое спасибо, я на самом деле получил это по ошибке и не добавил в семейство пуассона, и я был обеспокоен тем, что что-то происходит, чего я не понял, что было правдой, но не то, чтобы слишком бояться. Большое спасибо @BenBolker и Аарону - person user1320502; 26.03.2014

Это действительно вопрос CrossValidated, но:

  • определение линейной смешанной модели по умолчанию включает термин остаточной дисперсии; другими словами, модель уже оценивает величину дисперсии остатков. Если вы включите в формулу случайный эффект на уровне наблюдения, его дисперсия будет смешана с остаточной дисперсией (два члена будут совместно неидентифицируемыми; будет набор одинаково хороших совпадений с моделью). где две дисперсии в сумме дают константу). Эта проблема не обязательно плохо повлияет на остальную часть модели, но включение такого неидентифицируемого термина обычно означает, что вы делаете ошибку/не совсем понимаете, что делаете, поэтому в этом случае по умолчанию возвращается ошибка. Если у вас есть веская причина использовать эту модель, вы можете использовать lmerControl, чтобы переопределить ошибку.
  • определение наиболее распространенных обобщенных линейных смешанных моделей (т. е. пуассоновской и биномиальной) не включает член остаточной дисперсии — в частности, «параметр масштаба» пуассоновской и биномиальной моделей фиксируется равным 1. по определению. Таким образом, возможна чрезмерная дисперсия данных. Один из стандартных способов справиться с этим — добавить случайный эффект уровня наблюдения, как вы сделали выше. Поскольку в модели нет термина остаточной дисперсии по умолчанию, в этом нет ничего подозрительного, и glmer не жалуется.

См., например. http://glmm.wikidot.com/faq#overдисперсион_ест для получения дополнительной информации и ссылок.

person Ben Bolker    schedule 26.03.2014
comment
Спасибо, Бен, я попал сюда из-за содержания сообщения об ошибке. - person user1320502; 26.03.2014
comment
Интересный; сайты определенно иногда пересекаются, но мне кажется, что этот тоже подходит для перекрестной проверки. Я почти уверен, что там есть даже почти дубликат, но я не нашел его в своих кратких поисках. - person Aaron left Stack Overflow; 26.03.2014
comment
@ Бен Да, иногда кажется, что людей толкают в обе стороны, когда все на грани. На самом деле у меня есть модель, в которой повторение случайного эффекта очень низкое и поэтому приближается к эффекту индивидуального уровня, так что lmerControl может оказаться весьма полезным. - person user1320502; 26.03.2014