Predicción de eventos rarosEstoy trabajando con un cliente en una versión de prueba Pro. Están trabajando con un conjunto de datos de aproximadamente 3 millones de filas e intentan crear un modelo predictivo para predecir fallas, que ocurren el 0,1 % del tiempo (respuesta binaria, factores continuos). Las fallas son letales y aceptaría con gusto un modelo que pueda capturar dichas fallas incluso a costa de perder pases.
He puesto en práctica casi todo lo que sé hacer. Para reducir los tiempos de ejecución, han creado subconjuntos del archivo original que van desde el 1 al 10 % de los datos originales, probando varias técnicas de ponderación, Torch, XG Boost y Model Screening. Boosted Tree ha proporcionado el mayor éxito, pero en cada caso el modelo desarrollado en el subconjunto está demasiado sobreajustado para ser útil en un conjunto de datos de tamaño similar pero exclusivamente diferente o en un conjunto de datos más grande.
¿Debería ponderar más (actualmente pondero los aprobados/reprobados en 1/100) y crear un subconjunto de datos donde los fracasos estén sobrerrepresentados? ¿Existen hiperparámetros que se puedan configurar de manera óptima para este tipo de modelo altamente desequilibrado? Estoy buscando asesoramiento/orientación sobre lo que podría intentar con esta persona. Gracias.
Re: Predicción de eventos raros¿Has probado el complemento de clasificación desequilibrada ? Lo probé hace un tiempo y descubrí que mejoraba el rendimiento en uno de nuestros conjuntos de datos de muestra (no recuerdo cuál). No soy experto en SMOTE ni en enlaces de Tomek, pero la introducción de esta publicación de Kaggle me resultó útil para comprender los conceptos básicos.
Debería ser un buen siguiente paso si aún no lo has intentado.
Re: Predicción de eventos rarosEstos eventos raros me hacen pensar en la confiabilidad, pero no estoy seguro de que sea el camino a seguir. Entonces, tienes factores de entrada continuos a lo largo del tiempo y, de vez en cuando, se produce una falla. ¿Qué tal algunas de las herramientas de gráficos de control, en particular los gráficos de control multivariados? Trata de correlacionar cuándo ocurre alguna combinación de factores con las fallas.
Re: Predicción de eventos raros¿Has visto el umbral de decisión en la selección de modelos? Se utiliza en la clasificación binaria. Puedes ver cómo los diferentes umbrales, 0,1 frente a 0,5, afectan al modelo.
Re: Predicción de eventos raros¿Ha considerado la posibilidad de utilizar el método binomial inflado por cero en la plataforma GenReg? Además, ¿ha considerado los umbrales de decisión que dan lugar a un mayor número de falsos positivos/tipo I?
Re: Predicción de eventos rarosAdemás, aunque todavía no lo he visto, si no me equivoco, el reciente seminario web Mastering Webinar de @Jason_Wiggins sobre modelos de recuento de defectos podría ser útil: Cómo elegir la mejor opción para los modelos de recuento de defectos
Re: Predicción de eventos rarosLa inflación de cero en la regulación de generación parece un buen enfoque, pero no estoy seguro de los tiempos de ejecución. Cualquiera sea el modelo que elija, asegúrese de utilizar el Umbral de decisión para determinar un límite apropiado (de lo contrario, la fórmula de predicción supone 50:50 para cualquier evento). Le enviaré una presentación que preparé para ayudarlo a decidir el límite en función del informe del Umbral de decisión.Re: Predicción de eventos rarosEntonces... no sé si los registros de 3M deberían ser tan malos si están ejecutando los modelos basados en Pro en una máquina decente (y no se están volviendo locos con la cantidad de factores). Creo que tienes algunos problemas aquí que considerar.
En primer lugar, ¿han realizado algún análisis de factores? El árbol potenciado o el bosque aleatorio deberían indicarte si hay factores que no importan. Si se eliminan esos factores, se reducirán los tiempos de ajuste.
En segundo lugar (o tal vez empatados en el primer lugar, no estoy seguro), ¿están haciendo una validación cruzada estratificada? Pídales que utilicen la herramienta de configuración de la columna de validación para crear una validación cruzada de TVT con la respuesta en el campo de estratificación. Eso mantendrá la veracidad del modelo. Me gusta tener muchos datos en el grupo de entrenamiento y cantidades decrecientes en los dos últimos.
Los tipos de modelos y distribuciones sugeridos son todas buenas ideas; mi preferencia por algo como esto sería por los métodos basados en árboles (Random Forest, Boosted Trees o XGBoost) con una semilla aleatoria para la reproducibilidad. Están diseñados para estos conjuntos de datos más grandes. Creo que Jerry tiene una idea interesante con el ángulo de confiabilidad de eventos raros. También podría considerar esto: https://youtu.be/Ac6E7da9igU
En cuanto a la ponderación, no creo que vayas lo suficientemente lejos. Si tomamos como base tu índice de fracaso del 0,01 %, yo le daría a los datos de aprobación un peso de 0,0001 y a los de suspenso un peso de 0,9999. Hace un tiempo, hubo un momento en el que esto se planteó y la orientación (tribal, lo admito) consistía en poner la columna de respuesta en distribución e invertir las proporciones (lo que describo en la segunda oración). Pareció funcionar bastante bien.
Por último, tal vez como una reformulación de la situación, las evaluaciones son más fluidas cuando se trata de darles confianza de que pueden llegar a la solución de su problema. Se trata menos de lograr que realmente lleguen a la meta de resolver su problema. Creo que ambos sabemos que algo como esto va a requerir algunos ciclos de aprendizaje de su parte y probablemente durará mucho más que el tiempo restante de la evaluación. Si te concentras en lograr que tengan confianza de que llegarán a una solución con Pro, comprarán incluso si no obtienes "el modelo" para su problema.
Re: Predicción de eventos raros¡Gracias a todos por sus aportes (hasta ahora)! He propuesto varias de las ideas que se enumeran a continuación para resolver este problema, pero no todas ni de la manera recomendada. Agradezco sus consejos.