DETECCION DE ANOMALIAS Miguel Cárdenas-Montes Una anomalía es una observación que es significativamente diferente del resto de observaciones. De forma que esta observación es sospechosa de haber sido generada por un mecanismo diferente del resto de observaciones. En algunos casos prácticos el objetivo será limpiar las observaciones de estas observaciones anómalas, mientras que en otros casos, el objetivo de la investigación será precisamente las anomalías y su origen. Objetivos: Comprender la utilidad de los algoritmos de detección de anomalías. Distinguir los tipos de algoritmos dedicados a la detección de anomalías. Entender la relación entre los algoritmos de aprendizaje no supervisado y los algoritmos de detección de anomalías. 1 Introducción La detección de anomalias es un área de trabajo importante en los algoritmos de aprendizaje. En algunos casos la capacidad de detección de datos anómalos deriva de forma natural de los algoritmos de clustering, como por ejemplo DBSCAN. Sin embargo, otros algoritmos no tienen esta capacidad, como Kmeans. La detección de anomalías (outliers) es una tarea crítica para la detección de fraudes, la detección de intrusiones o la limpieza de datos ruidosos. 1.1 Clasificación Los algoritmos de detección de anomalías pueden basarse en distintas técnicas como en: distribuciones estadísticas, distancia o ángulo entre los objetos, densidad de objetos. Por ejemplo para los modelos basados en distribuciones estadísticas el procedimiento sería como sigue: sea p( x ) un modelo basado en algún algoritmo de aprendizaje. Este modelo es entrenado con un conjunto de datos de entrenamiento xtraining , de forma que p( xtraining ) es Este documento puede contener imprecisiones o errores. Por favor no lo utilice para citarlo como una fuente fiable. 2 m m el modelo entrenado. Se dice que un nuevo dato xtest es una anomalía si p( xtest ) ≤ ǫ, siendo ǫ un umbral (habitualmente pequeño). Por el contrario, si p( xtest ) ≥ ǫ el dato no es anómalo. En general, los algoritmos de detección de anomalías producen uno de los siguientes resultados: El algoritmo produce algún tipo de puntuación. Basado en un umbral establecido por el usuario, se determina si la observación es normal o anómala. Este caso se produce cuando se utilizan modelos estadísticos. El algoritmo produce una salida binaria, calificando el punto como normal o anómalo. Bajo esta categoría se encuentra el algoritmo DBSCAN. Otra posible clasificación de los algoritmos de detección de datos anómalos es la forma en que se tratan el conjunto de datos anómalos. Procedimiento de bloques. En este caso todos los objetos sospechosos de ser anomalías son aceptados o descartados como un bloque: o se aceptan todos o se descartan todos. Por ejemplo si el algoritmos se basa en un modelo gausiano sobre los datos, y para la detección de las anomalías se establece un umbral sobre la probabilidad de los puntos, p( x ), entonces todos los puntos bajo el umbral son aceptados como anomalías y todos sobre el umbral son marcados como normales. Prodecimiento sequencial o consecutivo. La idea principal es que el objeto que es menos probable de ser una anomalía se comprueba primero. Si se encuentra que sí es una anomalía, entonces el resto de valores más extremos a éste son también considerados como anómalos. En caso contrario, se verifica el siguiente candidato a ser una anomalía y se vuelve a operar como en supuesto anterior. 5 4 Y 3 1.2 Datos Ruidosos 2 1 0 0 1 2 X 3 4 5 Figura 1: Ejemplo de datos donde puede haber datos anómalos y datos ruidosos. Otro factor a tener en cuenta es el ruido. Además de los datos anómalos, las observaciones pueden estar rodeadas de ruido. La distorsión entre las anomalías y el ruido es borrosa, y deberá ser considerada en cada caso. 2 Detección de Anomalías Basadas en Distribuciones Gausianas En muchos algoritmos destinados a la detección de anomalías se utiliza la distribución de probabilidad gausiana (ecuación 1) para mo- d e t e i o n d e a n o m a l i a s 3 delar los datos y posteriormente decidir si los datos son anómalos o no. 1 2πσ exp − ( x − µ )2 2σ2 Definición de media: (1) Si se tiene un conjunto de datos de entrenamiento compuesto de múltiples atributos, x1 , x2 , . . . , xn , teniendo cada atributo una media, µi y una varianza σi2 , entonces se puede modelar el conjunto de datos mediante el producto de las gausianas correspondientes a cada atributo, ∏in=1 p( xi ; µi , σi2 ). Así la ecuación para una distribución gausiana multivariante es: n n ( x − µ )2 p( x ) = ∏ p( xi ; µi , σi2 ) = ∏ √ exp − i 2 i 2σi 2πσi i =1 i =1 1 p( x ) = (2π )n/2 |Σ|1/2 ( x − µ i ) T Σ −1 ( x i − µ i ) exp − i 2 3 1 n−1 Algortimos Basados en Distancia Los algoritmos basados en distancia se fundamentan sobre dos parámetros: una distancia mínima, dmin , y un número de puntos, pts. De n ∑ ( xi − µ )2 (3) i =1 3.0 Z ∞ 2.5 −∞ √ 1 2πσ exp − ( x − µ )2 =1 2σ2 (4) 2.0 1.5 1.0 0.0 0.5 1.0 Figura 2: Datos donde Σ es la matriz de covarianza. Sin embargo para un número muy elevado de atributos, la ecuación 6 obliga a la inversión de una matriz muy grande. Esto penalizará el tiempo de ejecución. Además hay que tener en cuenta las condiciones bajo las cuales la matriz de covarianza es invertible. Por el contrario, el uso de la ecuación 5 supone modelizar los datos con un modelo más simplista pero al mismo tiempo se reduce la carga computacional del problema. (2) Definición de varianza: (5) (6) ∑ xi i =1 σ2 = La ecuación 5 permite establecer un criterio para la detección de anomalías cuando se cumple que p( x ) ≤ ǫ. En la figura 2 se presenta un conjunto de datos. Una vez calculadas las medias: µ x = 1,52, µy = 2,07, y las varianzas: σx2 = 0,53, σy2 = 0,06, se puede calcular la probabilidad bivariante de los puntos, triángulo (0.7, 2.4) y estrella (2.5, 2.9). En el primer caso, el punto marcado con un triángulo tiene una probabilidad de pertener a la gausiana que forman los puntos de entrenamiento de p = 0,1999, mientras que para la estrella es p = 0,0017. Si se estable un umbral con ǫ = 0,02, solo el punto estrella puede considerarse como una anomalía. La ecuación 5 solo es válida si no hay covarianza entre las variables, es decir que las variables son estadísticamente independientes. Si este no es el caso se debe utilizar la ecuación 6. 1 n µ= Y p( x; µ, σ2 ) = √ 1.5 X 2.0 2.5 3.0 4 m m El algoritmo DBSCAN es un algoritmo basado en distancia. esta forma que un punto no es un punto anómalo siempre y cuando tenga dentro del vecindario formado por dmin al menos pts vecinos. 4 Evaluar la Calidad en los Algoritmos de Detección de Anomalías La evaluación de un sistema de detección de anomalías puede hacerse como si fuera un problema de clasificación ligeramente modificado. En este caso, se deben dividir los datos en: conjunto de entrenamiento con el 60 % de datos siendo todos ellos normales, el conjunto de test con un 20 % de los datos normales más el 50 % de los datos anómalos, e idéntica proporción para los datos de validación cruzada. Se suponen en este caso que los datos marcados como anómalos no superar un pequeño porcentaje del total de los datos. Una vez entrenado el algoritmo de aprendizaje con el conjunto de datos de aprendizaje, se utiliza el conjunto de datos de test para valorar la calidad del modelo. Este valor es el indicador de la calidad del algoritmo. Finalmente si se utiliza un algoritmo de aprendizaje con parámetros libres, como el caso de ǫ en los modelos gausianos, entonces se puede utilizar el conjunto de validación cruzada para ajustar dichos parámetros. 5 Dificultades de Algoritmos de Detección de Anomalías con Gran Volumen de Datos 1 Charu C. Aggarwal. Outlier Analysis. Springer, 2013. ISBN 978-1-4614-6396-2 Aunque se han propuestos muchos algoritmos para la detección de anomalías, muchos de ellos tienen dificultades para tratar grandes volúmenes de datos. Muchos de ellos sufren la maldición de la dimensionalidad. Así en los algoritmos basados en ángulos, todos los objetos tienen a estar perpendiculares entre sí cuando la dimensionalidad crece. En los algoritmos basados en distancia, cuando la dimensinalidad crece, automáticamente aumenta la dispersión de los datos 1 . Por lo tanto, cuando la búsqueda de anomalías se realiza en grandes volúmenes de datos con alta dimensionalidad, estrategias alternativas son necesarias. Referencias [1] Charu C. Aggarwal. Outlier Analysis. Springer, 2013. ISBN 978-14614-6396-2.