¿Cuándo los datos no balanceados son realmente un problema en Machine Learning?

53

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.

Tim
fuente
@MatthewDrury gracias, esta es una pregunta interesante, pero en mi humilde opinión, tiene un alcance diferente. Lo que pido es pautas cuando esto es realmente un problema. Seguramente responder la pregunta por qué lleva a responder la pregunta cuándo , pero estoy buscando una respuesta precisa para la pregunta cuándo .
Tim
99
¡Lo suficientemente justo! Estoy contigo. La "literatura" sobre esto parece ser sobre cómo solucionar un problema, sin molestarse en convencerlo de que de hecho hay un problema por resolver, o incluso decirle en qué situaciones se produce un problema o no. Una de las partes más frustrantes del tema para mí.
Matthew Drury
2
@MatthewDrury ese es exactamente el problema!
Tim
1
Una encuesta total de métodos no está dentro del alcance de una pregunta SE. ¿Quieres refinar la pregunta?
AdamO

Respuestas:

29

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.

Enrique
fuente
44
Si bien parece que entiendo su punto, sus premisas carecen de argumentos que los respalden. ¿Podría dar algunos argumentos y / o ejemplos sobre los prejuicios y sobre cómo afectaría el aprendizaje automático?
Tim
1
Si bien lo que usted dice es mayormente cierto, también es el caso de que métodos como anova son más robustos con datos balanceados, la no normalidad es un problema menor con los datos balanceados, por ejemplo. Pero creo que todo esto es ortogonal a la intención de esta pregunta ...
kjetil b halvorsen
77
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 plantean ningún problema conceptual a un modelo bien especificado.
Henry
1
@ M.HenryL. Vale la pena agregar este comentario a su respuesta para completar.
Tim
16

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.

AdamO
fuente
13

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:

  1. 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 :).

  2. 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.

  3. 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.

zen
fuente
77
¿Cómo cambia esta historia cuando evaluamos nuestros modelos probabilísticamente?
Matthew Drury
@MatthewDrury Las probabilidades del modelo original son en su mayoría correctas para los casos 1 y 3. El problema es que solo con conjuntos de datos muy grandes B se separa correctamente de A y la probabilidad de B converge lentamente a su valor real. La excepción es que si B está muy claramente separado de A o completamente separado al azar de A, las probabilidades probablemente convergerán casi de inmediato o nunca.
zen
@zen Estoy bastante en desacuerdo con que la regresión logística es menos vulnerable. La regresión logística es bastante vulnerable al desequilibrio de datos, crea un sesgo de muestra pequeño y las relaciones de probabilidades de registro tienden hacia un factor de 2. La regresión logística condicional es una alternativa a la estimación de los mismos OR sin sesgo.
AdamO
@AdamO Sí, la regresión logística sigue siendo vulnerable. Pero para los árboles, los casos pequeños pueden ignorarse por completo. tampoco es solo un tamaño de muestra pequeño. incluso para n grande y, por ejemplo, la distribución del 80% -20% entre los árboles de opciones aún puede optar por elegir la opción del 80%, incluso si la fracción de la opción del 20% aumenta claramente con alguna variable x. Si se encuentra una nueva observación más extrema o si el número de ramas es bajo para cualquier punto extremo, el árbol predecirá la opción del 80% mientras que la regresión logística será menos probable que lo haga. Tienes razón sobre la regresión logística condicional
zen
2
@MatthewDrury Stephen Senn tiene una excelente discusión sobre este punto en un artículo que releí a menudo . Heurísticamente, la razón de probabilidades de una tabla de 2x2 con entradas abcd se estima mediante ad / (bc) y tiene una varianza 1 / a + 1 / b + 1 / c + 1 / d. Puede muestrear arbitrariamente pocos casos (ayc) y la razón de posibilidades sigue siendo imparcial, pero la varianza es infinita. Es un problema de precisión.
AdamO
8

Supongamos que tenemos dos clases:

  • A , que representa el 99,99% de la población
  • B , que representa el 0.01% de la población

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:

  • Menos capacidad, como siempre.
  • Algunas funciones de costo pueden tener más dificultades que otras: el error cuadrático medio (MSE) está menos expuesto que Huber - MSE debería ser menos benigno hacia elementos de clase B clasificados incorrectamente .
IcannotFixThis
fuente
1
Esto supone implícitamente (1) que el KPI que intentamos maximizar es la precisión, y (2) que la precisión es un KPI apropiado para la evaluación del modelo de clasificación. No lo es
S. Kolassa - Restablece a Monica el
5

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.

Gerenuk
fuente
Siento que este comentario es un poco subestimado. Solo paso un poco de tiempo convenciendo a alguien de que el desequilibrio de clase no siempre es un problema.
RDK
Esto no responde la pregunta. ¿Cómo son las clases desequilibradas "más un problema de ruido en los datos"?
S. Kolassa - Restablece a Monica el
2
@StephanKolassa Es una respuesta, porque dice que los datos desequilibrados no son (directamente) un problema. Por lo tanto, no puedes preguntar "cómo" es. Para la pregunta más general "cómo lidiar con los problemas de ruido en el análisis de datos", la respuesta es que es específica de los conjuntos de datos individuales y todo lo que puede hacer es configurar la validación e intentar lo que funcione. Si realmente desea una discusión, creo que ele.uri.edu/faculty/he/PDFfiles/ImbalancedLearning.pdf tiene ideas. Pero al final harías un muestreo / reponderación / umbral y no vale la pena saber qué sucedió exactamente en este conjunto de datos.
Gerenuk