Dapatkah saya menggunakan algoritma glm untuk melakukan regresi logistik multinomial?

14

Saya menggunakan spotfire (S ++) untuk analisis statistik dalam proyek saya dan saya harus menjalankan regresi logistik multinomial untuk kumpulan data besar. Saya tahu algoritma terbaik adalah mlogit, tapi sayangnya itu tidak tersedia di s ++. Namun, saya memiliki opsi untuk menggunakan algoritma glm untuk regresi ini. Saya ingin mengklarifikasi dua hal di sini:

1.Apakah pemahaman saya benar bahwa GLM juga dapat digunakan untuk menjalankan Multinomial Logistic Regression?

  1. Jika jawaban untuk pertanyaan sebelumnya adalah ya, maka parameter apa yang harus digunakan di glm algo?

Terima kasih,

Raghvendra
sumber

Jawaban:

9

Ya, dengan GLM Poisson (model log linier) Anda dapat memuat model multinomial. Oleh karena itu multinomial logistik atau log linear model Poisson adalah setara.

Anda perlu melihat jumlah acak sebagai variabel acak Poisson dengan rata-rata μ i j dan tentukan berikut model log-linear berikutyijμij

log(μij)=o+pi+cj+xiβj

Untuk mendapatkan model multinomial logit, parameternya adalah:

Parameter untuk setiap pengamatan multinomial, misalnya individu atau kelompok. Ini menjamin reproduksi tepat dari penyebut multinomial dan benar-benar menetapkan kesetaraan Poisson dan model multinomial. Mereka ditetapkan dalam kemungkinan multinomial, tetapi acak dalam kemungkinan Poisson.pi

Parameter untuk setiap kategori respons. Dengan cara ini penghitungan bisa berbeda untuk setiap kategori respons dan margin bisa tidak seragam.cj

Apa yang Anda benar-benar tertarik adalah istilah interaksi yang mewakili efek x i pada log-odds respons j .xiβjxij

Log-odds dapat dihitung dengan . Merupakan peluang log bahwa observasi saya akan masuk dalam kategori respons j relatif terhadap kategori respons k .log(μij/μik)=(cjck)+xi(βjβk)k

Kemudian, parameter dalam model logit multinomial (dilambangkan dalam huruf latin) dapat diperoleh sebagai perbedaan antara parameter dalam model log-linier yang sesuai, yaitu danaj=αjαk .bj=βjβk

Momo
sumber
Terima kasih Momo. Ini sangat membantu. Perangkat lunak saya memberi saya pilihan untuk memilih Keluarga sebagai "posisi" dan Tautkan sebagai "log" saat menjalankan alogoritma GLM. Jadi saya pikir itulah yang dibutuhkan di sini.
Raghvendra
7

Ya Anda bisa, dan sebenarnya inilah yang dilakukan paket R GLMNET untuk regresi logistik multinomial. Menulis fungsi log-likelihood sebagai:

LogL=icniclog(pic)

icnicicnic=1

pic=exp(xiTβc)cexp(xiTβc)

(β1,,βC)

pic=exp(xiTβc)exp(xiTβc)+A where Aβc=0
pic=Bexp(xiTβc)+A where Bβc=0

βcWii,c=nicpic(1pic)(XTWX)1XTWY

probabilityislogic
sumber
Wk
Mengingat bahwa itu tidak akan diagonal, itu tidak akan skala baik dengan banyak pengamatan, bukan? Jika menggunakan "Gibbs-style", akan mengurangkan parameter kategori dasar dariβMatriks dilakukan sebelum atau sesudah prediksi?
José Bayoán Santiago Calderón
Ketika Anda berbicara tentang "cholesky sekali" vs "cholesky k kali" Anda harus mencatat bahwa matriks adalah dimensi yang berbeda - jika ada hal kolom dalam X maka "sekali" adalah untuk ukuran matriks halk dan "k kali" adalah untuk ukuran matriks hal
probabilityislogic