Apa yang saya dapatkan jika saya menganggap hasil sebagai ordinal dan bukan kategoris?

12

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.

polr_vs_multinom

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.

Karsten W.
sumber
1
Contoh Anda menggunakan aturan pemberian nilai yang tidak terputus secara terus-menerus, yang secara umum bukan dasar yang baik untuk membandingkan serangkaian prediksi (ini arbitrer dan kurang daya dan presisi).
Frank Harrell
Saya berasumsi Anda mungkin harus menegakkan variabel output menjadi 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.
Zhubarb

Jawaban:

10

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.

Frank Harrell
sumber
1
+1 Pengurangan dalam parameter juga berarti bahwa model ordinal dapat lebih mudah disesuaikan.
JMS
4

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.

Murray
sumber
Saya tidak dapat melihat informasi tentang pesanan yang disediakan.
Karsten W.
1
Misalkan suatu variabel memiliki tiga level, rendah, med, tinggi. Analisis ordinal dapat menyarankan tidak ada perbedaan antara rendah & med, tetapi signifikansi untuk tinggi. Perkiraan parameter dapat memberikan informasi seperti 'ketika variabel X tinggi, efeknya diperkirakan 2,5 kali lebih besar dari rendah atau sedang' - maka arah & besarnya.
Murray
2

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.

Lembah kecil
sumber