Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR DETECTING ANOMALIES IN DATA COMMUNICATIONS
Document Type and Number:
WIPO Patent Application WO/2021/014029
Kind Code:
A1
Abstract:
The invention relates to a method for detecting anomalies in data communications, which comprises: obtaining a set of data points, where each data point is defined by a data item that is a continuous variable and one or more categories of the data item that are discrete variables; pre-processing (4) the set of data points to input them into a non-parametric statistical model (31); performing a grid search (5, 6) to obtain the hyper-parameters for training (7) the model; applying a kernel RBF function to identify anomalies (10) using a non-linear decision boundary and calculating a distance from the value of the continuous variable to the value of the decision boundary according to the hyper-parameters for each combination of categories, so as to obtain upper and lower limits (8, 14); displaying (11) the results by comparing the limits obtained (8, 14) with the distance calculated for each data item and combination of categories.

Inventors:
BARBADO GONZÁLEZ ALBERTO (ES)
PEREZ ROSADO FEDERICO (ES)
ALONSO BAIGORRI PEDRO (ES)
SÁNCHEZ PÉREZ ÁLVARO (ES)
Application Number:
PCT/ES2019/070510
Publication Date:
January 28, 2021
Filing Date:
July 22, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
TELEFONICA IOT & BIG DATA TECH S A (ES)
International Classes:
G06N20/10
Domestic Patent References:
WO2019043163A12019-03-07
Foreign References:
US20190050690A12019-02-14
US20190188212A12019-06-20
CN105847598A2016-08-10
Other References:
WANG SIQI ET AL.: "Hyperparameter selection of one-class support vector machine by self-adaptive data shifting", PATTERN RECOGNITION ELSEVIER, GB . IMPEDOVO SEBASTIANO; LIU CHENG-LIN; IMPEDOVO DONATO; PIRLO GIUSEPPE, vol. 74, pages 198 - 211, XP085273142, ISSN: 0031-3203, DOI: 10.1016/j.patcog. 2017.09.01 2
XIAO YINGCHAO ET AL.: "Parameter Selection of Gaussian Kernel for One-Class SVM", IEEE TRANSACTIONS ON CYBERNETICS, vol. 45, no. 5, 5 January 2015 (2015-01-05), Piscataway, NJ, USA, pages 927 - 939, XP011578564, ISSN: 2168-2267, DOI: 10.1109/TCYB.2014.2340433
LIU SHUANGYIN ET AL.: "A hybrid approach of support vector regression with genetic algorithm optimization for aquaculture water quality prediction", MATHEMATICAL AND COMPUTER MODELLING, vol. 58, no. 3, 1 December 2011 (2011-12-01), OXFORD, GB, pages 458 - 465, XP028569153, ISSN: 0895-7177, DOI: 10.1016/j.mcm. 2011.11.02 1
GILPIN, LH ET AL.: "Explaining Explanations: An Overview of Interpretability of Machine Learning", IEEE 5TH INTERNATIONAL CONFERENCE ON DATA SCIENCE AND ADVANCED ANALYTICS, 2018, pages 80 - 89, XP033511468, DOI: 10.1109/DSAA.2018.00018
GUIDOTTI, R ET AL.: "A survey of methods for explaining black box models", ACM COMPUTING SURVEYS, vol. 51, no. 5, 2018, pages 93, XP058666544, DOI: 10.1145/3236009
Y. XIAOH. WANGW. XU: "Parameter selection of Gaussian kernel for one-class SVM", IEEE TRANSACTIONS ON CYBERNETICS, vol. 45, 2015, pages 941 - 953
See also references of EP 4006791A4
Attorney, Agent or Firm:
CARPINTERO LOPEZ, Mario (ES)
Download PDF:
Claims:
REIVINDICACIONES

1. Un método 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 categoría del dato que es una variable numérica discreta;

caracterizado por que además comprende:

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 rejilla (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 núcleo de base radial, RBF, para identificar anomalías (10) en un período de tiempo de aplicación dado usando una frontera 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, donde el modelo estadístico se selecciona (3) entre el modelo no paramétrico (31) y un modelo paramétrico (32), y donde el modelo estadístico persiste (9, 15) 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), la frontera de decisión que se usa es calculada de acuerdo a los hiperparámetros obtenidos y para cada combinación de categorías del dato extraída, y el modelo no paramétrico (31) calcula una distancia de la variable continua del dato estandarizado al valor de la frontera de decisión calculado para dicha variable y para cada combinación de valores de las variables discretas de categorías del dato;

visualizar (11) en una interfaz gráfica de usuario unos 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, donde 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 del dato.

2. El método de acuerdo con la reivindicación 1 , caracterizado por que el modelo no paramétrico usa un algoritmo de aprendizaje máquina no supervisado.

