將泊松和負二項式回歸與 LR 檢驗進行比較
我的問題與比較負二項式模型的問題有關。我在理解UCLA 指南時遇到了一些困難(我
R
也在使用 )。在檢查模型假設部分他們運行
pchisq(2 * (logLik(m1) - logLik(m3)), df = 1, lower.tail = FALSE)
我理解第一部分,但為什麼他們將自由度設置為等於 1(
df = 1
)?他們的輸出是
## 'log Lik.' 2.157e-203 (df=5)
他們寫
在此示例中,關聯的卡方值為 926.03,具有一個自由度。這強烈表明,估計色散參數的負二項式模型比泊松模型更合適。
“926.03 有一個自由度”指的是什麼?
泊松和負二項式 (NB) 模型是嵌套的:泊松是 theta = 無窮大的特例。因此,比較兩個模型的似然比檢驗是檢驗“theta = infinity”的原假設與“theta < infinity”的替代假設。這兩個模型具有以下對數似然
R> logLik(m3) 'log Lik.' -1328.642 (df=4) R> logLik(m1) 'log Lik.' -865.6289 (df=5)
因此,僅使用一個附加參數(4 個回歸係數加 1 個θ),NB 模型中的擬合對數似然更大/更好。的值為
m1$theta
1.032713,即基本上對應於幾何分佈(theta = 1)。因此,與θ遠低於無窮大的泊松分佈相比,顯然存在過度分散。(我個人的經驗法則是,超過 10 的一切都已經相當接近無窮大了。)似然比檢驗統計量是對數似然絕對差 (2 * (1328.642 - 865.6289) = 926.0262) 的兩倍,並且必須與自由度 (df) 等於 df 差的卡方分佈進行比較兩個模型之間(5 - 4 = 1)。這就是上面的代碼所做的。
logLik()
但是,對象的差異保留了"logLik"
類並因此用標籤和 df 顯示它可能有點令人困惑。申請as.numeric()
放棄課程可能會澄清這一點:R> 2 * (logLik(m1) - logLik(m3)) 'log Lik.' 926.0272 (df=5) R> as.numeric(2 * (logLik(m1) - logLik(m3))) [1] 926.0272
然後你可以手動計算 p 值:
R> stat <- as.numeric(2 * (logLik(m1) - logLik(m3))) R> pchisq(stat, df = 5 - 4, lower.tail = FALSE) [1] 2.157298e-203
還有一些函數以通用方式執行此類似然比檢驗,例如(
lrtest()
除lmtest
其他外):R> library("lmtest") R> lrtest(m3, m1) Likelihood ratio test Model 1: daysabs ~ math + prog Model 2: daysabs ~ math + prog #Df LogLik Df Chisq Pr(>Chisq) 1 4 -1328.64 2 5 -865.63 1 926.03 < 2.2e-16 *** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
最後一個細節:泊鬆與 NB 的似然比檢驗是非標準的,因為參數 theta = infinity 位於參數空間的邊界上。因此,卡方分佈的 p 值必須減半(類似於單邊檢驗)。當然,如果你已經有了顯著的結果而沒有減半,那麼之後它仍然很顯著……