Dalam "Panduan Practioner untuk Generalized linear models" dalam paragraf 1.83 dinyatakan bahwa:
"Dalam kasus khusus GLM multiplikatif Poisson dapat ditunjukkan bahwa klaim pemodelan dihitung dengan istilah offset yang sama dengan log paparan yang menghasilkan hasil yang identik dengan pemodelan frekuensi klaim dengan bobot sebelumnya yang ditetapkan sama dengan paparan setiap pengamatan. "
Saya tidak dapat menemukan referensi lebih lanjut dari hasil ini, jadi saya mengambil beberapa pengujian empiris di mana saya tidak dapat menemukan bukti bahwa pernyataan itu benar. Adakah yang bisa memberikan beberapa wawasan mengapa hasil ini mungkin benar / salah.
FYI, saya menggunakan kode R berikut untuk menguji hipotesis, di mana saya tidak bisa mendapatkan hasil yang serupa untuk dua kasus yang disebutkan:
n=1000
m=10
# Generate random data
X = matrix(data = rnorm(n*m)+1, ncol = m, nrow = n)
intercept = 2
coefs = runif(m)
offset = runif(n)
## DGP: exp of Intercept + linear combination X variables + log(offset)
mu = exp(intercept + X%*%coefs + log(offset))
y = rpois(n=n, lambda=mu)
df = data.frame('y'=y, 'X'=X, 'offset' = offset)
formula = paste("y ~",paste(colnames(df)[grepl("X", colnames(df))], collapse = "+"))
#First model using log(offset) as offset
fit1 = glm(formula, family = "poisson", df, offset = log(offset))
#Second model using offset as weights for individual observations
fit2 = glm(formula, family = "poisson", df, weights = offset)
#Third model using poisson model on y/offset as reference
dfNew = df
dfNew$y = dfNew$y/offset
fit3 = glm(formula, family = "poisson", dfNew)
#Combine coefficients with the true coefficients
rbind(fit1$coefficients, fit2$coefficients, fit3$coefficients, c(intercept,coefs))
Estimasi koefisien yang dihasilkan dari menjalankan kode ini diberikan di bawah:
>
(Intercept) X.1 X.2 X.3 X.4 X.5 X.6
[1,] 1.998277 0.2923091 0.4586666 0.1802960 0.11688860 0.7997154 0.4786655
[2,] 1.588620 0.2708272 0.4540180 0.1901753 0.07284985 0.7928951 0.5100480
[3,] 1.983903 0.2942196 0.4593369 0.1782187 0.11846876 0.8018315 0.4807802
[4,] 2.000000 0.2909240 0.4576965 0.1807591 0.11658183 0.8005451 0.4780123
X.7 X.8 X.9 X.10
[1,] 0.005772078 0.9154808 0.9078758 0.3512824
[2,] -0.003705015 0.9117014 0.9063845 0.4155601
[3,] 0.007595660 0.9181014 0.9076908 0.3505173
[4,] 0.005881960 0.9150350 0.9084375 0.3511749
>
dan kita bisa amati koefisiennya tidak identik.
rm(list=ls() )
kode R yang Anda posting di sini! Itu bisa mengejutkan seseorang yang menjalankannya, membuat mereka marah pada Anda. Saya menghapusnya. Saya juga diedit untuk memasukkan hasil dari menjalankan kode. Jika Anda telah melakukan ini pada awalnya, mungkin Anda mendapatkan respons lebih cepat, karena hanya sedikit pembaca yang menjalankan kode itu sendiri.Jawaban:
(dengan kode R, Anda dapat mengganti "poisson" dengan "quasipoisson" untuk menghindari semua peringatan yang dihasilkan. Tidak ada lagi impor yang akan berubah. Lihat (*) di bawah). Referensi Anda menggunakan istilah "multiplicative glm" yang menurut saya hanya berarti glm dengan tautan log, karena tautan log dapat dianggap sebagai model multiplikatif. Contoh Anda sendiri menunjukkan bahwa klaim itu salah, setidaknya seperti yang kami tafsirkan (Karena parameter yang diestimasi tidak sama). Anda bisa menulis kepada penulis dan bertanya apa artinya. Di bawah ini saya akan berdebat mengapa klaim itu salah.
Membiarkanλi menjadi parameter poisson dan ωi bobot. Membiarkanηi menjadi prediktor linier tanpa offset, dan kemudian ηi+log(ωi) menjadi prediktor linier dengan offset. Fungsi probabilitas poisson adalah
(*) Catatan dari bantuan
glm
fungsi R :Melihat makna argumen bobot menjelaskan ini, ia memberi sedikit makna dengan fungsi keluarga poisson, yang mengasumsikan parameter skala konstanϕ=1 sementara argumen bobot memodifikasi ϕ . Ini memang memberi lebih banyak makna dengan fungsi keluarga quasiposson. Lihat jawaban untuk input "bobot" dalam fungsi glm dan lm di R. Jawaban yang diberikan di sana juga membantu dalam melihat mengapa kemungkinan dalam kasus berbobot mengambil bentuk yang diberikan di atas.
Jawaban yang diberikan di sini mungkin relevan: Bagaimana regresi tingkat Poisson sama dengan regresi Poisson dengan istilah offset yang sesuai? dan sangat menarik.
sumber
Maaf tidak hanya menambahkan komentar di atas, tapi saya tidak punya cukup perwakilan.
Klaim asli - tetapi dimodifikasi sedikit - ternyata benar.
Dua model berikut memberikan jawaban yang persis sama dalam R menggunakan poisson glm dengan log-link:
menyesuaikan kode asli Anda sedikit menunjukkan jawaban yang identik:
Semoga itu memberikan jawaban yang identik.
Dimungkinkan untuk menunjukkan bahwa kedua model secara statistik setara (ada kertas CAS di suatu tempat yang menunjukkan ini - saya akan memposting tautan jika saya punya waktu).
Kebetulan, jika Anda melakukan regresi penalti maka cara paket yang berbeda seperti glmnet dan H2o mengukur penyimpangan untuk dua cara yang berbeda dalam mendefinisikan model, dapat menyebabkan hasil yang berbeda.
sumber