Logotipo de Zephyrnet

Una guía integral sobre la detección de anomalías

Fecha:

Este artículo fue publicado como parte del Blogatón de ciencia de datos.

Introducción

La anomalía es algo que no es normal. Cualquier punto de datos que se coloque a una distancia de todos los puntos de datos normales es una anomalía. Por lo tanto, las anomalías también se denominan valores atípicos.

La detección de anomalías también se denomina detección de desviación porque los objetos anómalos tienen valores de atributo que son diferentes de todos los objetos de datos normales.

Todo el mundo ama un misterio y eso es lo que es la detección de anomalías: detectar lo inusual, atrapar el fraude, descubrir la actividad extraña.

¿Qué es la detección de anomalías?

La definición del diccionario de un a

Detección de anomalías

Tipos de anomalías

  • Anomalías de puntos – Una sola instancia de datos es anormal si está demasiado distante del resto. Caso de uso: detección de fraude de MasterCard en función del monto gastado.
Tipos de anomalías
  • anomalías contextuales – La anormalidad se basa en el contexto específico. Podemos encontrar este tipo de anomalía en datos basados ​​en series temporales. Caso de uso: la cantidad gastada en gasolina diariamente durante los días laborales es normal, pero resultará extraña cuando se gaste en vacaciones.
anomalías contextuales
  • anomalías colectivas – Un conjunto de instancias de datos reunidos ayuda a detectar anomalías. Caso de uso: alguien que intente copiar datos de una máquina remota a un host local de forma inesperada, tal anomalía se marcaría como un posible ataque cibernético.

Causas de anomalías

1. Datos de diferentes clases.

Un objeto puede ser diferente porque es de una clase diferente. Casos como el robo de tarjetas de crédito, la detección de intrusiones, el resultado de una enfermedad o un resultado anómalo de la prueba son buenos ejemplos de anomalías que se producen y se identifican mediante etiquetas de clase.

2. Variación natural

En una distribución normal o gaussiana, la probabilidad de un objeto de datos disminuye rápidamente. Dichos objetos se consideran anomalías. Estos también se denominan valores atípicos.

3. Medición de datos y errores de recopilación

Este tipo de errores ocurren cuando recopilamos datos erróneos o si hay alguna desviación al medir los datos.

¿Dónde se utiliza la detección de anomalías?

  • Incumplimiento de datos
  • Robo de Identidad
  • Elaboración
  • Networking
  • Medicina
  • Video Vigilancia

¿Para qué sirve la detección de anomalías?

  • Para encontrar valores inusuales de métricas para encontrar problemas no detectados.
  • Para encontrar cambios en una métrica o proceso importante para que los humanos puedan investigar.
  • Para reducir la superficie o espacio de búsqueda diagnosticando un problema que se ha detectado.
  • Para reducir la necesidad de calibrar o recalibrar los umbrales.
  • Para aumentar la intuición y el juicio humanos.

Inconvenientes

  • No puede proporcionar un análisis de causa raíz, aunque puede ayudar en eso.
  • No se pueden proporcionar respuestas de sí o no si hay una anomalía.
  • Es ineficiente probar que hay una anomalía en el sistema simplemente que hay algo inusual en la métrica que se está observando.
  • Incapaz de detectar fallas o fallas reales del sistema porque una falla no es similar a una anomalía.
  • No puede sustituir el juicio y la experiencia humanos.
  • Incapaz de entender el significado de las métricas.

Enfoques de detección de anomalías

  • Basado en modelos

En este tipo de enfoque se construye un modelo de los datos. Los objetos que no encajan muy bien se consideran anomalías. Por ejemplo, supongamos que se construye un modelo a partir de ciertos datos en forma de clúster. Luego, las anomalías son aquellos objetos de datos que no pertenecen fuertemente al clúster construido. En un modelo de regresión, las anomalías están lejos del valor predicho. Sin embargo, el problema con este enfoque es cuando no hay datos de entrenamiento para construir un modelo o no hay distribución estadística de datos. Por lo tanto, en tales casos requerimos técnicas que no requieren la construcción de un modelo de datos.

  • Basado en la distancia

Este enfoque se basa en las proximidades. Considere un diagrama de dispersión 2D o 3D, todos los objetos de datos están en una proximidad. Pero los objetos anómalos están lejos de ellos.

  • basado en la densidad

La densidad de los objetos es fácil de calcular, especialmente si se dispone de una medida de proximidad entre los objetos. Los objetos de baja densidad son aquellos que están relativamente distantes de sus vecinos. A tales objetos los llamamos Anomalías.

Hay tres categorías básicas para la detección de anomalías:

1. Detección de anomalías supervisadas: en este aprendizaje supervisado debe haber un conjunto de entrenamiento tanto para los objetos de datos como para los objetos anómalos esperados. Tenemos que observar que puede haber más de una clase anómala.

