DETECCION DE ANOMALIAS

Anuncio
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.
Descargar