ES2971865T3 - Procedimiento para detectar anomalías en comunicaciones de datos - Google Patents
Procedimiento para detectar anomalías en comunicaciones de datos Download PDFInfo
- Publication number
- ES2971865T3 ES2971865T3 ES19938326T ES19938326T ES2971865T3 ES 2971865 T3 ES2971865 T3 ES 2971865T3 ES 19938326 T ES19938326 T ES 19938326T ES 19938326 T ES19938326 T ES 19938326T ES 2971865 T3 ES2971865 T3 ES 2971865T3
- Authority
- ES
- Spain
- Prior art keywords
- data
- anomalous
- value
- anomalies
- decision threshold
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000004891 communication Methods 0.000 title claims abstract description 17
- 238000013179 statistical model Methods 0.000 claims abstract description 12
- 230000002547 anomalous effect Effects 0.000 claims description 65
- 238000004422 calculation algorithm Methods 0.000 claims description 20
- 230000006870 function Effects 0.000 claims description 11
- 238000010801 machine learning Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 239000013598 vector Substances 0.000 claims description 5
- 238000001514 detection method Methods 0.000 description 14
- 238000013473 artificial intelligence Methods 0.000 description 12
- 238000012800 visualization Methods 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 238000012706 support-vector machine Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000007418 data mining Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000013450 outlier detection Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000007847 structural defect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Complex Calculations (AREA)
Abstract
Un método para detectar anomalías en comunicaciones de datos que comprende: obtener un conjunto de puntos de datos, donde cada punto de datos está definido por un dato que es una variable continua y una o varias categorías del dato que son variables discretas; preprocesar (4) el conjunto de puntos de datos para introducirlos en un modelo estadístico no paramétrico (31); realizar una búsqueda en rejilla (5, 6) para obtener los hiperparámetros para entrenar (7) el modelo; aplicar una función núcleo RBF para identificar anomalías (10) usando una frontera de decisión no lineal y calcular una distancia del valor de la variable continua al valor dela frontera de decisión de acuerdo a los hiperparámetros para cada combinación de categorías, para obtener unos límites superior e inferior (8, 14); visualizar (11) los resultados comparando los límites obtenidos (8, 14) con la distancia calculada para cada dato y combinación de categorías.
Description
DESCRIPCIÓN
Procedimiento para detectar anomalías en comunicaciones de datos
Objeto de la invención
La presente invención se aplica en la detección de anomalías en el tráfico de redes de comunicaciones, por ejemplo, para fines de ciberseguridad.
Más particularmente, la presente invención se refiere a un procedimiento de detección de anomalías en comunicaciones de datos, en especial aplicable para el tráfico de llamadas que reciben las líneas de un Centro de Llamadas.
Antecedentes de la invención
En la minería de datos o exploración de datos de la estadística, la detección de anomalías (o la detección de valores atípicos) es la identificación de elementos raros, eventos u observaciones que generan sospechas al diferir significativamente de la mayoría de los datos. Normalmente, los elementos anómalos se traducen en algún tipo de problema, como un fraude bancario, un defecto estructural, problemas médicos errores en un texto, o una intrusión en una red de comunicación.
En la actualidad, existen soluciones basadas en Inteligencia Artificial (IA) que proporcionan un análisis o visión sobre los datos de un sistema de comunicaciones para ayudar al diseñador del sistema y/o proveedor de las comunicaciones a optimizar dichas comunicaciones y contribuir a una toma de decisiones basada en dichos datos (“data-driven”).
En este contexto y para un Centro de Llamadas (CC, siglas por el término “Call Center”, en inglés), existe un módulo de análisis de las llamadas entrantes en las líneas del CC, donde se intenta obtener información y predicciones a partir de la información de las llamadas que se reciben en esas líneas. Así, los datos de entrada en este caso son los datos para cada cliente propios del proveedor de las líneas de comunicación del CC, datos que recogen la información del tráfico de llamadas a dichas líneas del CC.
De hecho, uno de los principales problemas con los modelos de Aprendizaje Automático (ML) usados en IA y concretamente, más aún, con los modelos de Aprendizaje No Supervisado es la falta de interpretabilidad de las conclusiones alcanzadas por el sistema de IA, lo que lleva a etiquetarlos como "cajas negras".
La IA Explicable o xAI (Inteligencia Artificial Explicable) se refiere a técnicas de IA que son de confianza y fácilmente comprensibles por los seres humanos.
En la literatura científica de IA referida a la explicabilidad (“Explaining Explanations: An Overview of Interpretability of Machine Learning”, de Gilpin, L. H. et al., Quinta Conferencia Internacional del IEEE de 2018 sobre ciencia de datos y análisis avanzado (DSAA), págs. 80 - 89, octubre de 2018; y “A survey of methods for explaining black box models” de Guidotti, R. et al., Encuestas informáticas ACM (CSUR), 51(5), 93, 2018.) se dice que un modelo de explicaciones es:
• Modelo de explicaciones local, porque proporciona justificaciones sobre porqué es anómalo cada punto en concreto considerado como anomalía.
• Modelo de explicaciones específico, porque las explicaciones se generan usando información del propio modelo utilizado para la detección de anomalías, y no otro.
• Modelo de explicaciones fácil de usar, porque son explicaciones diseñadas para que cualquier usuario de la aplicación pueda comprenderlas, por ejemplo, con elementos de visualización.
• Modelo de explicaciones contrafactuales, porque no sólo indican por qué un punto es anómalo, sino que además muestran qué debería haber ocurrido para que dicho punto no hubiese sido anómalo, y viceversa.
También en la literatura científica (“Time-series Novelty Detection Using One-class Support Vector Machines”, de Junshui Ma y Simon Perkins, 2003) se encuentra el uso del algoritmo no supervisado OneClass SVM (SVM significa Máquina de Vectores de Soporte) para la detección de anomalías en datos temporales y ha sido validado por la investigación científica aplicada, WANG SIQI ET AL: "Hyperparameter selection of one-class support vector machine by self-adaptive data shifting", PATTERN<r>E<c>OGNITION, vol. 74, 1 de febrero de 2018 (2018-02-01), páginas 198-211 divulgan una máquina adicional para la detección de anomalías.
El problema técnico objetivo que se presenta es pues proveer un procedimiento para detectar anomalías con aprendizaje no supervisado que garantice la transparencia de los modelos no supervisados y que sirva para conseguir generar explicaciones locales para cada uno de los puntos etiquetados como anomalías en la comunicación.
Descripción de la invención
La presente invención sirve para solucionar el problema mencionado anteriormente, proporcionando un procedimiento para detectar anomalías en las comunicaciones de un sistema, que además incorpora técnicas de explicabilidad sobre Inteligencia Artificial (IA) para mostrar de una manera comprensible el porqué de las decisiones tomadas en el sistema, usando un modelo de explicaciones que cumple ser: local, específico, amigable y contrafactual. El modelo de explicaciones es modelo de aprendizaje por IA no supervisado que incluye la generación, para cada punto de anomalía detectado, de explicaciones fácil y visualmente comprensibles, usando como base la información propia y específica del modelo,. Además, incluye información contrafactual que informa sobre qué debería haber ocurrido para que dicho punto de anomalía no hubiese sido identificado como tal.
Un aspecto de la invención se refiere a un procedimiento implementado por ordenador para la detección de anomalías en comunicaciones de datos que comprende:
- obtener de una base de datos relacional un conjunto de puntos de datos, donde cada punto de datos está definido por un dato que es una variable numérica continua y al menos una variable categórica (o categoría del dato) que es una variable numérica discreta;
- preprocesar el conjunto de puntos de datos obtenidos para introducir en un modelo estadístico no paramétrico el conjunto de puntos de datos, estandarizando los datos y, tras haber estandarizado los datos, extrayendo al menos una combinación de variables categóricas;
- realizar una búsqueda en la red para obtener al menos una combinación de hiperparámetros con la que entrenar el modelo no paramétrico;
- aplicar una función kernel de base radial (RBF) para identificar anomalías en un período de tiempo de aplicación dado, usando un umbral de decisión no lineal y unos límites superior e inferior obtenidos mediante un modelo estadístico para detectar anomalías en un período de tiempo histórico que contiene el período de tiempo de aplicación dado, donde el modelo estadístico puede ser un modelo no paramétrico o un modelo paramétrico, y donde el modelo persiste los límites superior e inferior obtenidos en la base de datos relacional;
- si el modelo estadístico entrenado es el modelo no paramétrico, el umbral de decisión que se usa se calcula de acuerdo a los hiperparámetros obtenidos, y el modelo no paramétrico calcula una distancia desde la variable continua de los datos estandarizados hasta el valor del umbral de decisión calculado para dicha misma variable y particularizada para cada combinación de valores de las variables categóricas de los datos;
- visualizar en una interfaz gráfica de usuario unos resultados obtenidos de comparar los límites superior e inferior obtenidos con una información estadística asociada al conjunto de puntos de datos, donde la información estadística es la distancia calculada para cada uno de los datos y categoría de datos, si el modelo es el modelo no paramétrico.
Un último aspecto de la invención se refiere a un producto de programa informático que comprende un código de programa informático adaptado para realizar el procedimiento descrito anteriormente, cuando dicho código de programa se ejecuta en un dispositivo informático o dispositivo electrónico programable que puede ser: ordenador, un procesador de señales digitales (DSP), una matriz de puertas programables en campo (FPGA), un circuito integrado específico de aplicación , un microprocesador, un microcontrolador o cualquier otra forma de hardware programable. También se proporciona un medio de almacenamiento de datos digitales no transitorios para almacenar un programa de ordenador que comprende instrucciones que hacen que un dispositivo informático ejecutando el programa realice el procedimiento descrito anteriormente.
Las ventajas de la presente invención frente al estado de la técnica anterior son fundamentalmente:
- Constituye un procedimiento genérico de detección de anomalías en las comunicaciones de datos y generación de explicaciones por IA que se aplica a cualquier tipo y distribución de datos.
- Permite detectar anomalías utilizando características tales como vacaciones (calendarios) u otras variables que pueden influir en las comunicaciones.
- La detección de anomalías se realiza con un borde de decisión que puede ser no lineal y, por lo tanto, permite una clasificación más precisa de las mismas.
- A diferencia de otros procedimientos aplicables, como el procedimiento de la distribución normal que asume una distribución normal de los datos para categoría de datos definida, el procedimiento de la presente invención considera de forma conjunta todo el hiperespacio de puntos y detecta las anomalías analizando un punto en referencia a todos los demás, no a un subconjunto de ellos.
- Implica menor tiempo de ejecución, puesto que no es necesario imputar los días que pudiesen faltar en la serie temporal, a diferencia de otros procedimientos, ya que el algoritmo trabaja sobre el hiperespacio de los puntos que se tienen, al margen de que pueda faltar alguno.
- Al usar un modelo basado en un algoritmo SVM que funciona solo con vectores soporte, el coste computacional es más bajo que el de otros modelos similares (algoritmos no supervisados de “ isolation forests”; algoritmo del factor de valor atípico local -LOF).
- El procedimiento propuesto utiliza un enfoque que desentraña los modelos no supervisados para crear una explicación simple que puede ayudar a cualquiera a interpretar y entender las decisiones del sistema, por lo que el procedimiento está alineado con los principios de una IA responsable.
Breve descripción de las figuras
A continuación se pasa a describir de manera muy breve una serie de dibujos que ayudan a comprender mejor la invención y que se relacionan expresamente con una realización de dicha invención que se presenta como un ejemplo no limitativo de ésta.
FIGURA 1.- Muestra una gráfica con los puntos de datos para una especificada característica categórica, característica que en una posible realización de la invención se refiere a cada día de la semana.
FIGURA 2.- Muestra una gráfica con los límites inferidos para cada valor categórico de la Figura 1 anterior.
FIGURA 3.- Muestra un diagrama de flujo del procedimiento para detectar anomalías, según una realización preferente de la invención.
FIGURA 4.- Muestra ejemplos de umbrales de decisión obtenidos para posibles casos de uso de la invención.
FIGURA 5.- Muestra una representación gráfica de la función de utilidad para diferentes hiperparámetros calculados por el procedimiento de detección de anomalías, según un posible caso de uso de la invención.
FIGURA 6.- Muestra un ejemplo de visualización en una interfaz de usuario de resultados del análisis de las anomalías detectadas por el procedimiento.
Realización preferente de la invención
Se describe un procedimiento de detección de anomalías y generación de explicaciones comprensibles con aprendizaje no supervisado, aplicable al tráfico de llamadas de un Centro de Llamadas, CC.
Este procedimiento puede definir umbrales no lineales que intentan separar los puntos considerados no anómalos de los considerados como anomalías. Ese umbral depende del tipo de función núcleo o función kernel utilizada. Por ejemplo, utilizando el popular kernel RBF (Función de Base Radial), el umbral es circular/esférico e intenta encapsular dentro de ella los puntos no anómalos y dejar fuera de las anomalías.
A pesar de que los datos tienen habitualmente una distribución normal en el escenario de las llamadas recibidas en el Centro de Llamadas, CC, para poder generalizar mejor, se define una solución agnóstica respecto a la distribución de datos que usa un modelo no paramétrico y que tiene en cuenta el espacio de datos en su conjunto para la detección de anomalías.
En una realización preferente, el modelo no paramétrico usa el algoritmo no supervisado OneClass SVM, a través de su implementación en la biblioteca Scikit-learn, que es una biblioteca para aprendizaje automático de software libre usada en el lenguaje de programación Python.
El algoritmo utilizado tiene como entrada una matriz con las diferentes características involucradas en la especificación de cada punto de datos y separa los puntos de datos anómalos de los otros en un hiperespacio donde se trazan los puntos.
En particular, para el módulo de llamadas al cliente de un CC, los datos utilizados son una serie temporal univariante donde la variable numérica es el número total de llamadas recibidas en un día. Junto con eso, se consideran algunas características para cada punto de datos, tales como el día de la semana para ese número de llamadas (domingo, lunes, ...) o el mes. Así, los puntos de datos pueden considerarse como una combinación de una variable numérica y una combinación de otras características categóricas (por ejemplo, el día de la semana). El algoritmo tiene previsto poder trabajar con otras características en caso de que fuesen relevantes (por ejemplo, la hora de ese total de llamadas si la granularidad definida de datos es horaria o inferior, en lugar de diaria, o si ese día es o no festivo para una determinada localidad). Estas características pueden ser cualquier tipo de variable discreta que guarde relación con el número de llamadas recibidas. Las variables discretas pueden ser o bien ordinales (por ejemplo, día de la semana) o bien binarias (por ejemplo, festivo sí/no). En otra realización, es posible trabajar con otras variables categóricas no ordinales (por ejemplo, clasificaciones de eventos determinados, como pueden ser distintas campañas de marketing hechas por una empresa que recibe las llamadas en su CC), convirtiendo primero las variables en binarias, por ejemplo, haciendo codificación “one-hot”.
Otro ejemplo puede ser el siguiente:
• Datos: 55 llamadas recibidas en una línea de comunicación en la franja horaria de 16:00 a 16:30 el día 06/05/2019.
• Variable continua: 55 llamadas recibidas.
• Características: día de la semana = 1, día = 6, mes = 5, hora = 16.
Un ejemplo de una visualización que utiliza una variable numérica y un día de la semana como una característica categórica se muestra en la Figura 1, donde se representan los puntos de datos para cada día de la semana (con valores entre 0 y 6) junto con los valores, por ejemplo, valores binarios, -1 o 1, para identificar sus anomalías (siendo el valor “+1” correspondiente a “no anomalía”, y el valor “-1” correspondiente a “anomalía”). El eje vertical de la Figura 1 representa la variable sobre la que se quiere detectar si hay anomalías; en el ejemplo, hace referencia al número de llamadas. La detección de anomalías se hace utilizando un kernel RBF. Como se muestra en la Figura 1, hay un umbral de decisión esférico/elíptico que encapsula los puntos de datos que no se consideran una anomalía. que encapsula los puntos de datos que no se consideran una anomalía.
El algoritmo no supervisado obtiene los valores numéricos que corresponden a cada combinación de valores de las variables categóricas involucradas, junto con la distancia de dichos puntos respecto al umbral de decisión. Con ello calcula el valor de dicho umbral de decisión para cada combinación de variables categóricas y así se definen unos límites inferior y superior que ayuden a visualizar cuándo un punto puede ser considerado una anomalía y cuánto de anómalo es (cuantificando su distancia al límite correspondiente a un punto de datos con el mismo valor de variables categóricas). Los límites, inferior y superior, se infieren usando todos los datos históricos disponibles para luego cuantificar las anomalías de los datos en un período de interés para la aplicación, por ejemplo, el último mes, como se muestra en la Figura 2. Es decir, por un lado, el procedimiento usa un período acotado de aplicación (por ejemplo, un mes) y por otro, un período de tiempo histórico, que contiene al menos el período de aplicación mencionado. El procedimiento usa todos los datos históricos (recopilados en el período de tiempo histórico) para sacar patrones y usa el período de aplicación (el último mes) para sacar datos de muestra donde detectar anomalías. La Figura 2 ilustra cómo se puede inferir un límite, representado por la línea horizontal negra, superior e inferior, para cada uno de los valores categóricos utilizando la información del umbral de decisión.
La librería usada para aplicar la técnica de OneClass SVM proporciona la distancia del punto de datos completo (con todos sus componentes) respecto al umbral de decisión. Este valor de distancia se transforma, para que quede expresada únicamente en función de la variable numérica continua, en un valor de la distancia de la variable numérica (total de llamadas) con respecto al umbral de decisión y se hace la transformación para cada una de las combinaciones concretas de valores de las variables categóricas. De esta manera el valor de los límites expresado en función de la variable numérica se obtiene: De esta manera el valor de los límites expresado en función de la variable numérica se obtiene:
• Caso 1: Cuando hay anomalías por encima y por debajo de los puntos no anómalos (como ocurre para el día de la semana “0” de las Figuras 1 y 2). En este caso se procede para calcular el límite superior como:
l_máx = p abs(p-q)*(d1/(d1+d2))
siendo l_máx el límite superior, p el valor de la variable numérica superior del punto no anómalo más cercano a los anómalos, q el punto anómalo superior más cercano a los no anómalos, d1 la distancia al umbral de decisión del punto no anómalo asociado a dicho valor p, y d2 la distancia al umbral de decisión del punto anómalo asociado a q.
Análogamente, para el límite inferior:
l_mín = p - abs(p-q)*(d1/(d1+d2))
siendo l_mín el límite inferior, p el valor de la variable numérica inferior del punto no anómalo más cercano a los anómalos, q el punto anómalo inferior más cercano a los no anómalos, d1 la distancia al umbral de decisión del punto no anómalo asociado a dicho valor p, y d2 la distancia al umbral de decisión del punto anómalo asociado a q.
• Caso 2: Cuando hay anomalías por encima de los puntos no anómalos pero no por debajo (como ocurre para el día de la semana “2” de las Figuras 1 y 2). En este caso se procede para calcular el límite superior de igual forma que en el caso 1 pero para el punto inferior se calcula como:
l_mín = p*e
siendo l_mín el límite inferior, p el valor de la variable numérica inferior del punto no anómalo y e un valor predefinido menor que 1.
• Caso 3: Cuando hay anomalías por debajo de los puntos no anómalos pero no por encima (como ocurre para el día de la semana “1” de las Figuras 1 y 2). En este caso se procede para calcular el límite inferior de igual forma que en el caso 1 pero para el límite superior se hace algo análogo al caso 2:
l_máx = p*k
siendo l_máx el límite superior, p el valor de la variable numérica del punto superior de los no anómalos y k un valor predefinido mayor que 1.
• Caso 4: Cuando no hay anomalías para esa combinación de variables categóricas (como ocurre para el día de la semana 5 de las Figuras 1 y 2). En este caso se definen los límites inferior y superior de la siguiente forma:
l_mín = p*e
l_máx = p*k
siendo l_mín el límite inferior, p el valor de la variable numérica inferior del punto no anómalo y e un valor predefinido menor que 1; y
siendo l_máx el límite superior, p el valor de la variable numérica del punto superior de los no anómalos y k un valor predefinido mayor que 1.
Esta aproximación contribuye a la IA Explicable o xAI porque, aunque hay muchas bibliotecas disponibles de xAI para algoritmos de ML supervisados, no hay casi nada cuando se trata de modelos no supervisados. Además, el algoritmo incluye el cálculo para encontrar los hiperparámetros óptimos para el modelo OneClass SVM basado en la literatura científica.
La Figura 3 ilustra el flujograma del algoritmo descrito previamente y que lleva a cabo los siguientes pasos: - Inicio (1):
El algoritmo detecta, para cada categoría (por ejemplo, día) de datos que se recibe, si dichos datos (por ejemplo, el total de llamadas recibidas en ese día) es un punto anómalo o si por el contrario es no anómalo, i.e., entra dentro de lo que cabe esperar.
Los datos de entrada al algoritmo pueden tener los siguientes campos, en un ejemplo de implementación:
• date: fecha asociada con ese total de llamadas
• time: hora asociada con ese total de llamadas
• line_id: identificador de la línea receptora (línea del CC del cliente)
• sevice_id: servicio asociado con esa línea
• num_calls: número total de llamadas recibidas para esa fecha (date) y esa franja (horaria, indicada entime)
•client: identificador del cliente dueño o Titular de esa línea
Todos los datos de entrada son datos tabulares extraídos de tablas o vista finales que proporciona una tabla de datos relacional; por ejemplo: número llamante, llamado, titular de la línea, hora de inicio de la llamada, duración de la llamada, origen de la llamada, etc.
- Carga de datos (2):
Los datos recogidos son datos tabulares desde una base de datos relacional. El nivel de granularidad es el número de llamadas totales diarias para cada una de las líneas, aunque este algoritmo es agnóstico a la frecuencia de datos, pudiendo trabajar igualmente con frecuencias menores (horas, minutos...).
- Elección del modelo (3)
El sistema puede elegir entre aplicar un modelo no paramétrico (31) de detección de anomalías, por ejemplo, el anteriormente descrito OneClass SVM, o utilizar un procedimiento clásico (32) que asume una distribución normal de los datos de los valores numéricos para cada combinación de valores de las variables categóricas.
- Preprocesado (4)
En el caso del modelo no paramétrico (31) es necesario estandarizar los datos (estandarizar y no normalizar para no perder la información de los valores atípicos) y a continuación extraer las características categóricas mencionadas.
Para el estandarizado de datos puede aplicarse, por ejemplo, el modelo OneClass SVM, que es sensible a las distancias. Puesto que todas las variables deben tener magnitudes similares, por ese motivo se
estandarizan, según la ecuación abajo anexa, restando la mediaXde cada variable X y dividiendo entre su desviación típica S para que todas tengan una distribución de media 0 y desviación típica 1, de cara a poder trabajar con todas ellas de manera conjunta.
No se normaliza ya que la normalización suele eliminar los datos atípicos, y esto es justo lo que no interesa.
- Red de búsqueda (5):
En este punto se comprueba si se ha efectuado la red de búsqueda o búsqueda en la red (“grid search”, en inglés) para encontrar los hiperparámetros del modelo OneClass SVM.
Para implementar la búsqueda de la configuración óptima del hiperparámetro pueden usarse procedimientos conocidos en el estado de la técnica de la minería de datos, entre los que destaca un procedimiento llamado MIES (descrito por Y. Xiao , H. Wang , W. Xu , en “Parameter selection of Gaussian kernel for one-class SVM”, Transacciones del IEEE sobre cibernética, vol. 45, número 5, págs.. 941-953, 2015), que equilibra muy bien la simplicidad del procedimiento y el rendimiento de ejecución. MIES propone una forma de realizar un “grid search” para OneClassSVM siempre que el kernel utilizado sea RBF. MIES calcula la distancia normalizada, ND, de los datos (datos objetivo) al umbral de decisión, para ambos puntos de datos fuera del umbral de decisión (patrones de borde, EP), y dentro de ella (patrones interiores, IP), y con esa información puede decidir qué combinación de hiperparámetros es la óptima. Para hacer eso primero calcula la ND para los IP. Los IP deben estar lo más alejados posible del umbral de decisión. Esto evita el ajuste insuficiente, es decir, que se detectan demasiadas anomalías, ya que el umbral de decisión obtenido no está demasiado cerca de los puntos de datos no anómalos. Debido a esto, la elección óptima será la que maximice este criterio. Pero ese criterio solo no es suficiente porque claramente conduce a un sobreajuste debido al gran espacio no anómalo que se genera (y se detectan menos anomalías). Por eso, otro criterio a considerar es la ND para los EP. El umbral de decisión debe inferirse capturando la realidad de los datos subyacentes, para incluir que los EP estén lo más cerca posible del umbral de decisión.
- Red o búsqueda (6):
Un aspecto importante a considerar en este punto es que el modelo OneClass SVM usa dos hiperparámetros críticos para realizar los cálculos que afectan en gran medida la salida de detección de anomalías del sistema. Esos hiperparámetros son los siguientes:
• Tasa de Rechazo: Define el límite máximo para la fracción de puntos que puede considerarse una anomalía.
• Fracción para el límite del número de vectores soporte, nu: Define el límite mínimo para la fracción de puntos que pueden usarse como vectores de soporte.
Esos parámetros definen el compromiso explicado anteriormente:
• Si disminuye la Tasa de Rechazo, aumenta el espacio para los puntos no anómalos, hay menos anomalías detectadas y esto puede llevar a un sobreajuste.
• Si aumenta la Tasa de Rechazo, disminuye el espacio para los puntos no anómalos, hay más anomalías detectadas y esto puede llevar a un ajuste insuficiente.
• El parámetro nu influye de forma similar.
La Figura 4 muestra algunos ejemplos de umbrales de decisión obtenidos para diferentes casos de uso utilizando el anteriormente descrito y conocido procedimiento MIES. El ejemplo de la derecha, Figura 4 (c), muestra un umbral de decisión obtenido intentando solo maximizar la distancia desde los IP hasta el umbral de decisión. El ejemplo de la izquierda, Figura 4 (a), muestra un umbral de decisión obtenido solo intentando minimizar la distancia desde los EP hasta el umbral de decisión. La situación óptima es la del ejemplo ilustrado en el centro, Figura 4 (b) donde se toman en cuenta ambos factores.
Esto implica que la función objetivo a optimizar es:
fo (s) = máx ND(xi) - máx ND(xj)
siendo xi los patrones interiores, xj los patrones de borde y ND la distancia normalizada. Máx es el máximo valor de entre las distancias disponibles para cada uno de esos grupos.
Esta distancia normalizada se calcula según la ecuación de MIES:
siendo dn la ND, d la distancia de cada punto y d_pi la distancia desde el origen de coordenadas del hiperespacio, OO, al umbral de decisión.
Con todo esto, la implementación desarrollada calcula el valor de la función de utilidad para una red de búsqueda o “grid” de combinaciones de los dos hiperparámetros mencionados anteriormente utilizando los resultados del algoritmo OneClassSVM sobre los datos históricos disponibles. Al hacerlo, los resultados obtenidos son, por ejemplo, los que se muestran en la Figura 5. Una vez que se obtienen los resultados, se selecciona la combinación que maximiza el valor obtenido. La Figura 5 ilustra un ejemplo mostrando, en el eje vertical, el valor de los resultados de evaluación de la función de utilidad para diferentes combinaciones de hiperparametros, cada combinación representada en el eje horizontal por un valor identificador. El caso óptimo es el enmarcado en la elipse punteada que corresponde, para este ejemplo, a un valor de Tasa de Rechazo rejection_rate = 0.2 y un valor límite del número de vectores soporte nu = 0.1. Después de un cierto punto en el que los hiperparámetros tienen valores enormes, el rendimiento disminuye constantemente (los valores enormes conducen a una gran insuficiencia que involucra demasiadas anomalías detectadas, lo que contribuye a una mayor distancia máxima del EP).
- Entrenamiento del modelo no paramétrico (7)
Con los hiperparámetros ya definidos se entrenan los modelos y se genera y persiste una tabla con los datos de los límites para cada combinación de valores de las variables categóricas usadas.
- Obtener límites (8)
En primer lugar se obtienen los límites explicados en puntos anteriores.
- Persistir límites (9)
Persistencia de tablas de resultados en una base de datos relacional.
- Identificar anomalías (10)
Identificación de anomalías, para un número concreto de meses, usando los límites ya calculados, comparando los resultados obtenidos en el paso 8 con los valores de variables categóricas de los puntos de datos de esos meses.
Los puntos 10 y 11 aunque se están calculando en este sub-módulo para el caso del modelo no paramétrico, son agnósticos al tipo de procedimiento elegido y podrían integrarse para el caso en que se eligiese un procedimiento paramétrico, como se explica en los puntos 12, 13 y 14.
- Visualizar resultados (11)
En la visualización (11) se muestran los datos resultantes ya des-estandarizados, expresados en sus magnitudes reales, para comprobar y analizar qué anomalías hay y cuánto de anómalas son. Por ejemplo, los resultados se visualizan mediante una interfaz gráfica de usuario similar a la que se muestra en la Figura 6.
- Preprocesado (12)
Para el caso de que se utilice un procedimiento basado en la distribución normal se extraen ventanas de datos separadas para cada combinación de valores de las variables categóricas (por ejemplo, usando sólo el día de la semana se filtrarían los datos a los de todos los lunes, todos los martes...).
- Entrenamiento del modelo paramétrico (13)
Como tal no se realiza ningún entrenamiento en este caso porque no se usa un "modelo" de aprendizaje supervisado; por lo tanto, en este punto solo se generan unas tablas con lo que se obtiene del punto anterior de preprocesado (12) que pasan a ser entrada del siguiente punto para obtener los límites del punto (14) según se describe seguidamente.
- Obtener límites (14)
Se extraen los límites para cada una de las tablas obtenidas en el paso anterior considerando anomalías a los puntos que se salen de un porcentaje de la distribución (habitualmente el 95%), definiendo los límites, límite máximo limmax y límite mínimo limmin, en función de dicho porcentaje de datos considerado a, la media |j y la desviación típica a de la distribución de datos, según las siguientes ecuaciones:
- Límites persistentes (15)
Se persisten los límites de forma análoga a como se ha hecho en el paso 9.
Como implementaciones alternativas se incluye, la posibilidad de que el procedimiento trabaje con datos de menor granularidad, situación en la cual las características asociadas a cada punto de datos pueden ser más ricas, incluyendo por ejemplo la hora asociada a las llamadas recibidas en el CC.
En implementaciones alternativas, se incrementa el número de características asociadas a cada punto de datos para ganar precisión en la detección de anomalías por parte del modelo. También es posible la implementación basada en el uso de técnicas de sobremuestreo y/o submuestreo para que las características que aparecen de forma menos habitual (por ejemplo, días festivos) tengan mayor relevancia en la detección de anomalías por parte del algoritmo.
Además, aunque es preferible el procedimiento no paramétrico, en otra posible realización, se puede automatizar la selección entre el procedimiento paramétrico y el procedimiento no paramétrico realizando un contraste de hipótesis, comprobando si la ventana de datos para cada una de las combinaciones de valores de las variables categóricas sigue o no una distribución normal.
Claims (9)
1. Un procedimiento implementado por ordenador para la detección de anomalías en comunicaciones de datos que comprende:
- obtener de una base de datos relacional un conjunto de puntos de datos, en el que cada punto de datos está definido por un dato que es una variable numérica continua y al menos una categoría del dato que es una variable numérica discreta;
- preprocesar (4) el conjunto de puntos de datos obtenidos para introducir en un modelo estadístico no paramétrico (31) el conjunto de puntos de datos, estandarizando los datos y extrayendo al menos una combinación de categorías del dato;
- realizar una búsqueda en la red (5, 6) para obtener al menos una combinación de hiperparámetros con la que entrenar (7) el modelo no paramétrico (31);
- aplicar una función kernel de base radial, RBF, para identificar anomalías (10) en un período de tiempo de aplicación dado usando un umbral de decisión no lineal y unos límites superior e inferior obtenidos (8, 14) mediante un modelo estadístico para detectar anomalías en un período de tiempo histórico que contiene el período de tiempo de aplicación dado, en el que el modelo estadístico se selecciona (3) entre el modelo no paramétrico (31) y un modelo paramétrico (32), y en el que el modelo estadístico persiste (9, 15) en los límites superior e inferior obtenidos (8, 14) en la base de datos relacional;
- si el modelo estadístico seleccionado (3) es el modelo no paramétrico (31), el umbral de decisión que se usa se calcula de acuerdo a los hiperparámetros obtenidos y para cada combinación de categorías de datos extraída, y el modelo no paramétrico (31) calcula una distancia desde la variable continua de los datos estandarizados hasta el valor del umbral de decisión calculado para dicha variable y para cada combinación de valores de las variables discretas de categorías de datos;
- visualizar (11) en una interfaz gráfica de usuario los resultados obtenidos de comparar los límites superior e inferior obtenidos (8, 14) con una información estadística asociada al conjunto de puntos de datos, en el que la información estadística, si el modelo estadístico seleccionado (3) es el modelo no paramétrico (31), es la distancia calculada para cada dato y combinación de categorías de datos.
2. El procedimiento según la reivindicación 1,caracterizado porqueel modelo no paramétrico usa un algoritmo de aprendizaje automático no supervisado.
3. El procedimiento según la reivindicación 2,caracterizado porqueel algoritmo de aprendizaje automático no supervisado es el algoritmo OneClass SVM.
4. El procedimiento según la reivindicación 3,caracterizado porqueel, al menos un hiperparámetro, se selecciona entre un límite máximo para la fracción de puntos que probablemente se detecten como anomalía y un límite mínimo para la fracción de puntos que probablemente se utilizarán como vectores de soporte.
5. El procedimiento según cualquiera de las reivindicaciones anteriores,caracterizado porquela búsqueda en la red (5, 6) usa el procedimiento MIES.
6. El procedimiento según cualquiera de las reivindicaciones anteriores,caracterizado porquesi el modelo estadístico entrenado seleccionado (3) es el modelo no paramétrico (31), los límites superior e inferior se obtienen (8) como sigue, para cada combinación de categorías de datos:
- cuando hay anomalías por encima y por debajo de los puntos no anómalos, se calcula el límite superior como:
l_máx = p abs(p-q)*(d1/(d1+d2))
donde
l_máx es el límite superior,
p es el valor de la variable numérica superior del punto no anómalo más cercano a los anómalos, q es el punto anómalo superior más cercano a los no anómalos, d1 es la distancia al umbral de decisión del punto no anómalo asociado a dicho valor p, y
d2 es la distancia al umbral de decisión del punto anómalo asociado a q;
y se calcula el límite inferior como:
l_mín = p - abs(p-q)*(d1/(d1+d2))
donde
l_mín es el límite inferior,
p es el valor de la variable numérica inferior del punto no anómalo más cercano a los anómalos, q es el punto anómalo inferior más cercano a los no anómalos, d i es la distancia al umbral de decisión del punto no anómalo asociado a dicho valor p, y
d2 es la distancia al umbral de decisión del punto anómalo asociado a q;
- cuando hay anomalías por encima de los puntos no anómalos pero no por debajo, se calcula el límite superior como:
l_máx = p abs(p-q)*(d1/(d1+d2))
donde
l_máx es el límite superior r,
p es el valor de la variable numérica superior del punto no anómalo más cercano a los anómalos, q es el punto anómalo superior más cercano a los no anómalos, d1 es la distancia al umbral de decisión del punto no anómalo asociado a dicho valor p, y
d2 es la distancia al umbral de decisión del punto anómalo asociado a q;
y se calcula el límite inferior como:
l_mín = p*e
donde
l_mín es el límite inferior,
p es el valor de la variable numérica inferior del punto no anómalo, y
e es un valor predefinido menor que 1;
- cuando hay anomalías por debajo de los puntos no anómalos pero no por encima, se calcula el límite superior como:
l_máx = p*k
donde
l_máx es el límite superior,
p es el valor de la variable numérica del punto superior de los no anómalos, y
k es un valor predefinido mayor que 1;
y se calcula el límite inferior como:
l_mín = p - abs(p-q)*(d1/(d1+d2))
donde
l_mín es el límite inferior,
p es el valor de la variable numérica inferior del punto no anómalo más cercano a los anómalos, q es el punto anómalo inferior más cercano a los no anómalos, d1 es la distancia al umbral de decisión del punto no anómalo asociado a dicho valor p, y
d2 es la distancia al umbral de decisión del punto anómalo asociado a q;
- cuando no hay anomalías para la combinación de categorías de datos, se calculan los límites inferior y superior respectivamente de la siguiente forma:
l_mín = p*e
l_máx = p*k
donde l_mín el límite inferior, p el valor de la variable numérica inferior del punto no anómalo y e un valor predefinido menor que 1; y
donde l_máx es el límite superior, p el valor de la variable numérica del punto superior de los no anómalos y k un valor predefinido mayor que 1.
7. El procedimiento según cualquiera de las reivindicaciones anteriores,caracterizado porquesi el modelo estadístico entrenado seleccionado (3) es el modelo paramétrico (32), se aplica una distribución normal de las variables numéricas de los datos para cada valor de las variables numéricas de la combinación de categorías de datos, y los límites superior e inferior se obtienen (14) de acuerdo a un porcentaje de datos dado, y la media y la desviación típica de la distribución normal, en el que el porcentaje de datos dado se usa para calcular el modelo paramétrico (32) que considera anomalías los puntos de datos cuyo valor de las variables numéricas de los datos está fuera de los límites superior e inferior obtenidos para una misma combinación de variables numéricas de categorías de datos.
8. Un producto de programa informático que comprende un código de programa informático configurado para realizar el procedimiento definido según cualquiera de las reivindicaciones anteriores, cuando dicho código de programa se ejecuta en un dispositivo informático que se selecciona entre: un ordenador; un procesador de señales digitales, DSP; una matriz de puertas programables en campo, FPGA; un circuito integrado de aplicación, un microprocesador y un microcontrolador.
9. Un medio no transitorio legible por ordenador,caracterizado porquecomprende instrucciones para hacer que un dispositivo informático realice el procedimiento definido según cualquiera de las reivindicaciones 1-7.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/ES2019/070510 WO2021014029A1 (es) | 2019-07-22 | 2019-07-22 | Método para detectar anomalías en comunicaciones de datos |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2971865T3 true ES2971865T3 (es) | 2024-06-10 |
Family
ID=74193413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES19938326T Active ES2971865T3 (es) | 2019-07-22 | 2019-07-22 | Procedimiento para detectar anomalías en comunicaciones de datos |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4006791B1 (es) |
ES (1) | ES2971865T3 (es) |
WO (1) | WO2021014029A1 (es) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105847598B (zh) * | 2016-04-05 | 2017-04-19 | 浙江远传信息技术股份有限公司 | 呼叫中心多因子话务预测方法 |
US10846308B2 (en) * | 2016-07-27 | 2020-11-24 | Anomalee Inc. | Prioritized detection and classification of clusters of anomalous samples on high-dimensional continuous and mixed discrete/continuous feature spaces |
EP3480734B1 (en) * | 2017-08-10 | 2024-02-07 | Tata Consultancy Services Limited | Generalized one-class support vector machines with jointly optimized hyperparameters thereof |
EP3451219A1 (en) * | 2017-08-31 | 2019-03-06 | KBC Groep NV | Improved anomaly detection |
-
2019
- 2019-07-22 ES ES19938326T patent/ES2971865T3/es active Active
- 2019-07-22 WO PCT/ES2019/070510 patent/WO2021014029A1/es unknown
- 2019-07-22 EP EP19938326.6A patent/EP4006791B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP4006791B1 (en) | 2023-12-27 |
WO2021014029A1 (es) | 2021-01-28 |
EP4006791A1 (en) | 2022-06-01 |
EP4006791A4 (en) | 2023-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11527062B2 (en) | Method and system for crop recognition and boundary delineation | |
Kratsch et al. | Machine learning in business process monitoring: a comparison of deep learning and classical approaches used for outcome prediction | |
US10917425B2 (en) | Graph structure model training and junk account identification | |
US11037080B2 (en) | Operational process anomaly detection | |
US20200349169A1 (en) | Artificial intelligence (ai) based automatic data remediation | |
CN109947079A (zh) | 基于边缘计算的区域异常检测方法和边缘计算设备 | |
JP6869347B2 (ja) | リスク制御イベント自動処理の方法および装置 | |
Zanfei et al. | Novel approach for burst detection in water distribution systems based on graph neural networks | |
US20230004891A1 (en) | Multivariate risk assessment via poisson shelves | |
US12026076B2 (en) | Method and system for proactive client relationship analysis | |
US10453015B2 (en) | Injury risk factor identification, prediction, and mitigation | |
Nateghi et al. | Risk analysis in the age of big data: The promises and pitfalls | |
US9477691B1 (en) | Multi-latency data management | |
US20240086736A1 (en) | Fault detection and mitigation for aggregate models using artificial intelligence | |
US9207105B2 (en) | System and method for incident detection with spatiotemporal thresholds estimated via nonparametric quantile regression | |
US20240211340A1 (en) | Systems and methods for failure warning | |
US11043289B2 (en) | Monitoring, predicting and alerting for census periods in medical inpatient units | |
Susto et al. | A fraud detection decision support system via human on-line behavior characterization and machine learning | |
ES2971865T3 (es) | Procedimiento para detectar anomalías en comunicaciones de datos | |
US20200027046A1 (en) | Smart monitoring | |
CN110727711B (zh) | 基金数据库中异常数据检测方法、装置和计算机设备 | |
US10599992B1 (en) | Predicting reliability of product and part combinations using machine learning based on shared model | |
US11288155B2 (en) | Identifying anomalies in data during data outage | |
US9600358B1 (en) | Scalable monitoring and error handling in multi-latency systems | |
Jagtap et al. | ‘Blockchain-based secure healthcare for cardio disease prediction |