Ir al contenido

Detección de anomalías

De Wikipedia, la enciclopedia libre

En el análisis de datos, la detección de anomalías [también denominada detección de valores atípicos (en inglés: outlier detection)] y, en ocasiones, detección de rarezas suele entenderse como la identificación de elementos, sucesos u observaciones poco frecuentes que se desvían significativamente de la mayoría de los datos y no se ajustan a una noción bien definida de comportamiento normal.[1]​ Tales ejemplos pueden despertar sospechas de haber sido generados por un mecanismo diferente,[2]​ o parecer incoherentes con el resto de ese conjunto de datos.[3]

La detección de anomalías tiene aplicación en muchos ámbitos, como la ciberseguridad, la medicina, la visión artificial, la estadística, la neurociencia, la aplicación de la ley y el fraude financiero, por citar sólo algunos. Inicialmente, las anomalías se buscaban para rechazarlas u omitirlas claramente de los datos con el fin de facilitar el análisis estadístico, por ejemplo para calcular la media o la desviación típica. También se eliminaban para mejorar las predicciones de modelos como la regresión lineal y, más recientemente, su eliminación ayuda al rendimiento de los algoritmos de aprendizaje automático. Sin embargo, en muchas aplicaciones, las propias anomalías son de interés y constituyen las observaciones más deseables de todo el conjunto de datos, que es necesario identificar y separar del tráfico o de los valores atípicos irrelevantes.

Existen tres grandes categorías de técnicas de detección de anomalías.[1]​ Las técnicas supervisadas de detección de anomalías requieren de un conjunto de datos etiquetados como "normales" y "anormales" e implican el entrenamiento de un clasificador. Sin embargo, este enfoque se utiliza raramente en la detección de anomalías debido a la indisponibilidad general de datos etiquetados y a la naturaleza desequilibrada inherente de las clases. Las técnicas de detección de anomalías semisupervisadas suponen que una parte de los datos está etiquetada. Puede tratarse de cualquier combinación de datos normales o anómalos, pero lo más frecuente es que las técnicas construyan un modelo que represente un comportamiento normal a partir de un conjunto dado de datos normales de entrenamiento y, a partir de ello, comprueben la probabilidad de que el modelo genere una instancia de prueba. Las técnicas no supervisadas de detección de anomalías suponen que los datos no están etiquetados y son, con mucho, las más utilizadas debido a su aplicación más amplia y pertinente.

Definición

[editar]

En las comunidades de estadística e informática se han hecho muchos intentos de definir una anomalía. Entre los más frecuentes se encuentran:

  • Un valor atípico es una observación que se desvía tanto de las demás observaciones como para despertar sospechas de que se ha generado por un mecanismo diferente.[2]
  • Las anomalías son casos o conjuntos de datos que aparecen muy raramente en el conjunto de datos y cuyas características difieren significativamente de la mayoría de los datos.
  • Un valor atípico es una observación (o subconjunto de observaciones) que parece incoherente con el resto de ese conjunto de datos.[3]
  • Una anomalía es un punto o conjunto de puntos que está relativamente alejado de otros puntos en un espacio multidimensional de características.
  • Las anomalías son patrones en los datos que no se ajustan a una noción bien definida de comportamiento normal.[1]
  • Sean T observaciones de una distribución gaussiana univariante y O un punto de T. Entonces la puntuación z de O es mayor que un umbral preseleccionado si y sólo si O es una anomalía.

Aplicaciones

[editar]

La detección de anomalías es aplicable en un gran número y variedad de ámbitos, y constituye una importante subárea del aprendizaje automático no supervisado. Como tal, tiene aplicaciones en la detección de intrusos en ciberseguridad, la detección de fraudes, la detección de fallos, la supervisión de la salud de sistemas, la detección de eventos en redes de sensores, la detección de perturbaciones en ecosistemas, la detección de defectos en imágenes mediante visión artificial, el diagnóstico médico y la aplicación de la ley.[4]

La detección de anomalías fue propuesta para los sistemas de detección de intrusos (IDS) por Dorothy Denning en 1986.[5]​ La detección de anomalías para IDS se realiza normalmente con umbrales y estadísticas, pero también puede hacerse con soft computing y aprendizaje inductivo.[6]​ Los tipos de estadísticas propuestos en 1999 incluían perfiles de usuarios, estaciones de trabajo, redes, hosts remotos, grupos de usuarios y programas basados en frecuencias, medias, varianzas, covarianzas y desviaciones estándar.[7]​ La contraparte de la detección de anomalías en la detección de intrusos es la detección de usos indebidos.

