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

La detección de anomalías utiliza una serie de herramientas para identificar y abordar las anomalías a medida que aparecen en un conjunto de datos.

Un cambio dentro de un patrón de datos, un valor atípico o un evento que se encuentre fuera de una tendencia estándar; una desviación de algo esperado o algo que no se ajusta a las expectativas.

Una anomalía, o un valor atípico en un patrón, puede indicar algo que está fuera de la norma o algo que posiblemente no esté bien.

Anomalías puntuales/globales

Un único punto de datos que se ha identificado como demasiado lejos del resto.

Anomalías contextuales

Anomalía anormal en el contexto de un conjunto de datos, pero normal en el contexto de otro conjunto de datos. Este es el tipo más común de anomalía contextual en datos de series temporales.

Anomalías colectivas

Cuando un subconjunto completo de datos es anómalo al compararlo con un conjunto más amplio de datos; los puntos de datos individuales no se tienen en cuenta cuando se identifican anomalías colectivas.

La identificación de un valor atípico raro o un punto de datos fuera de las tendencias de un conjunto de datos. Las anomalías pueden indicar eventos sospechosos, fallos, defectos o fraude.

El desafío de la detección de anomalías

Un sistema de detección de anomalías requiere mano de obra manual para realizar los análisis, o bien el uso de aprendizaje automático (ML). Esto puede ser un desafío, ya que se necesita un amplio conocimiento del dominio y la difícil necesidad de predecir posibles anomalías estadísticas antes de que se manifiesten.

Detección de anomalías con aprendizaje automático

Beneficios de la detección de anomalías y el aprendizaje automático

El aprendizaje automático (ML) funciona mejor para la detección de anomalías, ya que resulta más oportuno que la detección manual, es altamente adaptable a los cambios y tiene la capacidad de gestionar fácilmente grandes conjuntos de datos.

Datos no estructurados

Los datos que se presentan estructurados se basan en la existencia de comprensión y significado detrás de los datos; se han interpretado y organizado en un conjunto de datos asimilables. Los datos codificados o no estructurados pueden hacer que un algoritmo sea inútil hasta que no esté estructurado, ya que hay poca interpretación y comprensión del contexto de los datos.

Necesidad de conjuntos de datos grandes

Un buen conjunto de datos que se quiera analizar debe ser lo suficientemente grande como para establecer una tendencia correcta e identificar las anomalías adecuadas. La detección puede beneficiarse porque no se pueden hacer inferencias más válidas de un conjunto de datos más pequeño, y un conjunto de datos más grande puede revelar una anomalía en lugar de algo que podría formar parte de una tendencia o no ser un valor tan atípico como se había predicho.

Necesidad de talento

Se necesitan ingenieros o científicos de datos con amplios conocimientos para entrenar un algoritmo de aprendizaje automático; según las capacidades de la solución, se puede tardar un par de semanas o meses en entrenar la máquina, y también según la solución, se requieren diferentes niveles de habilidades de aprendizaje automático.

Detección de anomalías en tres entornos

Supervisados

Los datos supervisados se preparan previamente con cada uno de los puntos de datos etiquetados como “nominal” o “anomalía”. Todas las anomalías se identifican con anticipación para que el modelo se entrene con ellas.

Limpios

Todos los puntos de datos se etiquetan como “nominales”, y los puntos que son “anomalías” no se etiquetan. Los datos limpios dejan la tarea de detectar anomalías al modelador de datos, ya que se presupone que todos los puntos de datos dentro del conjunto limpio son “nominales”.

Sin supervisión

Los datos sin supervisión llegan sin etiquetar los puntos como “nominales” o “anomalías”. Depende del modelador de datos determinar los puntos que son “nominales” y “anomalías”; no existe una base ni una comprensión de cuál será el resultado preciso.

El proceso de identificación de un patrón no observado dentro de una nueva observación que no se incluye en los datos de entrenamiento.

