Ada berbagai metode untuk prediksi variabel ordinal dan kategoris.
Apa yang saya tidak mengerti, adalah bagaimana perbedaan ini penting. Apakah ada contoh sederhana yang dapat menjelaskan apa yang salah jika saya menjatuhkan pesanan? Dalam situasi apa tidak penting? Misalnya, jika variabel independen semuanya kategorikal / ordinal, apakah akan ada perbedaan?
Pertanyaan terkait ini berfokus pada jenis variabel independen. Di sini saya bertanya tentang variabel hasil.
Sunting: Saya melihat titik bahwa menggunakan struktur pesanan mengurangi jumlah parameter model, tapi saya masih belum benar-benar yakin.
Berikut ini adalah contoh (diambil dari pengantar untuk regresi logistik terurut di mana sejauh yang saya bisa lihat regresi logistik ordinal tidak berkinerja lebih baik daripada regresi logistik multinomial:
library(nnet)
library(MASS)
gradapply <- read.csv(url("http://www.ats.ucla.edu/stat/r/dae/ologit.csv"), colClasses=c("factor", "factor", "factor", "numeric"))
ordered_result <- function() {
train_rows <- sample(nrow(gradapply), round(nrow(gradapply)*0.9))
train_data <- gradapply[train_rows,]
test_data <- gradapply[setdiff(1:nrow(gradapply), train_rows),]
m <- polr(apply~pared+gpa, data=train_data)
pred <- predict(m, test_data)
return(sum(pred==test_data$apply))
}
multinomial_result <- function() {
train_rows <- sample(nrow(gradapply), round(nrow(gradapply)*0.9))
train_data <- gradapply[train_rows,]
test_data <- gradapply[setdiff(1:nrow(gradapply), train_rows),]
m <- multinom(apply~pared+gpa, data=train_data)
pred <- predict(m, test_data)
return(sum(pred==test_data$apply))
}
n <- 100
polr_res <- replicate(n, ordered_result())
multinom_res <- replicate(n, multinomial_result())
boxplot(data.frame(polr=polr_res, multinom=multinom_res))
yang menunjukkan distribusi jumlah tebakan benar (dari 40) dari kedua algoritma.
Sunting2: Ketika saya menggunakan sebagai metode penilaian berikut ini
return(sum(abs(as.numeric(pred)-as.numeric(test_data$apply)))
dan menghukum prediksi "sangat salah", polr masih terlihat buruk, yaitu plot di atas tidak banyak berubah.
sumber
ordered factor
, yang akan meningkatkan hasil:gradapply$apply <-factor(gradapply$apply, levels= c('unlikely', 'somewhat likely', 'very likely') , ordered = TRUE)
tetapi tidak ada bedanya. Jika Anda melihat keakuratannya, keduanya cukup mirip. Akurasi bukanlah metrik yang baik untuk hanya mengandalkan.Jawaban:
Ada kekuatan utama dan keuntungan presisi dari memperlakukan Y sebagai ordinal jika perlu. Ini muncul dari jumlah parameter yang jauh lebih rendah dalam model (oleh faktor k di mana k adalah satu kurang dari jumlah kategori Y). Ada beberapa model ordinal. Yang paling umum digunakan adalah odds proporsional dan rasio kelanjutan model logistik ordinal.
sumber
Jika Anda mengabaikan sifat urutan variabel, metode yang sesuai masih akan memberikan analisis yang benar, tetapi keuntungan menggunakan metode untuk data yang dipesan adalah metode memberikan informasi yang lebih besar tentang urutan dan besarnya variabel signifikan.
sumber
Jika Anda ingin memodelkan data dan variabel kategori dependen tidak memiliki urutan (nominal) maka Anda harus menggunakan model logit multinomial. Jika variabel dependen memang memiliki pemesanan (ordinal) maka Anda dapat menggunakan model logit kumulatif (model peluang proporsional).
Bagi saya pribadi, saya menemukan hasilnya jauh lebih mudah untuk ditafsirkan untuk model peluang proporsional dibandingkan dengan model multinomial, terutama ketika Anda ingin melaporkan hasilnya kepada seseorang yang tidak memiliki pengetahuan statistik.
Ini bukan satu-satunya model yang dapat Anda gunakan tetapi mereka sangat khas.
sumber