Я пытаюсь смоделировать среднюю интенсивность паразитов, воздействующих на хозяина в R, используя отрицательную биномиальную модель. Я продолжаю получать 50 или более предупреждений, которые говорят:
In dpois(y, mu, log = TRUE) : non-integer x = 251.529000
Как я могу справиться с этим? Мой код выглядит так:
mst.nb = glm.nb(Larvae+Nymphs+Adults~B.type+Month+Season, data=MI.df)
Ответы:
Отрицательный бином является распределением для данных подсчета, поэтому вы действительно хотите, чтобы ваша переменная ответа была подсчетом (то есть неотрицательными целыми числами). Тем не менее, уместно учитывать «различные попытки отбора проб» (я не знаю точно, что вы имеете в виду, но я понимаю суть этого). Тем не менее, вы не должны пытаться сделать это, разделив ваши счета на другое число. Вместо этого вам нужно использовать этот другой номер в качестве смещения . На CV есть хорошее обсуждение того, что смещение здесь: Когда использовать смещение в регрессии Пуассона? Я предполагаю, что ваша модель должна выглядеть примерно так:
источник
cbind()
.Это предупреждение, а не фатальная ошибка. glm.nb () рассчитывает, что ваша конечная переменная рассчитывается как целые числа. Ваши данные не являются целыми числами: 251,529.
R говорит: «Хммм ... вы можете проверить это и убедиться, что все в порядке, потому что это может выглядеть неправильно». Если моя память верна, SPSS не дает такого предупреждения.
Если вы уверены, что используете правильную модель, даже если у вас нет целых чисел, игнорируйте ее и продолжайте.
источник
Я экологический паразитолог ... способ, которым вы должны справиться с этим, - связать хосты, которые были паразитированы, и те, которые не были, а затем использовать биномиальное распределение ... см. Код ниже.
Я также никогда не использовал glm с более чем одной переменной y ... поэтому предположим, что вы хотите посмотреть на паразитированных личинок: у вас будет # личинок, которые были здоровы, и #, которые были паразитированы.
Скажем: Lh и Lp
Так например
parasitizedL = cbind (Lp, Lh) Hist (parasitized) # Я предполагаю, что вы можете просто использовать регулярное биномиальное распределение w / glm .. и, возможно, вам не понадобится нег.биномиальная модель PLarvae1 = glm (parasitizedL ~ B.type + Month + Season, семейство = биномиальных, данные = MI.df)
затем выполните поэтапное сокращение модели, чтобы увидеть, какие из ваших факторов значительно влияют на паразитизм ... см. ссылку ниже
http://bbolker.github.io/mixedmodels-misc/glmmFAQ.html
однако, похоже, что вы должны иметь случайные эффекты для учета повторяющихся выборок ... так что скорее всего ваш случайный эффект будет (1 | Сезон / месяц) ... но трудно сказать без знания ваших данных
источник