Generalized-Linear-Model
對某些觀察值的偏移變量為 0 的計數數據進行建模
我正在嘗試幫助一位同事的學生。學生在實驗裝置中觀察併計算鳥類的行為(叫聲次數)。無法確定每次實驗期間特定觀察到的鳥類的叫聲數量,但計算有助於記錄的叫聲數量的鳥類數量是可能的。因此,我最初的建議是在 Poisson GLM 模型中包含鳥類數量作為偏移項,因此我們將擬合每隻鳥類的預期呼叫次數。
這樣做的問題是,在許多觀察場合中,沒有觀察到鳥類(因此也沒有觀察到叫聲)。軟件(在本例中為 R)抱怨是因為(R 抱怨
y
包含-Inf
數據,但這純粹是存在的結果offset(log(nbirds))
)-Inf
。我實際上懷疑我們需要一個障礙模型(或類似模型),其中我們有一個單獨的二項式模型用於“觀察到的呼叫”?(或不)和在有呼叫的情況下呼叫數量(每隻鳥)的截斷計數模型,其中我們僅在模型的計數部分包含偏移項。
使用 R 中的pscl包嘗試過這個,但我仍然遇到同樣的錯誤:
mod1 <- hurdle(NumberCallsCOPO ~ Condition * MoonVis + offset(log(NumberCOPO)) | 1, data = Data, dist = "poisson")
因為相同的 R 代碼(
glm.fit
在內部hurdle()
用於擬合計數模型部分)正在檢查,-Inf
即使我認為它不會影響模型對這些觀察的擬合。(這是一個正確的假設嗎?)
NumberCOPO
我可以通過向(例如)添加一個小數字來使模型適合,0.0001
但這充其量只是一個軟糖。在實踐中添加這個小的連續性校正可以嗎?如果不是,在處理數據時我們應該考慮哪些其他方法,我們可能希望在 Poisson 模型中使用偏移量,其中偏移量變量可以取值 0?我遇到的所有示例都是針對偏移變量不可能為 0 的情況。
因此,您要建模的響應是“每隻鳥的呼叫次數”,而麻煩的線條是您沒有觀察到任何鳥的地方?只需刪除這些行。它們不會向您嘗試建模的事物添加任何信息。