Я пытаюсь помочь студенту коллеги. Студент наблюдал и подсчитывал поведение птицы (количество вызовов) в экспериментальной обстановке. Количество вызовов, относящихся к конкретной наблюдаемой птице во время каждого эксперимента, определить невозможно, но подсчет числа птиц, внесших вклад в количество зарегистрированных вызовов, был возможен. Следовательно, мое первоначальное предложение состояло в том, чтобы включить количество птиц в качестве смещенного члена в модель Пуассона GLM, поэтому мы подгоняем ожидаемое количество вызовов на птицу .
y
-Inf
offset(log(nbirds))
-Inf
Я на самом деле подозреваю, что нам нужна модель препятствий (или аналогичная), где у нас есть отдельная биномиальная модель для "наблюдаемых вызовов"? (или нет) и усеченную модель подсчета для количества вызовов (на птицу) в ситуациях, когда были вызовы, когда мы включаем смещение только в подсчетную часть модели.
Попробовав это с помощью пакета pscl в R, но я все еще получаю ту же ошибку:
mod1 <- hurdle(NumberCallsCOPO ~ Condition * MoonVis +
offset(log(NumberCOPO)) | 1, data = Data,
dist = "poisson")
потому что тот же самый R-код ( glm.fit
используется внутренне hurdle()
для соответствия части модели подсчета) проверяет, -Inf
хотя я не думаю, что это повлияет на соответствие модели для этих наблюдений. (Это правильное предположение?)
Я могу привести модель в соответствие, добавив небольшое число NumberCOPO
(скажем 0.0001
), но в лучшем случае это выдумка.
Можно ли добавить это небольшое исправление непрерывности на практике? Если нет, то какие другие подходы мы должны учитывать при обработке данных, когда мы можем использовать смещение в модели Пуассона, где переменная смещения может принимать значение 0? Все примеры, с которыми я сталкивался, предназначены для ситуаций, когда 0 не может быть возможным для переменной смещения.