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 nls
fungsi, 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?
nls
model dan perbandingan dengan glm
. Ini adalah alasan mengapa saya (kembali) memposting pertanyaan serupa :)
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.
nls
berbeda & tidak dibahas di sana).