Я работаю с продольными данными и пытаюсь проиллюстрировать идею использования отрицательного биномиального распределения вместо распределения Пуассона для учета избыточной дисперсии в контексте смешанных моделей.Я работаю с пакетом lme4
и специально пытаюсь использовать glmer.nb()
.
У меня сложилось впечатление, что glmer.nb()
оценит тета, то есть эту команду можно использовать, когда мы незнать параметр дисперсии, и что нам не нужно указывать тета.Я почти уверен, что заставил это работать раньше, и сегодня я не могу заставить его работать - я не думаю, что я внес какие-либо изменения в мой код или в загруженные пакеты, но теперь я получаю сообщение об ошибке, котороекажется, говорит мне, что мне нужно указать тэту.
Мой код:
ep.glmer.nb<-glmer.nb(
count~trt*time + (1|id)+(0+time|id)
+offset(log(offset)),
data=ep_long)
Сообщение об ошибке:
Ошибка в absolute.binomial (тэта = 41.1203758840614): неиспользованный аргумент (тэта = 41.1203758840614)
Я смог попробовать обходной путь, приняв это число в качестве тета и используя glmer
с family=MASS::negative.binomial
ep.glmer.nb2 <- glmer(count~trt*time + (1|id)+(0+time|id) +
offset(log(offset)),
data=ep_long,
family=MASS::negative.binomial(theta= 41.1203758840614))
Я также определил, что могу получить аналогичный (но не идентичный) результат, вызвав тэту из эквивалентной модели Пуассона:
ep.glmer.nb3<-glmer(count~trt*time + (1|id)+(0+time|id) +offset(log(offset)),
data=ep_long,
family=MASS::negative.binomial(theta = lme4:::est_theta(ep.glmer))
)
Эти обходные пути хороши, и подобрали меня достаточно близко.... но у меня сложилось впечатление, что ничего из этого не было необходимо при использовании glmer.nb
.
У кого-нибудь есть какие-либо сведения о том, почему glmer.nb
не работает, как я ожидал?