Сообщение об ошибке glmer.nb: «неиспользованный аргумент (theta = ....) - PullRequest
1 голос
/ 24 сентября 2019

Я работаю с продольными данными и пытаюсь проиллюстрировать идею использования отрицательного биномиального распределения вместо распределения Пуассона для учета избыточной дисперсии в контексте смешанных моделей.Я работаю с пакетом 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 не работает, как я ожидал?

...