Saya perhatikan bahwa dalam regresi R, Poisson dan negatif binomial (NB) selalu cocok dengan koefisien yang sama untuk prediktor kategoris, tetapi tidak kontinu.
Misalnya, berikut ini adalah regresi dengan prediktor kategori:
data(warpbreaks)
library(MASS)
rs1 = glm(breaks ~ tension, data=warpbreaks, family="poisson")
rs2 = glm.nb(breaks ~ tension, data=warpbreaks)
#compare coefficients
cbind("Poisson"=coef(rs1), "NB"=coef(rs2))
Berikut ini adalah contoh dengan prediktor kontinu, di mana Poisson dan NB sesuai dengan koefisien yang berbeda:
data(cars)
rs1 = glm(dist ~ speed, data=cars, family="poisson")
rs2 = glm.nb(dist ~ speed, data=cars)
#compare coefficients
cbind("Poisson"=coef(rs1), "NB"=coef(rs2))
(Tentu saja ini tidak menghitung data, dan modelnya tidak berarti ...)
Lalu saya mengkode ulang prediktor menjadi faktor, dan kedua model tersebut kembali sesuai dengan koefisien yang sama:
library(Hmisc)
speedCat = cut2(cars$speed, g=5)
#you can change g to get a different number of bins
rs1 = glm(cars$dist ~ speedCat, family="poisson")
rs2 = glm.nb(cars$dist ~ speedCat)
#compare coefficients
cbind("Poisson"=coef(rs1), "NB"=coef(rs2))
Namun, Regresi Binomial Negatif Joseph Hilbe memberikan contoh (6.3, hal 118-119) di mana prediktor kategori, jenis kelamin, cocok dengan koefisien yang sedikit berbeda oleh Poisson ( ) dan NB ( ). Dia mengatakan: “Rasio tingkat kejadian antara model Poisson dan NB sangat mirip. Ini tidak mengejutkan mengingat kedekatan [sesuai dengan dalam R] ke nol. ”
Saya memahami ini, tetapi dalam contoh di atas, summary(rs2)
memberi tahu kita bahwa diperkirakan masing-masing 9,16 dan 7,93.
Jadi mengapa koefisiennya persis sama? Dan mengapa hanya untuk prediksi kategori?
Edit # 1
Berikut adalah contoh dengan dua prediktor non-ortogonal. Memang, koefisien tidak lagi sama:
data(cars)
#make random categorical predictor
set.seed(1); randomCats1 = sample( c("A","B","C"), length(cars$dist), replace=T)
set.seed(2); randomCats2 = sample( c("C","D","E"), length(cars$dist), replace=T)
rs1 = glm(dist ~ randomCats1 + randomCats2, data=cars, family="poisson")
rs2 = glm.nb(dist ~ randomCats1 + randomCats2, data=cars)
#compare coefficients
cbind("Poisson"=coef(rs1), "NB"=coef(rs2))
Dan, termasuk prediktor lain menyebabkan model sesuai dengan koefisien yang berbeda bahkan ketika prediktor baru kontinu. Jadi, itu ada hubungannya dengan ortogonalitas dari variabel dummy yang saya buat dalam contoh asli saya?
rs1 = glm(dist ~ randomCats1 + speed, data=cars, family="poisson")
rs2 = glm.nb(dist ~ randomCats1 + speed, data=cars)
#compare coefficients
cbind("Poisson"=coef(rs1), "NB"=coef(rs2))
sumber
Jawaban:
Anda telah menemukan properti GLM yang intim, tetapi umum, cocok dengan kemungkinan maksimum . Hasilnya keluar begitu seseorang mempertimbangkan kasus paling sederhana dari semuanya: Menyesuaikan parameter tunggal ke tunggal pengamatan!
Satu kalimat jawaban : Jika semua kita peduli sepatutnya sarana terpisah untuk subset menguraikan sampel kami, maka GLMS akan selalu menghasilkan μ j = ˉ y j untuk setiap bagian j , sehingga struktur kesalahan yang sebenarnya dan parametrization kepadatan kedua menjadi tidak relevan ke estimasi (titik)!μ^j=y¯j j
Sedikit lebih banyak : Menyesuaikan faktor-faktor kortogonal ortogonal dengan kemungkinan maksimum setara dengan cara-cara yang terpisah untuk memisahkan subset dari sampel kami, jadi ini menjelaskan mengapa Poisson dan GLM binomial negatif menghasilkan estimasi parameter yang sama. Memang, hal yang sama terjadi apakah kita menggunakan Poisson, negbin, Gaussian, invers Gaussian atau Regresi Gamma (lihat di bawah). Dalam kasus Poisson dan negbin, fungsi tautan default adalah tautan , tetapi itu adalah herring merah; sementara ini menghasilkan mentah yang samalog estimasi parameter , kita akan melihat di bawah bahwa properti ini benar-benar tidak ada hubungannya dengan fungsi tautan sama sekali.
Ketika kita tertarik pada parametrization dengan lebih banyak struktur, atau itu tergantung pada prediktor kontinu, maka struktur kesalahan yang diasumsikan menjadi relevan karena hubungan mean-varians dari distribusi karena berkaitan dengan parameter dan fungsi nonlinear yang digunakan untuk memodelkan kondisi. cara.
GLM dan keluarga dispersi eksponensial: Crash course
Sebuah keluarga dispersi eksponensial dalam bentuk alami adalah salah satu seperti bahwa kepadatan log adalah bentuk
Di sini adalah parameter alami dan ν adalah parameter dispersi . Jika ν diketahui, ini hanya akan menjadi keluarga eksponensial satu parameter standar. Semua GLM yang dipertimbangkan di bawah ini menganggap model kesalahan dari keluarga ini.θ ν ν
Pertimbangkan contoh pengamatan tunggal dari keluarga ini. Jika kita cocok oleh kemungkinan maksimum, kita mendapatkan bahwa y = b ' ( θ ) , terlepas dari nilai ν . Ini mudah meluas ke kasus sampel iid sejak likelihood log menambahkan, menghasilkan ˉ y = b ' ( θ ) .θ y=b′(θ^) ν y¯=b′(θ^)
Tetapi, kita juga tahu, karena keteraturan yang bagus dari kepadatan log sebagai fungsi dari , itu ∂θ
Jadi, sebenarnya b ′ ( θ ) = E Y = μ .
Karena perkiraan kemungkinan maksimum yang berubah dalam transformasi, ini berarti bahwa untuk keluarga ini kepadatan.y¯=μ^
Sekarang, dalam GLM, kami memodelkan sebagai μ i = g - 1 ( x T i β ) di mana g adalah fungsi tautan. Tetapi jika x i adalah vektor semua nol kecuali untuk 1 tunggal pada posisi j , maka μ i = g ( β j ) . Kemungkinan GLM kemudian memfaktorkan berdasarkan β j 'dan kami melanjutkan seperti di atas. Inilah tepatnya kasus faktor ortogonal.μi μi=g−1(xTiβ) g xi j μi=g(βj) βj
Apa yang berbeda dari prediktor kontinu?
Ketika prediktor kontinu atau kategorik, tetapi tidak dapat direduksi menjadi bentuk ortogonal, maka kemungkinan tidak lagi menjadi faktor individu dengan rata-rata terpisah tergantung pada parameter terpisah. Pada titik ini, struktur kesalahan dan fungsi tautan memang ikut berperan.
Jika salah satu engkol melalui (membosankan) aljabar, persamaan kemungkinan menjadi untuk semua j = 1 , ... , p di mana λ i = x T i β . Di sini,parameter β dan ν masuk secara implisit melalui hubungan tautan μ i = g ( λ i ) = g ( x T i β ) dan varians σ 2 i .
Dengan cara ini, fungsi tautan dan model kesalahan yang diasumsikan menjadi relevan dengan estimasi.
Contoh: Model kesalahan (hampir) tidak masalah
Dalam contoh di bawah ini, kami menghasilkan data acak binomial negatif tergantung pada tiga faktor kategori. Setiap pengamatan berasal dari satu kategori dan parameter dispersi yang sama ( ) digunakan.k=6
Kami kemudian cocok dengan data ini menggunakan lima GLM yang berbeda, masing-masing dengan tautan : ( a ) binomial negatif, ( b ) Poisson, ( c ) Gaussian, ( d ) Inverse Gaussian dan ( e ) Gamma GLMs. Semua ini adalah contoh keluarga dispersi eksponensial.log
Dari tabel, kita dapat melihat bahwa estimasi parameter identik , meskipun beberapa GLM ini adalah untuk data diskrit dan yang lain untuk kontinu, dan beberapa untuk data non-negatif sementara yang lain tidak.
Peringatan dalam pos berasal dari fakta bahwa prosedur pemasangan akan gagal jika pengamatan tidak termasuk dalam domain kepadatan tertentu. Misalnya, jika kami memiliki hitungan yang dihasilkan secara acak dalam data di atas, maka Gamma GLM akan gagal untuk menyatu karena GLM Gamma membutuhkan data yang benar-benar positif.0
Contoh: Fungsi tautan (hampir) tidak masalah
Peringatan dalam pos hanya merujuk pada fakta bahwa taksiran mentah akan berbeda dengan fungsi tautan, tetapi taksiran taksiran parameter rata-rata tidak akan.
Kode r
sumber
family=negative.binomial(theta=2)
" dari?Untuk melihat apa yang terjadi di sini, pertama-tama berguna untuk melakukan regresi tanpa intersep, karena intersep dalam regresi kategori dengan hanya satu prediktor tidak ada artinya:
Karena Poisson dan regresi binomial negatif menentukan log dari parameter rata-rata, maka untuk regresi kategoris, dengan mengekspresiasikan koefisien akan memberikan Anda parameter rata-rata aktual untuk setiap kategori:
Parameter ini sesuai dengan rata-rata aktual pada nilai kategori yang berbeda:
The reason that you don't get the same coefficients for continuous data is because in a continuous regression,log(λ) is no longer going to be a piecewise constant function of the predictor variables, but a linear one. Maximizing the likelihood function in this case will not reduce to independently fitting a value λ for disjoint subsets of the data, but will rather be a nontrivial problem that is solved numerically, and is likely to produce different results for different likelihood functions.
Similarly, if you have multiple categorical predictors, despite the fact that the fitted model will ultimately specifyλ as a piecewise constant function, in general there will not be enough degrees of freedom to allow λ to be determined independently for each constant segment. For example, suppose that you have 2 predictors with 5 categories each. In this case, your model has 10 degrees of freedom, whereas there are 5∗5=25 unique different combinations of the categories, each of which will have its own fitted value of λ . So, assuming that the intersections of these categories are non-empty (or at least that 11 of them are nonempty), the likelihood maximization problem again becomes nontrivial and will generally produce different outcomes for Poisson versus negative binomial or any other distribution.
sumber
y~X+0
and try again. :-)