El método más fácil para detectar una anomalía es identificar algo irregular dentro de una propagación de datos que parece desviarse de una tendencia o distribuciones estadísticas comunes como media, mediana y modo.

Cómo utilizar el aprendizaje automático para la detección de anomalías y la supervisión de condiciones.

Transformación digital

También conocida como digitalización e industria 4.0, una transformación digital utiliza tecnología y datos para optimizar la productividad y aumentar la eficiencia. Cada vez hay más datos disponibles, ya que las máquinas y los dispositivos están conectados y son capaces de transferir una gran cantidad de datos a innumerables lugares. El objetivo es extraer y analizar la información que se determina a partir de los datos para reducir los costes y el tiempo de inactividad; el aprendizaje automático y el análisis de datos desempeñan un papel importante en esto.

Supervisión de condiciones

Cada máquina, independientemente de sus respectivas complejidades, llegará a un punto en el que se encuentre en mal estado. Esto no indica que una máquina haya llegado al final de su vida útil o que deba apagarse, sino que podría ser necesario realizar tareas de mantenimiento para restablecer el rendimiento óptimo y completo de la máquina. Analizar un conjunto de datos grande puede identificar anomalías que predigan o indiquen cuándo una máquina necesita someterse a mantenimiento o ser reemplazada.

Enfoques basados en la densidad

Detección de anomalías basada en la densidad

La detección de anomalías basada en la densidad funciona bajo la suposición de que todos los puntos de datos nominales se encuentran juntos y que las anomalías se encuentran más lejos. Se basa en el algoritmo de los vecinos k más cercanos (k-NN), que es simple y no paramétrico. Por lo general, k-NN se utiliza para clasificar los datos basados en sus similitudes en las mediciones de la distancia, como la distancia de Manhattan, de Minkowski, de Hamming o euclidiana.

Detección de anomalías basada en la agrupación

La agrupación se basa en la suposición de que los puntos de datos similares tienden a pertenecer a grupos o agrupaciones similares, y que esto lo determina su distancia de los centroides locales (el promedio de todos los puntos). El algoritmo de agrupación k-medias crea agrupaciones “k” de puntos de datos similares. Las anomalías son cualquier punto que se encuentre fuera de las agrupaciones “k”.

Detección de anomalías basada en máquinas de vectores de soporte (SVM)

Generalmente, SVM utiliza aprendizaje supervisado, pero existen opciones que también pueden identificar anomalías en entornos de aprendizaje sin supervisión. Se aprende un límite suave y se aplica al conjunto de entrenamiento, las instancias de datos normales se agrupan dentro del límite y las anomalías se identifican como anomalías que quedan fuera del límite aprendido.

Los datos de series temporales son una secuencia de valores que se recopilan con el tiempo. Cada punto de datos puede tener dos métricas: la hora y la fecha en las que se recopiló el punto de datos, así como el valor de dicho punto de datos. Los datos se recopilan continuamente y se utilizan principalmente para predecir eventos en el futuro en lugar de servir como una predicción de sí mismos. Las anomalías de series temporales se pueden utilizar para detectar:

  1. usuarios activos;
  2. vistas de páginas web;
  3. la codificación predictiva contrastiva (CPC);
  4. el aprendizaje predictivo contrastivo (CPL);
  5. la tasa de devolución;
  6. la tasa de rotación;
  7. el valor de pedido promedio;
  8. instalaciones de aplicaciones móviles.

La detección de anomalías de series temporales establece una línea de base para el comportamiento típico en los KPI identificados.

  • Limpieza de datos
  • Detección de introducciones
  • Detección de fraude
  • Supervisión del estado de los sistemas
  • Detección de eventos en redes de sensores
  • Alteraciones del ecosistema

Detección de anomalías para el rendimiento del servicio

