Detección de anomalías en series temporales en streaming con aprendizaje en línea usando Amazon Managed Service para Apache Flink

Elena Digital López

Los datos de series temporales representan un tipo de información que incorpora el tiempo como elemento fundamental en su estructura. En una serie temporal, los puntos de datos se recogen secuencialmente, usualmente a intervalos regulares, y a menudo muestran ciertos patrones, como tendencias, variaciones estacionales o comportamientos cíclicos. Ejemplos comunes incluyen ingresos por ventas, rendimiento del sistema (como utilización del CPU y uso de memoria), transacciones con tarjetas de crédito, lecturas de sensores y análisis de actividad de usuarios.

La detección de anomalías en series temporales es el proceso de identificar patrones inesperados o inusuales en los datos a lo largo del tiempo. Una anomalía, también conocida como un «outlier» (valor atípico), ocurre cuando un punto de datos se desvía significativamente de un patrón esperado.

Para algunas series temporales, como aquellas con rangos esperados bien definidos, como las temperaturas de funcionamiento de una máquina o el uso de CPU, puede ser suficiente emplear un enfoque basado en umbrales. Sin embargo, en áreas como la detección de fraudes y ventas, donde las reglas simples no son suficientes para captar anomalías debido a las complejas relaciones subyacentes, se requieren técnicas más sofisticadas para identificar ocurrencias inesperadas.

En este artículo, se demuestra cómo construir una solución robusta para la detección de anomalías en tiempo real en datos de series temporales usando Amazon Managed Service for Apache Flink y otros servicios gestionados de AWS.

La solución implementa machine learning (ML) para la detección de anomalías y no requiere que los usuarios tengan experiencia previa en inteligencia artificial. Ofrece una plantilla AWS CloudFormation para un despliegue sencillo en una cuenta de AWS. Con esta plantilla, se puede desplegar una pila de aplicaciones con los recursos necesarios de AWS para la detección de anomalías. Al configurar una pila, se crea una aplicación con una tarea de detección de anomalías. Se pueden configurar múltiples pilas para ejecutarlas simultáneamente, analizando los datos y reportando las anomalías.

La aplicación, una vez desplegada, construye un modelo de ML usando el algoritmo Random Cut Forest (RCF). Inicialmente, toma los datos de la serie temporal de Amazon Managed Streaming for Apache Kafka (Amazon MSK), utilizando este flujo en vivo para el entrenamiento del modelo. Después de entrenarse, el modelo continúa procesando los puntos de datos entrantes del flujo. Evalúa estos puntos en relación con las tendencias históricas de la serie temporal correspondiente y genera una puntuación de anomalía normalizada para cada punto de datos.

Para solicitar acceso a esta solución, envíe un correo electrónico a [email protected].

En un escenario ejemplar de ventas, AnyBooks, una librería universitaria que vende suministros a estudiantes, ha experimentado picos inexplicables en la cantidad de artículos vendidos. La gestión necesita empezar a rastrear estas anomalías para planificar mejor su inventario y personal. La solución implementada ingiere transacciones de ventas utilizando una función AWS Lambda que transforma cada registro en un mensaje JSON y lo publica en un tema Kafka.

La aplicación de Flink lee los datos en bruto del tema de entrada MSK, entrena el modelo y comienza la detección de anomalías, registrándolas en el tema de salida MSK. Los resultados procesados se almacenan en Amazon S3 en formato Parquet para su posterior análisis y visualización utilizando Amazon QuickSight. Además, una función Lambda analiza los resultados y envía notificaciones de anomalías críticas en tiempo casi real a través de Amazon SNS.

Este artículo ha demostrado cómo construir una solución robusta de detección de anomalías en tiempo real para datos de series temporales utilizando servicios gestionados de AWS. ¡Pruebe esta solución y descubra cómo la detección de anomalías en tiempo real en AWS puede optimizar operaciones y desbloquear insights en su negocio!

Scroll al inicio