Skip to main content

Funcionamiento de la detección de anomalías

 

Modelo

El modelo utilizado es un Autoencoder, una red neuronal especializada en aprendizaje no supervisado. Su propósito principal es reducir la dimensionalidad de los datos y luego reconstruirlos. Se compone de un codificador que comprime la entrada en un espacio latente de menor dimensión y un decodificador que intenta reconstruir la entrada original. El entrenamiento implica alimentar los mismos datos a la entrada y salida del modelo, optimizando la función de pérdida que mide el error de reconstrucción.

Recolección de datos

Los datos históricos de módulos se recolectan desde la base de datos, indicando la fecha a partir de la que se buscarán los datos con el parémetro --time_data, y el intervalo de datos con el parámetro --time_interval. Se puede indicar un número mínimo de datos con --level_data.

Evaluación de los datos

La evaluación de anomalías se basa en el cálculo del error de reconstrucción entre el dato original y su versión reconstruida por el modelo Autoencoder. Primero, se preparan los datos de entrenamiento y prueba, donde se utiliza la secuencia de datos hasta el penúltimo valor para entrenar el modelo y el último valor se considera el dato que se evaluará para detectar anomalías.

Una vez entrenado el modelo, se realiza una predicción en el último valor de prueba para obtener su versión reconstruida . A continuación, se calcula el error de reconstrucción como la media del valor absoluto de la diferencia entre el dato original y su versión reconstruida.

Además, se calcula la media y la desviación estándar de los errores de reconstrucción de los datos de entrenamiento. Ajustando un umbral basado en la desviación estándar (multiplicada por un factor), se determina si el último valor es una anomalía o no. Si el error de reconstrucción es mayor que el umbral, se considera una anomalía. De lo contrario, no se consideraría anomalía.

Este enfoque de evaluación de anomalías permite identificar valores atípicos en la secuencia de datos, ya que el modelo Autoencoder aprende a representar patrones normales en el espacio latente y encuentra dificultades en reconstruir datos anómalos, generando una discrepancia significativa entre la entrada original y la versión reconstruida.