A menudo se utiliza en el preprocesamiento para eliminar los datos anómalos del conjunto de datos. Esto se hace por varias razones. Las estadísticas de los datos, como la media y la desviación estándar, son más precisas tras la eliminación de las anomalías, y también se puede mejorar la visualización de los datos. En el aprendizaje supervisado, la eliminación de los datos anómalos del conjunto de datos suele traducirse en un aumento estadísticamente significativo de la precisión.[8][9]​ Las anomalías son también a menudo las observaciones más importantes de los datos que hay que encontrar, como en la detección de intrusos o la detección de anomalías en imágenes médicas.

Técnicas populares

[editar]

En la literatura se han propuesto muchas técnicas de detección de anomalías.[1][10]​ Algunas de las técnicas más populares son

El rendimiento de los métodos depende del conjunto de datos y los parámetros, y los métodos tienen pocas ventajas sistemáticas sobre otros cuando se comparan entre muchos conjuntos de datos y parámetros.[36][37]

Detección de anomalías explicable

[editar]

Muchos de los métodos analizados anteriormente sólo ofrecen una predicción de la puntuación de la anomalía, que a menudo puede explicarse a los usuarios como que el punto se encuentra en una región de baja densidad de datos (o de densidad relativamente baja en comparación con las densidades de los vecinos). En la inteligencia artificial explicable, los usuarios exigen métodos con mayor capacidad de explicación. Algunos métodos permiten explicaciones más detalladas:

  • El Grado de Valores Atípicos del Subespacio (en inglés: Subspace Outlier Degree) (SOD)[18]​ identifica atributos en los que una muestra es normal, y atributos en los que la muestra se desvía de lo esperado.
  • Las Probabilidades de Correlación de Valores Atípicos (en inglés: Correlation Outlier Probabilities) (COP)[19]​ calculan un vector de error sobre cómo un punto de la muestra se desvía de una ubicación esperada, lo que puede interpretarse como una explicación contrafactual: la muestra sería normal si se trasladara a esa ubicación.

Software

[editar]
  • ELKI es un conjunto de herramientas de minería de datos Java de código abierto que contiene varios algoritmos de detección de anomalías, así como aceleración de índices para ellos.
  • PyOD es una biblioteca Python de código abierto desarrollada específicamente para la detección de anomalías.[38]
  • scikit-learn es una biblioteca Python de código abierto que contiene algunos algoritmos para la detección no supervisada de anomalías.
  • Wolfram Mathematica proporciona funcionalidad para la detección de anomalías no supervisada a través de múltiples tipos de datos[39]

Conjuntos de datos

[editar]

Véase también

[editar]

Referencias

