En estadística , el sobremuestreo y el submuestreo en el análisis de datos son técnicas que se utilizan para ajustar la distribución de clases de un conjunto de datos (es decir, la proporción entre las diferentes clases/categorías representadas). Estos términos se emplean tanto en el muestreo estadístico como en la metodología de diseño de encuestas y en el aprendizaje automático .
El sobremuestreo y el submuestreo son técnicas opuestas y aproximadamente equivalentes. También existen técnicas de sobremuestreo más complejas, incluida la creación de puntos de datos artificiales con algoritmos como la técnica de sobremuestreo sintético de la minoría . [ 1 ] [ 2 ]
Motivación
Tanto el sobremuestreo como el submuestreo implican introducir un sesgo para seleccionar más muestras de una clase que de otra, con el fin de compensar un desequilibrio que ya está presente en los datos o que probablemente se desarrollaría si se tomara una muestra puramente aleatoria. El desequilibrio de datos puede ser de los siguientes tipos:
- Subrepresentación de una clase en una o más variables predictoras importantes. Supongamos que, para abordar la cuestión de la discriminación de género, disponemos de datos de encuestas sobre salarios en un campo específico, por ejemplo, el software. Se sabe que las mujeres están considerablemente subrepresentadas en una muestra aleatoria de ingenieros de software, lo cual es importante al ajustar otras variables como los años de empleo y el nivel de antigüedad actual. Supongamos que solo el 20 % de los ingenieros de software son mujeres, es decir, que los hombres son cuatro veces más frecuentes que las mujeres. Si estuviéramos diseñando una encuesta para recopilar datos, encuestaríamos a cuatro veces más mujeres que hombres, de modo que en la muestra final ambos géneros estén representados por igual. (Véase también Muestreo estratificado ).
- Subrepresentación de una clase en la variable de resultado (dependiente). Supongamos que queremos predecir, a partir de un gran conjunto de datos clínicos, qué pacientes tienen probabilidades de desarrollar una enfermedad en particular (por ejemplo, diabetes). Sin embargo, supongamos que solo el 10 % de los pacientes desarrollan la enfermedad. Supongamos que tenemos un gran conjunto de datos existente. Entonces, podemos seleccionar nueve veces el número de pacientes que no desarrollaron la enfermedad por cada paciente que sí la desarrolló.
El sobremuestreo se emplea generalmente con más frecuencia que el submuestreo, especialmente cuando aún no se han recopilado los datos detallados mediante encuestas, entrevistas u otros métodos. El submuestreo se emplea con mucha menos frecuencia. La sobreabundancia de datos ya recopilados se convirtió en un problema solo en la era del "Big Data", y las razones para utilizar el submuestreo son principalmente prácticas y están relacionadas con los costos de los recursos. Específicamente, si bien se necesita un tamaño de muestra suficientemente grande para obtener conclusiones estadísticas válidas, los datos deben limpiarse antes de poder utilizarse. La limpieza suele implicar un componente humano significativo y, por lo general, es específica del conjunto de datos y del problema analítico, por lo que requiere tiempo y dinero. Por ejemplo:
- Los expertos en la materia sugerirán métodos de validación específicos para cada conjunto de datos, que incluyan no solo comprobaciones intravariables (valores permitidos, valores máximos y mínimos válidos, etc.), sino también intervariables. Por ejemplo, la suma de los componentes individuales de un recuento diferencial de glóbulos blancos debe ser igual a 100, ya que cada uno representa un porcentaje del total.
- Los datos integrados en textos narrativos (por ejemplo, transcripciones de entrevistas) deben codificarse manualmente en variables discretas que un paquete estadístico o de aprendizaje automático pueda procesar. Cuanto mayor sea la cantidad de datos, mayor será el esfuerzo de codificación. (En ocasiones, la codificación puede realizarse mediante software, pero a menudo es necesario escribir un programa personalizado para ello, y la precisión de los resultados del programa debe comprobarse en términos de falsos positivos y falsos negativos).
Por estas razones, normalmente solo se depurarán los datos necesarios para responder a una pregunta con una confianza estadística razonable (véase Tamaño de la muestra), pero no más que eso.
Técnicas de sobremuestreo
sobremuestreo aleatorio
El sobremuestreo aleatorio consiste en complementar los datos de entrenamiento con múltiples copias de algunas de las clases minoritarias. El sobremuestreo puede realizarse más de una vez (2x, 3x, 5x, 10x, etc.). Este es uno de los primeros métodos propuestos, que además ha demostrado ser robusto. [ 3 ] En lugar de duplicar cada muestra de la clase minoritaria, algunas de ellas pueden elegirse aleatoriamente con reemplazo.
SMOTE
Existen varios métodos para sobremuestrear un conjunto de datos utilizado en un problema de clasificación típico (que emplea un algoritmo de clasificación para clasificar un conjunto de imágenes, a partir de un conjunto de entrenamiento etiquetado). La técnica más común se conoce como SMOTE: Synthetic Minority Over-sampling Technique (Técnica de sobremuestreo sintético de la clase minoritaria). [ 4 ] Sin embargo, se ha demostrado que esta técnica produce modelos mal calibrados, con una probabilidad sobreestimada de pertenecer a la clase minoritaria. [ 5 ]
Para ilustrar cómo funciona esta técnica, consideremos un conjunto de datos de entrenamiento con s muestras y f características en el espacio de características de los datos. Cabe destacar que, para simplificar, estas características son continuas. Por ejemplo, consideremos un conjunto de datos de aves para su clasificación. El espacio de características para la clase minoritaria que queremos sobremuestrear podría ser la longitud del pico, la envergadura y el peso (todas continuas). Para sobremuestrear, tomamos una muestra del conjunto de datos y consideramos sus k vecinos más cercanos (en el espacio de características). Para crear un punto de datos sintético , tomamos el vector entre uno de esos k vecinos y el punto de datos actual. Multiplicamos este vector por un número aleatorio x entre 0 y 1. Sumamos este resultado al punto de datos actual para crear el nuevo punto de datos sintético.
Se han realizado muchas modificaciones y extensiones al método SMOTE desde su propuesta. [ 6 ]
ADASYN
El algoritmo de muestreo sintético adaptativo, o ADASYN, [ 7 ] se basa en la metodología de SMOTE, pero traslada la importancia del límite de clasificación a las clases minoritarias más difíciles. ADASYN utiliza una distribución ponderada para los diferentes ejemplos de clases minoritarias según su nivel de dificultad de aprendizaje, generando más datos sintéticos para aquellos ejemplos más difíciles de aprender.
Aumento
En el análisis de datos, el aumento de datos consiste en técnicas que se utilizan para incrementar la cantidad de datos mediante la adición de copias ligeramente modificadas de datos ya existentes o la creación de nuevos datos sintéticos a partir de datos existentes. Actúa como un regularizador y ayuda a reducir el sobreajuste al entrenar un modelo de aprendizaje automático. [ 8 ] (Véase: Aumento de datos )
Técnicas de submuestreo
Submuestreo aleatorio
Se eliminan aleatoriamente muestras de la clase mayoritaria, con o sin reemplazo. Esta es una de las primeras técnicas utilizadas para mitigar el desequilibrio en el conjunto de datos; sin embargo, puede aumentar la varianza del clasificador y es muy probable que se descarten muestras útiles o importantes. [ 6 ] Para un análisis estadístico de las condiciones bajo las cuales el submuestreo es efectivo, consulte [ 9 ].
Grupo
El método de centroides de clúster reemplaza el clúster de muestras por el centroide de clúster de un algoritmo K-means, donde el número de clústeres viene determinado por el nivel de submuestreo.
Enlaces de Tomek
Los enlaces de Tomek eliminan la superposición no deseada entre clases, donde se eliminan los enlaces de la clase mayoritaria hasta que todos los pares de vecinos más cercanos mínimamente distanciados sean de la misma clase. Un enlace de Tomek se define de la siguiente manera: dado un par de instancias, dóndeyes la distancia entrey, entonces la parejaSe denomina enlace Tomek si no hay instanciade tal manera queoDe esta forma, si dos instancias forman un enlace de Tomek, entonces una de ellas es ruido o ambas están cerca de un límite. Por lo tanto, se pueden usar los enlaces de Tomek para eliminar la superposición entre clases. Al eliminar los ejemplos superpuestos, se pueden establecer clústeres bien definidos en el conjunto de entrenamiento y obtener un mejor rendimiento de clasificación. [ 10 ]
Submuestreo con aprendizaje de conjuntos
Un estudio de 2013 muestra que la combinación de submuestreo con aprendizaje de conjuntos a veces puede lograr mejores resultados, véase IFME: filtrado de información mediante múltiples ejemplos con submuestreo en un entorno de biblioteca digital. [ 11 ]
Técnicas para problemas de regresión
Aunque las técnicas de muestreo se han desarrollado principalmente para tareas de clasificación, se está prestando cada vez más atención al problema de la regresión desequilibrada. [ 12 ] Existen adaptaciones de estrategias populares, como el submuestreo, el sobremuestreo y SMOTE. [ 13 ] [ 14 ] También se han explorado técnicas de muestreo en el contexto de la predicción numérica en datos orientados a la dependencia, como la predicción de series temporales [ 15 ] y la predicción espacio-temporal. [ 16 ]
Técnicas adicionales
Es posible combinar técnicas de sobremuestreo y submuestreo en una estrategia híbrida. Algunos ejemplos comunes incluyen SMOTE y enlaces de Tomek, o SMOTE y vecinos más cercanos editados (ENN). Otras formas de aprendizaje en conjuntos de datos desequilibrados incluyen ponderar las instancias de entrenamiento, introducir diferentes costos de clasificación errónea para ejemplos positivos y negativos, y el bootstrapping. [ 17 ]
Implementaciones
- En el paquete imbalanced-learn [ 1 ], compatible con la biblioteca scikit-learn de Python , se implementan diversas técnicas de remuestreo de datos . Estas técnicas se dividen en cuatro categorías: submuestreo de la clase mayoritaria, sobremuestreo de la clase minoritaria, combinación de sobremuestreo y submuestreo, y muestreo de conjuntos.
- La implementación en Python de 85 técnicas de sobremuestreo de minorías con funciones de selección de modelos está disponible en el paquete smote-variants [ 2 ] .
Crítica
Los modelos deficientes en [clasificación binaria] suelen ser el resultado de —cualquier combinación de— ajustar clasificadores deterministas, usar métodos de remuestreo o reponderación para equilibrar las frecuencias de clase en los datos de entrenamiento y evaluar el modelo con una métrica como la precisión. ... Ninguna técnica de remuestreo generará mágicamente más información a partir de los pocos casos con la clase rara.
— Guía del usuario para la evaluación de la calibración y comparación de modelos para funciones de puntuación consistentes en el aprendizaje automático y la práctica actuarial, Tobias Fissler, arXiv:2202.12780v3, Christian Lorentzen, Michael Mayer, 2023
Modelos de aprendizaje automático probabilístico que intentan modelar una distribución condicional(a través de la regla de Bayes ) estará mal calibrado si se modifica la distribución natural.durante el entrenamiento mediante la aplicación de submuestreo o reducción de muestreo. [ 18 ]
Este punto se puede ilustrar con un ejemplo sencillo: supongamos que no hay variables predictivas.y donde la proporción dees 0,01 y la proporción dees 0,99. Es un modelo que aprende¿Es inútil y debería modificarse mediante submuestreo o sobremuestreo? La respuesta es no. El desequilibrio de clases no es un problema en sí mismo.
Además,
- sobremuestreo
- submuestreo
- así como asignar pesos a las muestras
Puede ser aplicado por profesionales en clasificación multiclase o situaciones con una estructura de costos muy desequilibrada . Esto podría hacerse para lograr el mejor rendimiento "deseable" para cada clase (potencialmente medido como precisión y exhaustividad en cada clase). Sin embargo, encontrar el mejor rendimiento de clasificación multiclase o el mejor equilibrio entre precisión y exhaustividad es inherentemente un problema de optimización multiobjetivo . Es bien sabido que estos problemas suelen tener múltiples soluciones óptimas de Pareto incomparables . El sobremuestreo o submuestreo, así como la asignación de pesos a las muestras, es una forma implícita de encontrar un determinado óptimo de Pareto (y sacrifica la calibración de las probabilidades estimadas). Una forma más explícita que el sobremuestreo o submuestreo podría ser seleccionar un óptimo de Pareto mediante
- asignar costos explícitos a las muestras mal clasificadas y luego minimizar los costos totales (escalarizados) mediante aprendizaje automático sensible a los costos [ 19 ]
- realizar ajuste de umbral en un entorno de clasificación binaria para lograr una cierta precisión y exhaustividad de validación. [ 20 ] [ 21 ]
Véase también
- Muestreo (estadística)
- Aumento de datos
- Submuestreo (en procesamiento de señales)
Literatura
- Kubat, M. (2000). Abordando la maldición de los conjuntos de entrenamiento desequilibrados: selección unilateral. Decimocuarta Conferencia Internacional sobre Aprendizaje Automático .
- Chawla, Nitesh V. (2010) Minería de datos para conjuntos de datos desequilibrados: una visión general doi : 10.1007/978-0-387-09823-4_45 En: Maimon, Oded; Rokach, Lior (Eds) Manual de minería de datos y descubrimiento de conocimiento , Springer ISBN 978-0-387-09823-4(páginas 875–886)
- Lemaître, G. Nogueira, F. Aridas, Ch.K. (2017) Imbalanced-learn: una caja de herramientas de Python para abordar la maldición de los conjuntos de datos desequilibrados en el aprendizaje automático , Journal of Machine Learning Research , vol. 18, no. 17, 2017, pp. 1–5.
Referencias
- 1 2 "Scikit-learn-contrib/Imbalanced-learn" . GitHub . 25 de octubre de 2021.
- 1 2 "Analyticalmindsltd/Smote_variants" . GitHub . 26 de octubre de 2021.
- ↑ Ling, Charles X., y Chenghui Li. "Minería de datos para marketing directo: problemas y soluciones". Kdd . Vol. 98. 1998.
- ↑ Chawla, NV; Bowyer, KW; Hall, LO; Kegelmeyer, WP (2002-06-01). "SMOTE: Técnica de sobremuestreo sintético de la clase minoritaria" . Journal of Artificial Intelligence Research . 16 : 321–357 . arXiv : 1106.1813 . doi : 10.1613/jair.953 . ISSN 1076-9757 . S2CID 1554582 .
- ↑ van den Goorbergh, Ruben; van Smeden, Maarten; Timmerman, Dirk; Van Calster, Ben (2022-09-01). "El daño de las correcciones de desequilibrio de clases para modelos de predicción de riesgo: ilustración y simulación usando regresión logística" . Journal of the American Medical Informatics Association . 29 (9): 1525– 1534. doi : 10.1093 / jamia/ocac093 . ISSN 1527-974X . PMC 9382395. PMID 35686364 .
- 1 2 Chawla, Nitesh V.; Herrera, Francisco; Garcia, Salvador; Fernandez, Alberto (2018-04-20). "SMOTE para el aprendizaje a partir de datos desequilibrados: progreso y desafíos, conmemorando el 15.º aniversario" . Journal of Artificial Intelligence Research . 61 : 863–905 . doi : 10.1613/jair.1.11192 . hdl : 10481/56411 . ISSN 1076-9757 .
- ↑ He, Haibo; Bai, Yang; Garcia, Edwardo A.; Li, Shutao (junio de 2008). "ADASYN: Enfoque de muestreo sintético adaptativo para el aprendizaje desequilibrado" (PDF) . 2008 IEEE International Joint Conference on Neural Networks (IEEE World Congress on Computational Intelligence) . pp. 1322–1328 . doi : 10.1109/IJCNN.2008.4633969 . ISBN 978-1-4244-1820-6. S2CID 1438164 . Consultado el 5 de diciembre de 2022 .
- ↑ Shorten, Connor; Khoshgoftaar, Taghi M. (2019). "Una revisión sobre el aumento de datos de imágenes para el aprendizaje profundo" . Matemáticas y computadoras en simulación . 6 60. springer. doi : 10.1186/s40537-019-0197-0 .
- ↑ Dal Pozzolo, Andrea; Caelen, Olivier; Bontempi, Gianluca (2015-01-01). "¿Cuándo es efectivo el submuestreo en tareas de clasificación desequilibradas?" . Aprendizaje automático y descubrimiento de conocimiento en bases de datos . ECML PKDD 2015. Springer. doi : 10.1007/978-3-319-23528-8_13 .
- ↑ Batista, Gustavo EAPA; Prati, Ronaldo C.; Monard, Maria Carolina (2004-06-01). "Un estudio del comportamiento de varios métodos para equilibrar los datos de entrenamiento de aprendizaje automático" . SIGKDD Explor. Newsl . 6 (1): 20– 29. doi : 10.1145/1007730.1007735 . ISSN 1931-0145 .
- ↑ Zhu, Mingzhu; Xu, Chao; Wu, Yi-Fang Brook (22 de julio de 2013). IFME: filtrado de información mediante múltiples ejemplos con submuestreo en un entorno de biblioteca digital . ACM. págs. 107–110 . doi : 10.1145/2467696.2467736 . ISBN 9781450320771. S2CID 13279787 .
- ↑ Ribeiro, Rita P.; Moniz, Nuno (2020-09-01). "Regresión desequilibrada y predicción de valores extremos" . Machine Learning . 109 (9): 1803– 1835. doi : 10.1007/s10994-020-05900-9 . ISSN 1573-0565 . S2CID 222143074 .
- ↑ Torgo, Luis; Branco, Paula; Ribeiro, Rita P.; Pfahringer, Bernhard (junio de 2015). "Estrategias de remuestreo para la regresión" . Sistemas expertos . 32 (3): 465– 476. doi : 10.1111/exsy.12081 . S2CID 205129966 .
- ↑ Torgo, Luis; Ribeiro, Rita P.; Pfahringer, Bernhard; Branco, Paula (2013). "SMOTE para la regresión" . En Correia, Luis; Reis, Luis Paulo; Cascalho, José (eds.). Avances en Inteligencia Artificial . Apuntes de conferencias sobre informática. vol. 8154. Berlín, Heidelberg: Springer. págs. 378– 389. doi : 10.1007/978-3-642-40669-0_33 . hdl : 10289/8518 . ISBN 978-3-642-40669-0. S2CID 16253787 .
- ↑ Moniz, Nuno; Branco, Paula; Torgo, Luís (2017-05-01). "Estrategias de remuestreo para la predicción de series temporales desequilibradas" . International Journal of Data Science and Analytics . 3 (3): 161– 181. doi : 10.1007/s41060-017-0044-3 . ISSN 2364-4168 . S2CID 25975914 .
- ↑ Oliveira, Mariana; Moniz, Nuño; Torgo, Luis; Santos Costa, Vítor (01-09-2021). "Estrategias de remuestreo sesgado para pronósticos espacio-temporales desequilibrados" . Revista internacional de análisis y ciencia de datos . 12 (3): 205– 228. doi : 10.1007/s41060-021-00256-2 . ISSN 2364-4168 . S2CID 210931099 .
- ↑ Haibo He; Garcia, EA (2009). "Aprendizaje a partir de datos desequilibrados". IEEE Transactions on Knowledge and Data Engineering . 21 (9): 1263– 1284. Bibcode : 2009ITKDE..21.1263H . doi : 10.1109/TKDE.2008.239 . S2CID 206742563 .
- ↑ "La corrección del desequilibrio dio lugar a modelos con una fuerte descalibración sin una mejor capacidad para distinguir entre pacientes con y sin el evento de interés. Las estimaciones de probabilidad inexactas reducen la utilidad clínica del modelo, porque las decisiones sobre el tratamiento están mal informadas.", El daño de las correcciones del desequilibrio de clases para los modelos de predicción de riesgo: ilustración y simulación mediante regresión logística, 2022, Ruben van den Goorbergh, Maarten van Smeden, Dirk Timmerman, Ben Van Calster https://doi.org/10.1093/jamia/ocac093
- ↑ Enciclopedia de aprendizaje automático. (2011). Alemania: Springer. Página 193, https://books.google.com/books?id=i8hQhp1a62UC&pg=PT193
- ↑ Elor, Yotam; Averbuch-Elor, Hadar (2022). "¿Golpear o no golpear?". arXiv : 2201.08528v3 [ cs.LG ].
- ↑ Guillaume Lemaitre EuroSciPy 2023 - Sácale el máximo partido a tu clasificador scikit-learn https://www.youtube.com/watch?v=6YnhoCfArQo
- Muestreo (estadística)