Я пытаюсь помочь студенту коллеги. Студент наблюдал и подсчитывал поведение птицы (количество вызовов) в экспериментальной обстановке. Количество вызовов, относящихся к конкретной наблюдаемой птице во время каждого эксперимента, определить невозможно, но подсчет числа птиц, внесших вклад в количество зарегистрированных вызовов, был возможен. Следовательно, мое первоначальное предложение состояло в том, чтобы включить количество птиц в качестве смещенного члена в модель Пуассона 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 не может быть возможным для переменной смещения.
источник
Ответы:
Таким образом, вы хотите смоделировать ответ «Количество вызовов на птицу», а неприятные линии - это то, где вы не наблюдали ни одной птицы? Просто брось эти строки. Они не добавляют никакой информации к тому, что вы пытаетесь смоделировать.
источник
glm.fit
которая создает колебания, даже если эти значения не учитываются в подсчитываемой части модели. Я полагаю, что могу сделать модель препятствий вручную, но я не хочу этого делать, просто советую студенту.В пуассоновском GLM смещение - это просто мультипликативное масштабирование моделируемой скорости Пуассона, а пуассон с нулевой скоростью не полезен или даже не имеет смысла ...
Вот почему Spacedman является правильным!
источник
Просто попробуйте сделать это («Препятствие») «вручную (для« дидактического / гимнастического »смысла): разделить на биномиальную часть и часть cout, а также разделить регрессию logit и cout по отдельности! Или использовать стандартные модели Hurdle (+ тест Vuong) Poisson / negBin / Gamma ..., GAM. Мне не нужен "смещенный" var, мне кажется. ;-)
источник