3. El método de acuerdo con la reivindicación 2, caracterizado por que el algoritmo de aprendizaje máquina no supervisado es el algoritmo OneClass SVM.

4. El método de acuerdo con la reivindicación 3, caracterizado por que el, al menos un hiperparámetro, se selecciona entre un límite máximo para la fracción de puntos susceptibles de ser detectados como anomalía y un límite mínimo para la fracción de puntos susceptibles de ser usados como vectores de soporte.

5. El método de acuerdo con cualquiera de las reivindicaciones anteriores, caracterizado por que la búsqueda en rejilla (5, 6) usa el procedimiento MIES.

6. El método de acuerdo con cualquiera de las reivindicaciones anteriores, caracterizado por que si 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 del dato: cuando hay anomalías por encima y por debajo de los puntos no anómalos, se calcula el límite superior como:

l_max = p + abs(p-q)*(d1/(d1+d2))

siendo

l_max 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 a la frontera de decisión del punto no anómalo asociado a dicho valor p, y

d2 la distancia a la frontera de decisión del punto anómalo asociado a q;

y se calcula el límite inferior como:

l_min = p - abs(p-q)*(d1/(d1+d2))

siendo

l_min 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 a la frontera de decisión del punto no anómalo asociado a dicho valor p, y

d2 la distancia a la frontera 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_max = p + abs(p-q)*(d1/(d1+d2))

siendo

l_max 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 a la frontera de decisión del punto no anómalo asociado a dicho valor p, y

d2 la distancia a la frontera de decisión del punto anómalo asociado a q;

y se calcula el límite inferior como:

l_min = p*e

siendo

l_min 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 ;

cuando hay anomalías por debajo de los puntos no anómalos pero no por encima, se calcula el límite superior como:

l_max = p*k

siendo l_max 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 ;

y se calcula el límite inferior como:

l_min = p - abs(p-q)*(d1/(d1+d2))

siendo

l_min 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 a la frontera de decisión del punto no anómalo asociado a dicho valor p, y

d2 la distancia a la frontera de decisión del punto anómalo asociado a q;

cuando no hay anomalías para la combinación de categorías del dato, se calculan los límites inferior y superior respectivamente de la siguiente forma:

l_min = p*e

l_max = p*k

siendo l_min 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_max 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 método de acuerdo con cualquiera de las reivindicaciones anteriores, caracterizado por que si 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 del dato, 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, donde 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 del dato. 8. Un producto de programa informático que comprende un código de programa informático configurado para realizar el método 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 por que comprende instrucciones para hacer que un dispositivo informático realice el método definido según cualquiera de las reivindicaciones 1-7.

Description:
MÉTODO PARA DETECTAR ANOMALÍAS EN COMUNICACIONES DE DATOS

DESCRIPCIÓN

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 método 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 (en inglés,“Cali Center”).

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 (“insights”, en inglés) 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 inglés).

En este contexto y para un Centro de Llamadas (CC, siglas por el término “Cali 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í, el dato 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 de Máquina (ML:“Machine Learning”, en inglés) 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 (Explainable Artificial Intelligent, en inglés) se refiere a técnicas de IA que son de confianza y fácilmente comprensibles por los 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., 2018 IEEE 5th International Conference on Data Science and Advanced Analytics (DSAA), pp. 80-89, 2018, October; y“A survey of methods for explaining black box models” de Guidotti, R. et al., ACM computing surveys (CSUR), 51 (5), 93, 2018.) se dice que un modelo de explicaciones es:

* Modelo de explicaciones local, porque proporciona justificaciones sobre por qué es anómalo cada punto en concreto considerado como anomalía.

* Modelo de explicaciones especifico, 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 amigable para el usuario, 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 cíase Support Vector Machines”, de Junshui Ma y Simón Perkins, 2003) se encuentra el uso del algoritmo no supervisado OneClass SVM (SVM significa Máquina de Vectores de Soporte o“Support Vector Machine”, en inglés) para la detección de anomalías en datos temporales y ha sido validado por la investigación científica aplicada.

El problema técnico objetivo que se presenta es pues proveer un método 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 método 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 método 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 rejilla para obtener al menos una combinación de hiperparámetros con la que entrenar el modelo no paramétrico;

aplicar una función núcleo de base radial (RBF) para identificar anomalías en un período de tiempo de aplicación dado, usando una frontera 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, la frontera de decisión que se usa es calculada de acuerdo a los hiperparámetros obtenidos, y el modelo no paramétrico calcula una distancia de la variable continua del dato estandarizado al valor de la frontera de decisión calculado para dicha misma variable y particularizada para cada combinación de valores de las variables categóricas del dato; 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 dato y categoría del dato, 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 método 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:“Digital Signal Processor”, en inglés), una matriz de puertas programables en campo (FPGA: “Field- Programmable Gate Array”, en inglés), un circuito integrado de aplicación específica (“application-specific integrated Circuit, en inglés), 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 método descrito anteriormente.

