Pilih model terbaik antara logit, probit dan nls

8

Saya menganalisis dataset tertentu, dan saya perlu memahami cara memilih model terbaik yang sesuai dengan data saya. Saya menggunakan R.

Contoh data yang saya miliki adalah sebagai berikut:

corr <- c(0, 0, 10, 50, 70, 100, 100, 100, 90, 100, 100)

Angka-angka ini sesuai dengan persentase jawaban yang benar, dalam 11 kondisi berbeda ( cnt):

cnt <- c(0, 82, 163, 242, 318, 390, 458, 521, 578, 628, 673)

Pertama saya mencoba menyesuaikan model probit, dan model logit. Baru saja saya menemukan dalam literatur persamaan lain untuk mencocokkan data yang mirip dengan milik saya, jadi saya mencoba menyesuaikan data saya, menggunakan nlsfungsi, sesuai dengan persamaan itu (tapi saya tidak setuju dengan itu, dan penulis tidak menjelaskan mengapa dia menggunakan persamaan itu).

Berikut adalah kode untuk ketiga model yang saya dapatkan:

resp.mat <- as.matrix(cbind(corr/10, (100-corr)/10))
ddprob.glm1 <- glm(resp.mat ~ cnt, family = binomial(link = "logit"))
ddprob.glm2 <- glm(resp.mat ~ cnt, family = binomial(link = "probit"))

ddprob.nls <- nls(corr ~ 100 / (1 + exp(k*(AMP-cnt))), start=list(k=0.01, AMP=5))

Sekarang saya memplot data dan tiga kurva yang dipasang:

pcnt <- seq(min(cnt), max(cnt), len = max(cnt)-min(cnt)) 
pred.glm1 <- predict(ddprob.glm1, data.frame(cnt = pcnt), type = "response", se.fit=T) 
pred.glm2 <- predict(ddprob.glm2, data.frame(cnt = pcnt), type = "response", se.fit=T) 
pred.nls <- predict(ddprob.nls, data.frame(cnt = pcnt), type = "response", se.fit=T)

plot(cnt, corr, xlim=c(0,673), ylim = c(0, 100), cex=1.5)
lines(pcnt, pred.nls, lwd = 2, lty=1, col="red", xlim=c(0,673))
lines(pcnt, pred.glm2$fit*100, lwd = 2, lty=1, col="black", xlim=c(0,673)) #$
lines(pcnt, pred.glm1$fit*100, lwd = 2, lty=1, col="green", xlim=c(0,673))

Sekarang, saya ingin tahu: apa model terbaik untuk data saya?

  • probit
  • logit
  • nls

LogLik untuk ketiga model adalah:

> logLik(ddprob.nls)
'log Lik.' -33.15399 (df=3)
> logLik(ddprob.glm1)
'log Lik.' -9.193351 (df=2)
> logLik(ddprob.glm2)
'log Lik.' -10.32332 (df=2)

Apakah logLik cukup untuk memilih model terbaik? (Ini akan menjadi model logit, kan?) Atau ada sesuatu yang perlu saya hitung?

Tommaso
sumber
Saya telah menulis tentang memilih antara logit & probit di sini , yang mungkin ingin Anda baca (walaupun, nlsberbeda & tidak dibahas di sana).
gung - Reinstate Monica
@ung, saya sebelumnya sudah membaca penjelasan Anda di sana, jadi terima kasih! Masalah saya terutama menyangkut nlsmodel dan perbandingan dengan glm. Ini adalah alasan mengapa saya (kembali) memposting pertanyaan serupa :)
Tommaso
2
Saya kurang yakin tentang itu nls, kita akan lihat apa kata orang. W / sehubungan dengan GLiM's, saya akan mengatakan Anda harus menggunakan logit jika Anda pikir kovariat Anda terhubung langsung ke respons, & probit jika Anda pikir itu dimediasi oleh variabel laten yang terdistribusi normal.
gung - Reinstate Monica
2
Hai @ Tommaso, saya bingung tentang dari mana aturan main yang Anda kutip dari artikel itu berasal, tapi saya belum benar-benar mengklik tautannya jadi saya akan menunda menilai itu. Saya akan mengatakan bahwa model logistik bagus karena koefisien memiliki interpretasi yang bagus - sebagai rasio odds log. Ketika Anda mencoba untuk melakukan dekomposisi varians (misalnya jika Anda memiliki data cluster dan mencoba untuk mengukur tingkat ketergantungan dalam data) model probit memiliki beberapa sifat yang bagus, karena korelasi pada kontinu yang mendasarinya (normal, seperti gung menunjuk out) skala, yang diidentifikasi.
Makro
3
Loglik yang Anda dapatkan dari R di atas TIDAK sebanding dengan tipe model yang berbeda (mereka meninggalkan konstanta tidak tergantung pada parameter!), Jadi tidak ada gunanya bagi Anda di sini.
kjetil b halvorsen

Jawaban:

2

Pertanyaan tentang model apa yang harus digunakan berkaitan dengan tujuan analisis.

Jika tujuannya adalah untuk mengembangkan classifier untuk memprediksi hasil biner, maka (seperti yang Anda lihat), ketiga model ini kira-kira sama dan memberi Anda kira-kira classifier yang sama. Itu membuatnya menjadi poin yang bisa diperdebatkan karena Anda tidak peduli model apa yang mengembangkan classifier Anda dan Anda mungkin menggunakan validasi silang atau memecah validasi sampel untuk menentukan model mana yang berkinerja terbaik dalam data yang sama.

Dalam inferensi, semua model memperkirakan parameter model yang berbeda. Ketiga model regresi adalah kasus khusus GLM yang menggunakan fungsi tautan dan struktur varians untuk menentukan hubungan antara hasil biner dan (dalam hal ini) prediktor berkelanjutan. NLS dan model regresi logistik menggunakan fungsi tautan yang sama (logit) tetapi NLS meminimalkan kesalahan kuadrat dalam pemasangan kurva S di mana sebagai regresi logistik adalah estimasi kemungkinan maksimum dari data model dengan asumsi model linier untuk model probabilitas dan distribusi biner dari hasil yang diamati. Saya tidak bisa memikirkan alasan mengapa kami menganggap NLS bermanfaat untuk kesimpulan.

Regresi probit menggunakan fungsi tautan yang berbeda yang merupakan fungsi distribusi normal kumulatif. "Taper" ini lebih cepat daripada logit dan sering digunakan untuk membuat inferensi pada data biner yang diamati sebagai ambang batas biner dari hasil yang terdistribusi secara kontinu yang tidak teramati.

Secara empiris, model regresi logistik digunakan jauh lebih sering untuk analisis data biner karena koefisien model (odds-rasio) mudah diinterpretasikan, itu adalah teknik kemungkinan maksimum, dan memiliki sifat konvergensi yang baik.

AdamO
sumber