por ej. si tengo una calificación crediticia variable de clase con dos clases buenas y malas, donde # (bueno) = 700 y # (malo) = 300. No quiero acortar mis datos. ¿Qué técnica debo usar? Estaba usando SVM pero está dando todo lo malo como bueno en las predicciones.
classification
binary-data
asad.taj
fuente
fuente
Respuestas:
Los tamaños de muestra de su clase no parecen tan desequilibrados, ya que tiene un 30% de observaciones en su clase minoritaria. La regresión logística debería funcionar bien en su caso. Dependiendo del número de predictores que ingresen a su modelo, puede considerar algún tipo de penalización para la estimación de parámetros, como la cresta (L2) o el lazo (L1). Para una visión general de los problemas con una clase muy desequilibrada, ver Cramer (1999), The Statistician, 48: 85-94 ( PDF ).
No estoy familiarizado con las técnicas de calificación crediticia, pero encontré algunos documentos que sugieren que podría usar SVM con clases ponderadas, por ejemplo, Máquinas de vectores de soporte para calificación crediticia: extensión a casos no estándar . Como alternativa, puede buscar métodos de refuerzo con CART o bosques aleatorios (en este último caso, es posible adaptar la estrategia de muestreo para que cada clase esté representada al construir los árboles de clasificación). El documento de Novak y LaDue discute los pros y los contras de GLM vs particionamiento recursivo . También encontré este artículo, Construcción de cuadros de mando con tamaños de clase desequilibrados por Hand y Vinciotti.
fuente
Un enfoque popular para resolver problemas de desequilibrio de clases es sesgar el clasificador para que preste más atención a las instancias positivas. Esto se puede hacer, por ejemplo, aumentando la penalización asociada con la clasificación errónea de la clase positiva en relación con la clase negativa. Otro enfoque es preprocesar los datos sobremuestreando la clase mayoritaria o submuestreando la clase minoritaria para crear un conjunto de datos equilibrado.
Sin embargo, en su caso, el desequilibrio de clase no parece ser un problema. Quizás es una cuestión de ajuste de parámetros, ya que encontrar los parámetros óptimos para un clasificador SVM puede ser un proceso bastante tedioso. Hay dos parámetros para, por ejemplo, en un núcleo RBF: y . No se sabe de antemano qué y son mejores para un problema dado; en consecuencia, se debe hacer algún tipo de selección de modelo (búsqueda de parámetros).γ C γC γ C γ
En la fase de preprocesamiento de datos, recuerde que SVM requiere que cada instancia de datos se represente como un vector de números reales. Por lo tanto, si hay atributos categóricos, se recomienda convertirlos en datos numéricos, usando m números para representar un atributo de categoría m (o reemplazarlo con m nuevas variables binarias).
Además, escalar las variables antes de aplicar SVM es crucial para evitar que los atributos en rangos numéricos mayores dominen a aquellos en rangos numéricos más pequeños.
Mira este artículo .
Si está trabajando en R, consulte la función de ajuste (paquete e1071) para ajustar los hiperparámetros mediante una búsqueda de cuadrícula en los rangos de parámetros proporcionados. Luego, usando plot.tune , puede ver visualmente qué conjunto de valores da la tasa de error más pequeña.
Hay un atajo alrededor de la búsqueda de parámetros que consume mucho tiempo. Hay un paquete R llamado "svmpath" que calcula toda la ruta de regularización para un clasificador SVM de 2 clases de una vez. Aquí hay un enlace al documento que describe lo que está haciendo.
PD: También puede encontrar este documento interesante: cómo obtener estimaciones de probabilidad calibradas
fuente
Aconsejaría usar un valor diferente del parámetro de regularización C para ejemplos de la clase positiva y ejemplos de la clase negativa (muchos paquetes SVM lo admiten y, en cualquier caso, se implementa fácilmente). Luego use, por ejemplo, validación cruzada para encontrar buenos valores de los dos parámetros de regularización.
Se puede demostrar que esto es asypmtotically equivalente volver a muestrear los datos en una relación determinada por C + y C- (por lo que no hay ventaja en volver a muestrear en lugar de volver a ponderar, al final llegan a lo mismo puede ser continuo, en lugar de discreto, por lo que proporciona un control más preciso).
Sin embargo, no elija simplemente C + y C- para dar una ponderación de 50-50 a los patrones positivos y negativos, ya que la intensidad del efecto del problema de las "clases de desequilibrios" variará de un conjunto de datos a otro, por lo que la fuerza del óptimo re -la ponderación no puede determinarse a priori.
Recuerde también que los costos falsos positivos y falsos negativos pueden ser diferentes, y el problema puede resolverse solo si se incluyen en la determinación de C + y C-.
También vale la pena tener en cuenta que, para algunos problemas, la regla de decisión óptima de Bayes asignará todos los patrones a una sola clase e ignorará a la otra, por lo que no es necesariamente algo malo, solo puede significar que la densidad de los patrones de una clase está en todas partes debajo de la densidad de patrones de la otra clase.
fuente