[editar]
  1. a b c d Chandola, V.; Banerjee, A.; Kumar, V. (2009). «Anomaly detection: A survey». ACM Computing Surveys 41 (3): 1-58. doi:10.1145/1541880.1541882. 
  2. a b Hawkins, Douglas M. Identification of Outliers (Chapman and Hall London edición). New York. 
  3. a b Barnett, Vic; Lewis, Lewis (1978). Outliers in statistical data. John Wiley & Sons Ltd. 
  4. Aggarwal, Charu (2017). Outlier Analysis. Springer Publishing Company, Incorporated. ISBN 978-3319475776. 
  5. Denning, D. E. (1987). «An Intrusion-Detection Model». IEEE Transactions on Software Engineering. SE-13 (2): 222-232. doi:10.1109/TSE.1987.232894. Archivado desde el original el 22 de junio de 2015. 
  6. Teng, H. S.; Chen, K.; Lu, S. C. (1990). Adaptive real-time anomaly detection using inductively generated sequential patterns. Proceedings of the IEEE Computer Society Symposium on Research in Security and Privacy. pp. 278-284. ISBN 978-0-8186-2060-7. doi:10.1109/RISP.1990.63857. 
  7. Jones, Anita K.; Sielken, Robert S. (1999). «Computer System Intrusion Detection: A Survey». Technical Report, Department of Computer Science, University of Virginia, Charlottesville, VA. 
  8. Tomek, Ivan (1976). «An Experiment with the Edited Nearest-Neighbor Rule». IEEE Systems, Man, and Cybernetics Society|IEEE Transactions on Systems, Man, and Cybernetics 6 (6): 448-452. doi:10.1109/TSMC.1976.4309523. 
  9. Smith, M. R.; Martinez, T. (2011). «Improving classification accuracy by identifying and removing instances that should be misclassified». The 2011 International Joint Conference on Neural Networks. p. 2690. ISBN 978-1-4244-9635-8. doi:10.1109/IJCNN.2011.6033571. 
  10. Zimek, Arthur; Filzmoser, Peter (2018). «There and back again: Outlier detection between statistical reasoning and data mining algorithms». Wiley Interdisciplinary Reviews: Data Mining and Knowledge Discovery 8 (6): e1280. ISSN 1942-4787. doi:10.1002/widm.1280. Archivado desde el original el 14 de noviembre de 2021. Consultado el 7 de julio de 2023. 
  11. Knorr, E. M.; Ng, R. T.; Tucakov, V. (2000). «Distance-based outliers: Algorithms and applications». The VLDB Journal the International Journal on Very Large Data Bases 8 (3–4): 237-253. doi:10.1007/s007780050006. 
  12. Ramaswamy, S.; Rastogi, R.; Shim, K. (2000). «Efficient algorithms for mining outliers from large data sets». Proceedings of the 2000 ACM SIGMOD international conference on Management of data – SIGMOD '00: 427. ISBN 1-58113-217-4. doi:10.1145/342009.335437. 
  13. Angiulli, F.; Pizzuti, C. (2002). «Fast Outlier Detection in High Dimensional Spaces». Principles of Data Mining and Knowledge Discovery. Lecture Notes in Computer Science 2431 (978-3-540-44037-6): 15. doi:10.1007/3-540-45681-3_2. 
  14. Breunig, M. M.; Kriegel, H.-P.; Ng, R. T.; Sander, J. (2000). «LOF: Identifying Density-based Local Outliers». Proceedings of the 2000 ACM SIGMOD International Conference on Management of Data. SIGMOD: 93-104. ISBN 1-58113-217-4. doi:10.1145/335191.335388. 
  15. Liu, Fei Tony; Ting, Kai Ming; Zhou, Zhi-Hua (Diciembre 2008). Isolation Forest. 2008 Eighth IEEE International Conference on Data Mining (en inglés). pp. 413-422. ISBN 9780769535029. doi:10.1109/ICDM.2008.17. 
  16. Liu, Fei Tony; Ting, Kai Ming; Zhou, Zhi-Hua (Marzo 2012). «Isolation-Based Anomaly Detection». ACM Transactions on Knowledge Discovery from Data (en inglés) 6 (1): 1-39. doi:10.1145/2133360.2133363. 
  17. Schubert, E.; Zimek, A.; Kriegel, H. -P. (2012). «Local outlier detection reconsidered: A generalized view on locality with applications to spatial, video, and network outlier detection». Data Mining and Knowledge Discovery 28: 190-237. doi:10.1007/s10618-012-0300-z. 
  18. a b Kriegel, H. P.; Kröger, P.; Schubert, E.; Zimek, A. (2009). «Outlier Detection in Axis-Parallel Subspaces of High Dimensional Data». Advances in Knowledge Discovery and Data Mining. Lecture Notes in Computer Science 5476: 831. ISBN 978-3-642-01306-5. doi:10.1007/978-3-642-01307-2_86. 
  19. a b Kriegel, H. P.; Kroger, P.; Schubert, E.; Zimek, A. (2012). «Outlier Detection in Arbitrarily Oriented Subspaces». 2012 IEEE 12th International Conference on Data Mining: 379. ISBN 978-1-4673-4649-8. doi:10.1109/ICDM.2012.21. 
  20. Fanaee-T, H.; Gama, J. (2016). «Tensor-based anomaly detection: An interdisciplinary survey». Knowledge-Based Systems 98: 130-147. doi:10.1016/j.knosys.2016.01.027. 
  21. Zimek, A.; Schubert, E.; Kriegel, H.-P. (2012). «A survey on unsupervised outlier detection in high-dimensional numerical data». Statistical Analysis and Data Mining 5 (5): 363-387. doi:10.1002/sam.11161. 
  22. Schölkopf, B.; Platt, J. C.; Shawe-Taylor, J.; Smola, A. J.; Williamson, R. C. (2001). «Estimating the Support of a High-Dimensional Distribution». Neural Computation 13 (7): 1443-71. PMID 11440593. doi:10.1162/089976601750264965. 
  23. a b c Hawkins, Simon; He, Hongxing; Williams, Graham; Baxter, Rohan (2002). «Outlier Detection Using Replicator Neural Networks». Data Warehousing and Knowledge Discovery. Lecture Notes in Computer Science (en inglés) 2454. pp. 170-180. ISBN 978-3-540-44123-6. doi:10.1007/3-540-46145-0_17. 
  24. J. An and S. Cho, "Variational autoencoder based anomaly detection using reconstruction probability", 2015.
  25. Malhotra, Pankaj; Vig, Lovekesh; Shroff, Gautman; Agarwal, Puneet (Abril de 2015). «Long Short Term Memory Networks for Anomaly Detection in Time Series». European Symposium on Artificial Neural Networks, Computational Intelligence and Machine Learning (en inglés) (Brujas (Bélgica)). 
  26. Hubert, Mia; Debruyne, Michiel; Rousseeuw, Peter J. (2018). «Minimum covariance determinant and extensions». WIREs Computational Statistics (en inglés) 10 (3). ISSN 1939-5108. doi:10.1002/wics.1421. 
  27. Hubert, Mia; Debruyne, Michiel (2010). «Minimum covariance determinant». WIREs Computational Statistics (en inglés) 2 (1): 36-43. ISSN 1939-0068. doi:10.1002/wics.61. 
  28. He, Z.; Xu, X.; Deng, S. (2003). «Discovering cluster-based local outliers». Pattern Recognition Letters 24 (9–10): 1641-1650. doi:10.1016/S0167-8655(03)00003-5. 
  29. Campello, R. J. G. B.; Moulavi, D.; Zimek, A.; Sander, J. (2015). «Hierarchical Density Estimates for Data Clustering, Visualization, and Outlier Detection». ACM Transactions on Knowledge Discovery from Data 10 (1): 5:1-51. doi:10.1145/2733381. 
  30. Lazarevic, A.; Kumar, V. (2005). Feature bagging for outlier detection. Proc. 11th ACM SIGKDD International Conference on Knowledge Discovery in Data Mining (en inglés). pp. 157-166. ISBN 978-1-59593-135-1. doi:10.1145/1081870.1081891. 
  31. Nguyen, H. V.; Ang, H. H.; Gopalkrishnan, V. (2010). «Mining Outliers with Ensemble of Heterogeneous Detectors on Random Subspaces». Database Systems for Advanced Applications. Lecture Notes in Computer Science 5981: 368. ISBN 978-3-642-12025-1. doi:10.1007/978-3-642-12026-8_29. 
  32. Kriegel, H. P.; Kröger, P.; Schubert, E.; Zimek, A. (2011). «Interpreting and Unifying Outlier Scores». Proceedings of the 2011 SIAM International Conference on Data Mining: 13-24. ISBN 978-0-89871-992-5. doi:10.1137/1.9781611972818.2. 
  33. Schubert, E.; Wojdanowski, R.; Zimek, A.; Kriegel, H. P. (2012). «On Evaluation of Outlier Rankings and Outlier Scores». Proceedings of the 2012 SIAM International Conference on Data Mining: 1047-1058. ISBN 978-1-61197-232-0. doi:10.1137/1.9781611972825.90. 
  34. Zimek, A.; Campello, R. J. G. B.; Sander, J. R. (2014). «Ensembles for unsupervised outlier detection». ACM SIGKDD Explorations Newsletter 15: 11-22. doi:10.1145/2594473.2594476. 
  35. Zimek, A.; Campello, R. J. G. B.; Sander, J. R. (2014). «Data perturbation for outlier detection ensembles». Proceedings of the 26th International Conference on Scientific and Statistical Database Management – SSDBM '14: 1. ISBN 978-1-4503-2722-0. doi:10.1145/2618243.2618257. 
  36. Campos, Guilherme O.; Zimek, Arthur; Sander, Jörg; Campello, Ricardo J. G. B.; Micenková, Barbora; Schubert, Erich; Assent, Ira; Houle, Michael E. (2016). «On the evaluation of unsupervised outlier detection: measures, datasets, and an empirical study». Data Mining and Knowledge Discovery 30 (4): 891. ISSN 1384-5810. doi:10.1007/s10618-015-0444-8. 
  37. Repositorio de datos de referencia sobre detección de anomalías (en inglés) de la Ludwig-Maximilians-Universität München; Mirror Archivado el 31 de marzo de 2022 en Wayback Machine. en la Universidad de São Paulo.
  38. Zhao Yue, Nasrullah Zain, Li Zheng (2019). «Pyod: A python toolbox for scalable outlier detection». Journal of Machine Learning Research. 
  39. Documentación de Mathematica