1 votos

Modelos multinivel: probabilidades a predicciones con distribución asimétrica de clase

Estoy lidiando con el siguiente problema:

Tengo una variable multiclase, y, con digamos 7 clases. Las 7 clases no están distribuidas uniformemente, algunas son mucho más propensas a ocurrir que otras. Digamos que la clase A ocurre en el 40% de los casos, y las otras clases ocurren todas en el 10% de los casos.

Estoy tratando de predecir estas clases con las variables en la matriz X. Dado que es bastante difícil predecir y con las variables dadas en X (con una precisión de aproximadamente el 50%), algunas distribuciones fuera de muestra tienden a estar bastante cerca de la distribución previa (40%, 10%, etc.). Por lo tanto, la clase A tiene una distribución más grande por defecto.

Cuando paso a las predicciones basadas en la probabilidad más grande, la clase A es elegida más a menudo de lo esperado (+/- 70%) y las otras clases a veces apenas ocurren, porque por defecto las probabilidades son más pequeñas.

¿Qué puedo hacer para mejorar mi modelo? Estaba pensando en:

  1. Ponderar las probabilidades, basadas en la frecuencia de las clases
  2. Elegir mis predicciones de una manera diferente
  3. Entrenar mi modelo en un conjunto diferente, de manera que todas las clases ocurran con la misma frecuencia.

Ejemplo: si para la observación k la probabilidad de la clase B es 39%, y la de la clase A 40%, preferiría asignar esta observación a la clase B, aunque la probabilidad para la clase A sea algo mayor.

¡Cualquier consejo, inspiración o "mejor práctica" es más que bienvenida!

Estoy utilizando modelos como xgBoost/random forest, con probabilidades multiclase. La salida se ve así:

A, B, C, D, E, F, G
0.4, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1

1voto

dan90266 Puntos 609

Primero compruebe que el método esté proporcionando probabilidades absolutas precisas, utilizando cálculos fuera de la muestra o estimaciones corregidas de sesgo mediante bootstrap. Esto implica estimar una curva de calibración suave utilizando, por ejemplo, el suavizante no paramétrico loess. Estar cerca de la línea de identidad indica una buena calibración, y existen pruebas formales que puedes realizar (por ejemplo, Spiegelhalter como en la función val.prob del paquete Hmisc de R).

Una vez que tenga probabilidades precisas, la mayoría de los problemas las considerarían como las estimaciones finales sin necesidad de traducirlas a categorías (por ejemplo, categoría modal o más probable como has hecho). Si realmente quisieras una "predicción de clase", podrías obtenerla de la distribución multinomial utilizando las probabilidades estimadas de pertenencia a clases. O podrías idear una regla, dependiendo de tu función de utilidad/pérdida, donde se utilice la categoría modal si su probabilidad supera a $\theta$ y se tome una "decisión nula" formal en caso contrario. Elegir siempre la categoría modal incluso si su probabilidad es 0.18 puede ser engañoso.

No mencionaste el tamaño de tu muestra. Para problemas multinomiales/politómicos como el tuyo se requieren muestras muy grandes.

0 votos

Gracias por tu respuesta Frank. Voy a mirar los métodos que mencionaste.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X