Jawaban singkat
Penyebaran berlebih tidak menjadi masalah ketika memperkirakan vektor koefisien regresi untuk mean bersyarat dalam model kuasi / poisson! Anda akan baik-baik saja jika Anda lupa tentang overdispersi di sini, gunakan glmnet dengan keluarga poisson dan hanya fokus pada apakah kesalahan prediksi validasi silang Anda rendah.
Kualifikasi berikut di bawah ini.
Poisson, Quasi-Poisson dan fungsi estimasi:
yμx⊤β
θVa r ( y) = θ μθθθββ^ identik untuk model quasi dan poisson!
Biarkan saya ilustrasikan dengan sebuah contoh (perhatikan bahwa orang perlu menggulir untuk melihat seluruh kode dan output):
> library(MASS)
> data(quine)
> modp <- glm(Days~Age+Sex+Eth+Lrn, data=quine, family="poisson")
> modqp <- glm(Days~Age+Sex+Eth+Lrn, data=quine, family="quasipoisson")
> summary(modp)
Call:
glm(formula = Days ~ Age + Sex + Eth + Lrn, family = "poisson",
data = quine)
Deviance Residuals:
Min 1Q Median 3Q Max
-6.808 -3.065 -1.119 1.819 9.909
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 2.71538 0.06468 41.980 < 2e-16 ***
AgeF1 -0.33390 0.07009 -4.764 1.90e-06 ***
AgeF2 0.25783 0.06242 4.131 3.62e-05 ***
AgeF3 0.42769 0.06769 6.319 2.64e-10 ***
SexM 0.16160 0.04253 3.799 0.000145 ***
EthN -0.53360 0.04188 -12.740 < 2e-16 ***
LrnSL 0.34894 0.05204 6.705 2.02e-11 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for poisson family taken to be 1)
Null deviance: 2073.5 on 145 degrees of freedom
Residual deviance: 1696.7 on 139 degrees of freedom
AIC: 2299.2
Number of Fisher Scoring iterations: 5
> summary(modqp)
Call:
glm(formula = Days ~ Age + Sex + Eth + Lrn, family = "quasipoisson",
data = quine)
Deviance Residuals:
Min 1Q Median 3Q Max
-6.808 -3.065 -1.119 1.819 9.909
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.7154 0.2347 11.569 < 2e-16 ***
AgeF1 -0.3339 0.2543 -1.313 0.191413
AgeF2 0.2578 0.2265 1.138 0.256938
AgeF3 0.4277 0.2456 1.741 0.083831 .
SexM 0.1616 0.1543 1.047 0.296914
EthN -0.5336 0.1520 -3.511 0.000602 ***
LrnSL 0.3489 0.1888 1.848 0.066760 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for quasipoisson family taken to be 13.16691)
Null deviance: 2073.5 on 145 degrees of freedom
Residual deviance: 1696.7 on 139 degrees of freedom
AIC: NA
Number of Fisher Scoring iterations: 5
Seperti yang dapat Anda lihat meskipun kami memiliki penyebaran berlebihan 12,21 dalam kumpulan data ini (pada deviance(modp)/modp$df.residual
) koefisien regresi (estimasi titik) tidak berubah sama sekali. Tetapi perhatikan bagaimana kesalahan standar berubah.
Pertanyaan tentang efek overdispersi dalam model poisson dihukum
θβ
g(μ)=x⊤β+f(β)
βθμ
glmnet
f(β)=0
> library(glmnet)
> y <- quine[,5]
> x <- model.matrix(~Age+Sex+Eth+Lrn,quine)
> modl <- glmnet(y=y,x=x, lambda=c(0.05,0.02,0.01,0.005), family="poisson")
> coefficients(modl)
8 x 4 sparse Matrix of class "dgCMatrix"
s0 s1 s2 s3
(Intercept) 2.7320435 2.7221245 2.7188884 2.7172098
(Intercept) . . . .
AgeF1 -0.3325689 -0.3335226 -0.3339580 -0.3340520
AgeF2 0.2496120 0.2544253 0.2559408 0.2567880
AgeF3 0.4079635 0.4197509 0.4236024 0.4255759
SexM 0.1530040 0.1581563 0.1598595 0.1607162
EthN -0.5275619 -0.5311830 -0.5323936 -0.5329969
LrnSL 0.3336885 0.3428815 0.3459650 0.3474745
Jadi apa yang dilakukan OD untuk menghukum model regresi? Seperti yang Anda ketahui, masih ada beberapa perdebatan tentang cara yang tepat untuk menghitung kesalahan standar untuk model yang dihukum (lihat misalnya, di sini ) dan glmnet
tidak menghasilkan apa pun, mungkin karena alasan itu. Sangat mungkin bahwa OD akan mempengaruhi bagian inferensi dari model, seperti halnya dalam kasus yang tidak dihukum tetapi kecuali jika beberapa konsensus tentang kesimpulan dalam kasus ini tercapai, kita tidak akan tahu.
Sebagai tambahan, seseorang dapat meninggalkan semua kekacauan ini jika seseorang mau mengadopsi pandangan Bayesian di mana model yang dihukum hanya model standar dengan prior tertentu.
poisson
danquasipoisson
regresi memperkirakan koefisien dengan cara yang sama dan apa yang berbeda adalah bagaimana mereka memperkirakan kesalahan standar dan dengan demikian signifikansi. Namun, untuk metode laso, cara menghitung kesalahan standar belum mencapai konsensus, dan karenanya penggunaan saat ini sebagian besar terletak pada pemilihan variabel daripada inferensi. Dengan demikian, tidak masalah jika kita menggunakanglmnet
dengan poisson atau quasipoisson, tetapi apa yang dilakukan adalah kesalahan lintas-validasi harus diminimalkan.summary(modqp)
sendiri dan melihatnya memiliki estimasi koefisien yang persis sama. Saya yakin jawaban Anda akan bermanfaat bagi lebih banyak orang dalam masalah ini karena saya belum menemukannya, jadi saya sarankan Anda menambahkan output ringkasan (modqp) untuk contoh ilustrasi yang lebih baik. Sekali lagi, terima kasih banyak!