ฉันจะได้อะไรถ้าฉันพิจารณาผลลัพธ์เป็นลำดับแทนที่จะเป็นหมวดหมู่?


12

มีวิธีการที่แตกต่างกันสำหรับการทำนายของตัวแปรลำดับและตัวแปรเด็ดขาด

สิ่งที่ฉันไม่เข้าใจคือความแตกต่างนี้สำคัญอย่างไร มีตัวอย่างง่าย ๆ ที่สามารถบอกได้ชัดเจนว่าเกิดอะไรขึ้นถ้าฉันสั่งออเดอร์? ภายใต้สถานการณ์ใดมันไม่สำคัญ? ตัวอย่างเช่นหากตัวแปรอิสระทุกหมวดหมู่ / ลำดับก็จะมีความแตกต่าง?

คำถามที่เกี่ยวข้องนี้มุ่งเน้นไปที่ประเภทของตัวแปรอิสระ ที่นี่ฉันถามเกี่ยวกับตัวแปรผลลัพธ์

แก้ไข: ฉันเห็นจุดที่ใช้โครงสร้างคำสั่งซื้อเพื่อลดจำนวนพารามิเตอร์โมเดล แต่ฉันก็ยังไม่มั่นใจจริงๆ

นี่คือตัวอย่าง (นำมาจากบทนำสู่การถดถอยโลจิสติกที่ได้รับคำสั่งซึ่งเท่าที่ฉันสามารถเห็นการถดถอยโลจิสติกอันดับไม่ดีกว่าการถดถอยโลจิสติกพหุนาม

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))

ซึ่งแสดงการกระจายของจำนวนการเดาที่ถูกต้อง (จาก 40) ของอัลกอริทึมทั้งสอง

polr_vs_multinom

แก้ไข 2:เมื่อฉันใช้เป็นวิธีการให้คะแนนต่อไปนี้

return(sum(abs(as.numeric(pred)-as.numeric(test_data$apply)))

และลงโทษการคาดคะเน "ผิดมาก" polr ยังดูไม่ดีเช่นเนื้อเรื่องข้างบนไม่เปลี่ยนแปลงมากนัก


1
ตัวอย่างของคุณใช้กฎการให้คะแนนที่ไม่เหมาะสมซึ่งโดยทั่วไปไม่ได้เป็นพื้นฐานที่ดีสำหรับการเปรียบเทียบชุดการทำนาย (โดยพลการและไม่มีอำนาจและความแม่นยำ)
Frank Harrell

ฉันคิดว่าคุณอาจต้องบังคับใช้ตัวแปรเอาต์พุตให้เป็นordered factorซึ่งจะปรับปรุงผลลัพธ์: gradapply$apply <-factor(gradapply$apply, levels= c('unlikely', 'somewhat likely', 'very likely') , ordered = TRUE)แต่ก็ไม่ได้ทำให้แตกต่าง ถ้าคุณดูที่ความแม่นยำทั้งสองจะคล้ายกันมาก ความแม่นยำไม่ได้เป็นตัวชี้วัดที่ดีที่จะพึ่งพาเพียงอย่างเดียว
Zhubarb

คำตอบ:


10

มีพลังสำคัญและความแม่นยำที่ได้รับจากการปฏิบัติ Y เป็นลำดับเมื่อเหมาะสม สิ่งนี้เกิดขึ้นจากจำนวนพารามิเตอร์ที่ต่ำกว่ามากในแบบจำลอง (โดยปัจจัยของ k โดยที่ k คือหนึ่งน้อยกว่าจำนวนหมวดหมู่ของ Y) มีหลายรุ่นตามลำดับ ที่ใช้กันมากที่สุดคืออัตราต่อรองและแบบจำลองลอจิสติกตามลำดับ


1
+1 การลดพารามิเตอร์ยังหมายความว่าแบบจำลองลำดับสามารถปรับให้พอดีได้ง่ายขึ้น
JMS

4

หากคุณไม่สนใจลักษณะที่สั่งของตัวแปรวิธีการที่เหมาะสมจะยังคงให้การวิเคราะห์ที่ถูกต้อง แต่ข้อดีของการใช้วิธีการสำหรับข้อมูลที่สั่งซื้อคือพวกเขาให้ข้อมูลที่มากขึ้นเกี่ยวกับลำดับและขนาดของตัวแปรที่สำคัญ


ฉันไม่เห็นข้อมูลเกี่ยวกับการสั่งซื้อ
Karsten W.

1
สมมติว่าตัวแปรมีสามระดับต่ำ, ปานกลาง, สูง การวิเคราะห์ลำดับไม่สามารถแนะนำความแตกต่างระหว่างต่ำ & med แต่สำคัญสำหรับสูง การประมาณค่าพารามิเตอร์สามารถให้ข้อมูลเช่น 'เมื่อตัวแปร X สูงผลที่คาดว่าจะสูงกว่าต่ำหรือปานกลาง 2.5 เท่า - ดังนั้นทิศทางและขนาด
Murray

2

หากคุณต้องการสร้างแบบจำลองข้อมูลและตัวแปรเด็ดขาดขึ้นอยู่กับไม่มีการสั่งซื้อ (เล็กน้อย) จากนั้นคุณจะต้องใช้รูปแบบ Logom multinomial หากตัวแปรตามมีการสั่งซื้อ (ลำดับ) จากนั้นคุณสามารถใช้รูปแบบการบันทึกสะสม (รูปแบบอัตราต่อรองแบบสัดส่วน)

สำหรับฉันเป็นการส่วนตัวฉันพบผลลัพธ์ที่ง่ายกว่ามากในการตีความแบบจำลองอัตราต่อรองแบบเปรียบเทียบกับแบบจำลองแบบมัลติโนเมียลโดยเฉพาะอย่างยิ่งเมื่อคุณต้องการรายงานผลลัพธ์ให้คนที่ไม่มีความรู้ทางสถิติ

เหล่านี้ไม่ได้เป็นรุ่นเดียวที่คุณสามารถใช้ แต่พวกเขาเป็นเรื่องปกติมาก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.