Ya teníamos varias preguntas sobre datos desequilibrados al usar regresión logística , SVM , árboles de decisión , embolsado y una serie de otras preguntas similares, ¡lo que lo convierte en un tema muy popular! Desafortunadamente, cada una de las preguntas parece ser específica del algoritmo y no encontré ninguna guía general para tratar con datos desequilibrados.
Citando una de las respuestas de Marc Claesen , que trata sobre datos no balanceados
(...) depende en gran medida del método de aprendizaje. La mayoría de los enfoques de propósito general tienen una (o varias) formas de lidiar con esto.
Pero, ¿cuándo exactamente deberíamos preocuparnos por los datos desequilibrados? ¿Qué algoritmos se ven más afectados por él y cuáles son capaces de manejarlo? ¿Qué algoritmos necesitarían para equilibrar los datos? Soy consciente de que discutir cada uno de los algoritmos sería imposible en un sitio de preguntas y respuestas como este, prefiero buscar pautas generales sobre cuándo podría ser un problema.
Respuestas:
No es una respuesta directa, pero vale la pena señalar que en la literatura estadística, algunos de los prejuicios contra los datos desequilibrados tienen raíces históricas.
Muchos modelos clásicos se simplifican claramente bajo la suposición de datos equilibrados, especialmente para métodos como ANOVA que están estrechamente relacionados con el diseño experimental, una motivación tradicional / original para desarrollar métodos estadísticos.
Pero la aritmética estadística / probabilística se pone bastante fea, bastante rápido, con datos desequilibrados. Antes de la adopción generalizada de las computadoras, los cálculos manuales eran tan extensos que era prácticamente imposible estimar modelos sobre datos no balanceados.
Por supuesto, las computadoras básicamente han convertido esto en un problema. Del mismo modo, podemos estimar modelos en conjuntos de datos masivos, resolver problemas de optimización de alta dimensión y extraer muestras de distribuciones de probabilidad conjunta analíticamente intratables, todo lo cual era funcionalmente imposible hace cincuenta años.
Es un viejo problema, y los académicos dedicaron mucho tiempo a trabajar en el problema ... mientras tanto, muchos problemas aplicados superaron / obviaron esa investigación, pero los viejos hábitos mueren mucho ...
Editar para agregar:
Me doy cuenta de que no salí y solo lo digo: no hay un problema de bajo nivel con el uso de datos no balanceados. En mi experiencia, el consejo para "evitar datos desequilibrados" es un algoritmo específico o una sabiduría heredada. Estoy de acuerdo con AdamO en que, en general, los datos desequilibrados no representan un problema conceptual para un modelo bien especificado.
fuente
WLOG puede centrarse en el desequilibrio en un solo factor, en lugar de un concepto más matizado de "escasez de datos", o recuentos de células pequeñas.
En los análisis estadísticos que no se centran en el aprendizaje, a menudo encontramos que se proporciona un poder similar o mejor cuando se usan puntajes de propensión para hacer coincidir el grupo más pequeño con el grupo más grande. Esto se debe en parte a que la correspondencia tiene un propósito similar para confundir el ajuste en términos de "equilibrar" los determinantes de la pertenencia al grupo, bloqueando así sus efectos de confusión. La justificación del número de factores de confusión a los que posiblemente se pueda ajustar en un análisis multivariado depende del tamaño de la muestra. Algunas reglas generales dicen una variable por cada 10 a 20 observaciones. En los datos desequilibrados, usted ingenuamente cree que sus datos son lo suficientemente grandes, pero con un número escaso de personas que tienen la condición más rara: la inflación de la variación disminuye la potencia sustancialmente. De hecho, estás sobre ajustando.
Por lo tanto, al menos en regresión (pero sospecho que en todas las circunstancias), el único problema con los datos desequilibrados es que efectivamente tiene un tamaño de muestra pequeño . Si algún método es adecuado para la cantidad de personas en la clase más rara, no debería haber problema si su proporción de miembros está desequilibrada.
fuente
Los datos no balanceados son solo un problema dependiendo de su aplicación. Si, por ejemplo, sus datos indican que A sucede el 99.99% de las veces y el 0.01% de las veces que sucede B e intenta predecir un cierto resultado, su algoritmo probablemente siempre dirá A. ¡Por supuesto, esto es correcto! Es poco probable que su método obtenga una mejor precisión de predicción que el 99.99%. Sin embargo, en muchas aplicaciones no estamos interesados solo en la exactitud de la predicción, sino también en por qué B sucede a veces. Aquí es donde los datos desequilibrados se convierten en un problema. Porque es difícil convencer a su método de que puede predecir mejor que el 99,99% correcto. El método es correcto pero no para su pregunta. Por lo tanto, resolver datos desequilibrados es básicamente sesgar intencionalmente sus datos para obtener resultados interesantes en lugar de resultados precisos.
En general hay tres casos:
estás puramente interesado en una predicción precisa y crees que tus datos son representativos. En este caso no tiene que corregir nada, disfrute de la gloria de sus predicciones 99.99% precisas :).
Está interesado en la predicción, pero sus datos provienen de una muestra justa, pero de alguna manera perdió una cantidad de observaciones. Si perdiste observaciones de una manera completamente aleatoria, todavía estás bien. Si los perdió de forma sesgada, pero no sabe cómo están sesgados, necesitará nuevos datos. Sin embargo, si estas observaciones se pierden solo en base a una característica. (por ejemplo, ordenó los resultados en A y B pero no de otra manera, pero perdió la mitad de B) Ypu puede arrancar sus datos.
No le interesa una predicción global precisa, sino solo en un caso raro. En este caso, puede inflar los datos de ese caso iniciando los datos o si tiene suficientes datos arrojando datos de los otros casos. ¡Tenga en cuenta que esto sesga sus datos y resultados, por lo que las posibilidades y ese tipo de resultados son incorrectos!
En general, depende principalmente de cuál es el objetivo. Algunos objetivos sufren de datos desequilibrados que otros no. Todos los métodos de predicción general sufren porque, de lo contrario, darían resultados terribles en general.
fuente
Supongamos que tenemos dos clases:
Supongamos que estamos interesados en identificar elementos de clase B, que podrían ser personas afectadas por una enfermedad rara o un estafador.
Simplemente adivinando, los alumnos A obtendrían un puntaje alto en sus funciones de pérdida y los muy pocos elementos clasificados incorrectamente podrían no mover, numéricamente, la aguja (en un pajar, en este caso). Este ejemplo trae la intuición detrás de uno de los "trucos" para mitigar el problema de desequilibrio de clase: ajustar la función de costo.
Siento que los datos desequilibrados son un problema cuando los modelos muestran una sensibilidad cercana a cero y una especificidad cercana a uno. Vea el ejemplo en este artículo en la sección "ignorar el problema" .
Los problemas a menudo tienen una solución. Junto con el truco antes mencionado, hay otras opciones . Sin embargo, tienen un precio: un aumento en el modelo y la complejidad computacional.
La pregunta pregunta qué modelos tienen más probabilidades de asentarse en una sensibilidad cercana a cero y una especificidad cercana a uno. Siento que depende de algunas dimensiones:
fuente
Si lo piensa: en un conjunto de datos altamente desequilibrado perfectamente separable, casi cualquier algoritmo funcionará sin errores.
Por lo tanto, es más un problema de ruido en los datos y menos ligado a un algoritmo particular. Y no sabe de antemano qué algoritmo compensa mejor un tipo particular de ruido.
Al final solo tienes que probar diferentes métodos y decidir por validación cruzada.
fuente