Generalized-Linear-Model
計數回歸的診斷圖
對於結果是計數變量的回歸,您發現哪些診斷圖(可能還有正式測試)提供的信息最多?
我對泊松和負二項式模型以及它們的零膨脹和跨欄模型特別感興趣。我發現的大多數來源只是簡單地繪製殘差與擬合值,而沒有討論這些圖“應該”是什麼樣子。
智慧和參考非常感謝。關於我為什麼要問這個的背景故事,如果相關的話,是我的另一個問題。
相關討論:
這是我通常喜歡做的事情(為了說明,我使用過度分散且不太容易建模的學生缺課天數的 quine 數據
MASS
):
- 通過繪製觀察到的頻率和擬合頻率(參見Friendly中的第 2 章)來測試和繪製原始計數數據,這在很大程度上由
vcd
包支持。R
例如,使用goodfit
和rootogram
:library(MASS) library(vcd) data(quine) fit <- goodfit(quine$Days) summary(fit) rootogram(fit)
或使用**Ord 圖**有助於識別哪個計數數據模型是基礎(例如,這裡的斜率為正,截距為正,表示負二項分佈):
Ord_plot(quine$Days)
或者使用**“XXXXXXness”圖**,其中 XXXXXX 是選擇的分佈,比如泊松圖(它反對泊松,也可以嘗試
type="nbinom"
):distplot(quine$Days, type="poisson")
- 檢查通常的擬合優度測量(例如似然比統計與空模型或類似的):
mod1 <- glm(Days~Age+Sex, data=quine, family="poisson") summary(mod1) anova(mod1, test="Chisq")
- 通過查看或查看正式的測試統計信息(例如,請參閱此答案)來檢查**過度/過度分散。**這裡我們顯然有過度分散:
residual deviance/df
library(AER) deviance(mod1)/mod1$df.residual dispersiontest(mod1)
- 檢查影響點和槓桿點,例如,使用包
influencePlot
中的。car
當然,這裡有很多點是非常有影響力的,因為泊松是一個糟糕的模型:library(car) influencePlot(mod1)
- 通過擬合計數數據模型及其 zeroinflated / hurdle 對應物並比較它們(通常與 AIC)來檢查**零通脹。**這裡的零膨脹模型比簡單的泊松模型更適合(同樣可能是由於過度分散):
library(pscl) mod2 <- zeroinfl(Days~Age+Sex, data=quine, dist="poisson") AIC(mod1, mod2)
- 繪製y 軸上的殘差(原始、偏差或縮放)與 x 軸上的(對數)預測值(或線性預測值)。在這裡,我們看到一些非常大的殘差和與正常的偏差殘差的實質性偏差(反對泊松;編輯:@FlorianHartig 的回答表明這些殘差的正態性是不可預期的,因此這不是一個決定性的線索):
res <- residuals(mod1, type="deviance") plot(log(predict(mod1)), res) abline(h=0, lty=2) qqnorm(res) qqline(res)
- 如果有興趣,請通過繪製有序絕對殘差與預期正態值Atkinson (1981)來繪製殘差的半正態概率圖。一個特殊功能是使用模擬/自舉置信區間模擬參考“線”和包絡(雖然未顯示):
library(faraway) halfnorm(residuals(mod1))
- 計數數據的對數線性模型的診斷圖(參見 Friendly 書中的第 7.2 和 7.7 章)。繪製預測值與觀察值可能有一些區間估計(我只是為年齡組做了 - 在這裡我們再次看到,由於過度分散,我們與我們的估計相距甚遠,也許,在 F3 組中。粉紅色的點是點預測一個標準錯誤):
plot(Days~Age, data=quine) prs <- predict(mod1, type="response", se.fit=TRUE) pris <- data.frame("pest"=prs[[1]], "lwr"=prs[[1]]-prs[[2]], "upr"=prs[[1]]+prs[[2]]) points(pris$pest ~ quine$Age, col="red") points(pris$lwr ~ quine$Age, col="pink", pch=19) points(pris$upr ~ quine$Age, col="pink", pch=19)
這應該為您提供有關您的分析的許多有用信息,並且大多數步驟適用於所有標準計數數據分佈(例如,泊松、負二項式、COM 泊松、冪律)。