2. Detección de anomalías no supervisada: para situaciones en las que las etiquetas de clase no están disponibles. Podemos dar una puntuación a cada objeto que muestre el grado en que la instancia es anómala. También podemos observar que si hay muchas anomalías presentes que son similares entre sí, podemos agruparlas como un grupo normal o la puntuación de los valores atípicos es baja. Entonces, podemos decir que para que la detección de anomalías no supervisadas sea exitosa, es necesario que las anomalías sean distintas.

3. Detección de anomalías semisupervisada: a veces, cuando hay datos de entrenamiento con objetos normales etiquetados y puntuación otorgada, pero no tiene objetos anómalos, podemos implementar la detección de anomalías semisupervisada para encontrar las anomalías. Usamos los objetos normales para encontrar las anomalías. Pero, la dificultad es que a veces no es fácil encontrar ese conjunto representativo de objetos normales con los que tenemos que encontrar anomalías.

Algunos detalles más de los enfoques de detección de anomalías

El enfoque basado en modelos (también llamado método estadístico)

Las tendencias y la estacionalidad son dos características de las métricas de series temporales que alteran muchos modelos. De hecho, son una de las dos razones principales por las que se rompen los umbrales estáticos. Las tendencias son aumentos o disminuciones continuos en el valor de una métrica. Mientras que la estacionalidad refleja patrones periódicos que ocurren en un sistema, generalmente aumentando por encima de una línea de base y luego disminuyendo nuevamente. Los períodos estacionales comunes son por hora, diarios y semanales, pero sus sistemas pueden tener un período estacional más largo o incluso una combinación de períodos diferentes.

Enfoque basado en modelos (Imagen 1)
Enfoque basado en modelos (Imagen 2)

El enfoque basado en la distancia

El enfoque basado en la distancia clasifica un punto de datos como una anomalía (valor atípico) si su localidad se encuentra en un área más dispersa

El enfoque basado en la densidad

Densidad basada en la densidad de la región. El agrupamiento basado en la densidad usa la densidad localizada de puntos para decidir los agrupamientos, en lugar de usar solo la distancia entre los puntos.

DBSCAN

DBSCAN (Conglomerado espacial de aplicaciones con ruido basado en la densidad) es uno de los algoritmos de agrupamiento basados ​​en la densidad ampliamente utilizados en las aplicaciones de detección de valores atípicos. La idea básica detrás de DBSCAN es que un clúster debe contener un número mínimo de psilon ("eps") para realizar la agrupación.

Tomaremos un ejemplo para detectar valores atípicos utilizando la puntuación Z y el rango intercuartílico

Primero usando la puntuación Z

La fórmula para la puntuación Z es (Observación - Media)/Desviación estándar

z = (X — μ) / σ conjunto de datos = [11,10,12,14,12,15,14,13,15,102,12,14,17,19,107, 10,13,12,14,12,108,12,11,14,13,15,10,15,12,10,14,13,15,10, 3] valores atípicos=[] def detectar_valores atípicos(datos) retener=XNUMX media = np.media(datos) std =np.std( datos) para i en datos: z_score= (i - mean)/std si np.abs(z_score) > umbral: outliers.append(y) devuelve valores atípicos outlier_pt=detect_outliers(dataset) outlier_pt

[102, 107, 108]

Ahora, usando el rango intercuartílico que es 75% - 25% de valores en un conjunto de datos dado

ordenado (conjunto de datos)

[10, 10, 10, 10, 10, 11, 11, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 15 , 15, 15, 15, 15, 17, 19, 102, 107, 108]

cuartil1, cuartil3= np.percentil(conjunto de datos,[25,75])

imprimir(cuartil1,cuartil3)

12.0 15.0

## Encuentra el IQR

iqr_value=cuartil3-cuartil1

imprimir (valor_iqr)

3.0

## Encuentre el valor límite inferior y el valor límite superior

valor_límite_inferior = cuartil1 -(1.5 * iqr)

valor_límite_superior = cuartil3 +(1.5 * iqr)

imprimir (valor_límite_inferior, valor_límite_superior)

17.5, 19.5

n

La detección de anomalías es un concepto muy amplio; en esta guía, aprendimos sobre algunos conceptos básicos de detección de anomalías

  • Aprendimos qué son las anomalías, sus causas y tipos.
  • También discutimos enfoques para detectar anomalías y cómo se usan en el mundo real.
  • También vimos cómo se pueden usar para hacer mejores modelos.
  • Es extremadamente importante detectar las anomalías antes de construir un modelo realmente bueno.
  • Ellos necesitan
  • Nos ayuda a alertarnos de cualquier evento no deseado que es necesario detectar con suficiente antelación para prepararnos para afrontar las situaciones.

Espero que esta guía sobre la detección de anomalías le ayude a obtener una comprensión justa de cómo funciona la detección de anomalías.

Los medios que se muestran en este artículo no son propiedad de Analytics Vidhya y se utilizan a discreción del autor.

punto_img

Información más reciente

punto_img