Las ventajas de la presente invención frente al estado de la técnica anterior son fundamentalmente:

Constituye un método genérico de detección de anomalías en las comunicaciones de datos y generación de explicaciones por ÍA 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 métodos aplicables, como el método de la distribución normal que asume una distribución normal de los datos para categoría del dato definida, el método 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 ios 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 métodos, 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 “bosques de aislamiento” o“Isolation Forests”, en inglés; algoritmo del factor de valor atípico local o "Local Outlier Factor” -LOF-, en inglés;...).-, en inglés;...).

El método propuesto utiliza un enfoque que desentraña ios 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 método 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 método para detectar anomalías, según una realización preferente de la invención.

FIGURA 4 Muestra ejemplos de fronteras 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 método 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 método.

REALIZACIÓN PREFERENTE DE LA INVENCIÓN

Se describe un método 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 o“Cali Center”.

Este método puede definir fronteras no lineales que intentan separar los puntos considerados no anómalos de los considerados como anomalías. Esa frontera depende del tipo de función núcleo o función kernel utilizada. Por ejemplo, utilizando el popular núcleo RBF (“Radial Basis function”, en inglés) o función núcleo de base radial, la frontera es circular/esférica 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 librería Scikit-learn, que es una biblioteca para aprendizaje de máquina (“machine learning”, en inglés) de software libre usada en el lenguaje de programación Python.

El algoritmo utilizado tiene como entrada una matriz con las diferentes características (“features”, en inglés) 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:

• Dato: 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 (“features”): 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 núcleo RBF. Como se muestra en la Figura 1 , hay una frontera de decisión esférica/elíptica 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 a la frontera de decisión. Con ello calcula el valor de dicha frontera 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 método 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 método 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 de la frontera 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 a la frontera 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 a la frontera 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_max = p + abs(p-q)*(d1/(d1 +d2))

siendo l_max 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 a la frontera de decisión del punto no anómalo asociado a dicho valor p, y d2 la distancia a la frontera de decisión del punto anómalo asociado a q.

Análogamente, para el límite inferior:

l_min = p - abs(p-q)*(d1/(d1 +d2))

siendo l_min 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 a la frontera de decisión del punto no anómalo asociado a dicho valor p, y d2 la distancia a la frontera 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_min = p*e

siendo l_min 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_max = p*k

siendo l_max 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_min = p*e

l_max = p*k

siendo l_min 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_max 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 dicho dato (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 en time)

• 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 método 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 media X de 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 rejilla (“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 métodos conocidos en el estado de la técnica de la minería de datos, entre los que destaca un método llamado MIES (descrito por Y. Xiao , H. Wang , W. Xu , en “Parameter selection of Gaussian kernel for one-class SVM”, IEEE Transactions on Cybernetics, Vol. 45, Issue 5, p.p. 941-953, 2015), que equilibra muy bien la simplicidad del método y el rendimiento de ejecución. MIES propone una forma de realizar un“grid search” para OneClassSVM siempre que el núcleo utilizado sea RBF. MIES calcula la distancia normalizada, ND, de los datos (datos objetivo) a la frontera de decisión, para ambos puntos de datos fuera de la frontera 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 de la frontera de decisión. Esto evita el ajuste insuficiente (“underfitting”, en inglés), es decir, que se detectan demasiadas anomalías, ya que la frontera de decisión obtenida 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. La frontera de decisión debe inferirse capturando la realidad de los datos subyacentes, para incluir que los EP estén lo más cerca posible de la frontera de decisión.

- Grid o búsqueda (6):

Un aspecto importante a considerar en este punto es que el modelo OneClassSVM 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 (“Rejection rate”, en inglés): 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 fronteras de decisión obtenidos para diferentes casos de uso utilizando el anteriormente descrito y conocido método MIES. El ejemplo de la derecha, Figura 4 (c), muestra una frontera de decisión obtenida intentando solo maximizar la distancia desde los IP hasta la frontera de decisión. El ejemplo de la izquierda, Figura 4 (a), muestra una frontera de decisión obtenida solo intentando minimizar la distancia desde los EP hasta la frontera 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) = max ND(xi) - max ND(xj)

siendo xi los patrones interiores, xj los patrones de borde y ND la distancia normalizada. Max 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, a la frontera 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 método elegido y podrían integrarse para el caso en que se eligiese un método 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 método 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 lim max y límite mínimo lim min, en función de dicho porcentaje de datos considerado a, la media m y la desviación típica o de la distribución de datos, según las siguientes ecuaciones:

Persistir límites (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 método 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 (“oversampling”, en inglés) y/o submuestreo (“undersampling”, en inglés) 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 método no paramétrico, en otra posible realización, se puede automatizar la selección entre el método paramétrico y el método 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.