Adoptar un enfoque reactivo para la detección puede dar lugar a tiempo de inactividad y problemas de rendimiento que tienen consecuencias antes de que exista una solución. La detección de anomalías en el rendimiento puede ayudar a que las empresas predigan cuándo y por qué podría haber un problema dentro de un servicio de negocio. La mayoría de los sectores pueden beneficiarse, entre ellos, por ejemplo, los dos siguientes:

  • Telecomunicaciones: el análisis de telecomunicaciones produce conjuntos de datos enormes, por lo que las soluciones avanzadas resultan importantes para detectar y prevenir la latencia, las fluctuaciones y la mala calidad de las llamadas, que pueden reducir el rendimiento.
  • Tecnología publicitaria: el rendimiento de aplicaciones complejas puede ser difícil de supervisar debido a la velocidad a la que se producen las transacciones dentro de una subasta publicitaria. La detección de anomalías puede buscar problemas en una aplicación antes de que la aplicación pueda bloquearse, lo que evita el tiempo de inactividad durante una acción publicitaria.

Detección de anomalías para la calidad de productos

Los productos deben funcionar sin problemas y con el menor número de errores posible. La evolución natural de los productos puede dar como resultado anomalías conductuales en cualquier parte, desde una nueva característica hasta una prueba A/B, y la supervisión continua de cualquier anomalía conductual puede evitar el tiempo de inactividad o problemas frecuentes. La mayoría de los sectores pueden beneficiarse, por ejemplo, los dos siguientes:

  • Comercio electrónico: la detección de anomalías puede identificar cualquier comportamiento extraño o problemas de calidad de productos, como fallos en los precios o cambios anormales en la estacionalidad.
  • Tecnología financiera: el sector financiero opera en milisegundos, así que debe existir la certeza de que las aplicaciones que supervisan las operaciones son seguras y coherentes. La detección de anomalías puede evitar el tiempo de inactividad o los fallos al comprobar si hay cualquier anomalía en el rendimiento y las operaciones de las aplicaciones.

Detección de anomalías para la experiencia de usuario

Una experiencia de usuario puede ser negativa si un sitio experimenta una degradación del servicio. La detección de anomalías puede ayudar a que las empresas reaccionen ante cualquier fallo antes de frustrar a los clientes y generar una pérdida de ingresos. Algunos sectores pueden beneficiarse de la detección de anomalías de esta manera:

  • Juegos: los juegos son complicados, lo que hace casi imposible la supervisión manual de las complejidades de permutación. La inteligencia artificial (IA) puede contrarrestar fallos y errores en la experiencia de usuario, como fallos.
  • Negocios en línea: el éxito de los negocios en línea depende en gran medida de la experiencia de usuario. El equipo de TI debe vigilar y mitigar los errores de API, el tiempo de inactividad del servidor y los fallos de tiempo de carga. Un rápido análisis de la causa raíz a través de la detección de anomalías puede identificar rápidamente un problema para ayudar a que las plataformas, los centros de datos y los sistemas operativos se reparen con poco o ningún tiempo de inactividad.

  • Detección de anomalías automatizada: proporciona información precisa en tiempo real a la vez que ofrece clasificación, detección y agrupación de datos. Esto elimina la necesidad de un equipo más grande de analistas de datos.
  • Aprendizaje automático supervisado y sin supervisión: el aprendizaje automático ocurre idealmente sin supervisión ni interacción humana. Sin embargo, aún debe haber algunos analistas que proporcionen datos de línea de base y, ocasionalmente, supervisen el programa de aprendizaje automático.
  • Híbrida: detección de anomalías a escala que proporciona la flexibilidad de la creación manual de reglas para anomalías específicas.

La detección de anomalías plantea una pregunta obvia: ¿desarrollo una solución o compro un sistema? Hay algunas cosas importantes que se deben tener en cuenta en el proceso de toma de decisiones:

  • el tamaño de la empresa
  • el volumen de los datos que se van a procesar
  • la capacidad de desarrollo interno
  • cualquier plan de expansión
  • los requisitos de los interesados
  • las exigencias presupuestarias
  • el tamaño de un equipo que esté disponible
  • la experiencia interna en ciencia de datos

Capacidades que se expanden con tu empresa

Prevé los problemas antes de que surjan con ServiceNow.