¿Qué gano si considero el resultado como ordinal en lugar de categórico?


12

Existen diferentes métodos para la predicción de variables ordinales y categóricas.

Lo que no entiendo es cómo importa esta distinción. ¿Hay un ejemplo simple que pueda aclarar qué sale mal si abandono el pedido? ¿En qué circunstancias no importa? Por ejemplo, si las variables independientes también son categóricas / ordinales, ¿habría alguna diferencia?

Esta pregunta relacionada se centra en el tipo de variables independientes. Aquí estoy preguntando sobre las variables de resultado.

Editar: veo el punto de que usar la estructura de orden reduce la cantidad de parámetros del modelo, pero todavía no estoy realmente convencido.

Aquí hay un ejemplo (tomado de una introducción a la regresión logística ordenada donde, por lo que puedo ver, la regresión logística ordinal no funciona mejor que la regresión logística 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))

que muestra la distribución del número de conjeturas correctas (de 40) de ambos algoritmos.

polr_vs_multinom

Edit2: cuando uso como método de puntuación lo siguiente

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

y penalizar las predicciones "muy equivocadas", polr todavía se ve mal, es decir, la trama anterior no cambia mucho.


1
Su ejemplo utiliza una regla de puntuación impropia discontinua, que en general no es una buena base para comparar conjuntos de predicciones (es arbitraria y carece de poder y precisión).
Frank Harrell

Supuse que es posible que tenga que aplicar la variable de salida para que sea un ordered factor, lo que mejoraría los resultados: gradapply$apply <-factor(gradapply$apply, levels= c('unlikely', 'somewhat likely', 'very likely') , ordered = TRUE)pero no hace ninguna diferencia. Si nos fijamos en la precisión, los dos son bastante similares. Sin embargo, la precisión no es una buena métrica en la que confiar únicamente.
Zhubarb

Respuestas:


10

Hay grandes ganancias de poder y precisión al tratar Y como ordinal cuando es apropiado. Esto surge del número mucho menor de parámetros en el modelo (por un factor de k donde k es uno menos que el número de categorías de Y). Hay varios modelos ordinales. Los más utilizados son los modelos logísticos ordinales de probabilidad proporcional y relación de continuación.


1
+1 La reducción en los parámetros también significa que los modelos ordinales pueden ser mucho más fáciles de ajustar.
JMS

4

Si ignora la naturaleza ordenada de las variables, los métodos apropiados aún proporcionarán un análisis correcto, pero la ventaja de usar métodos para datos ordenados es que proporcionan una mayor información sobre el orden y la magnitud de las variables significativas.


No puedo ver qué información sobre el pedido se proporciona.
Karsten W.

1
Supongamos que una variable tiene tres niveles, bajo, medio, alto. Un análisis ordinal podría sugerir que no hay diferencia entre baja y media, pero significancia para alta. La estimación del parámetro podría proporcionar información como 'cuando la variable X es alta, se estima que el efecto es 2.5 veces mayor que bajo o medio', por lo tanto, dirección y magnitud.
Murray

2

Si desea modelar los datos y la variable categórica dependiente no tiene ordenación (nominal), debe usar un modelo logit multinomial. Si la variable dependiente tiene un orden (ordinal), entonces puede usar un modelo logit acumulativo (modelo de probabilidades proporcionales).

Personalmente, considero que los resultados son mucho más fáciles de interpretar para un modelo de probabilidades proporcionales en comparación con un modelo multinomial, especialmente cuando desea informar los resultados a alguien que no tiene conocimientos estadísticos.

Estos no son los únicos modelos que puede usar, pero son muy típicos.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.