Explicar anomalías detectadas por el machine learning de Elastic

blog-thumb-blind-spots.png

¿Qué es anómalo? ¿Por qué la puntuación de anomalía no es más alta? La detección de anomalías es una característica de machine learning valiosa que se usa en Elastic Security y Observability. Pero esos números ciertamente pueden ser confusos. Si solo alguien pudiera explicarlos en un idioma claro. O, incluso mejor, graficarlos.

En Elastic 8.6, mostramos detalles adicionales de los registros anómalos. Estos detalles permiten ver el detrás de escena del algoritmo de puntuación de anomalías.

Ya escribimos antes sobre la puntuación y la normalización de anomalías en este blog. El algoritmo de detección de anomalías analiza en línea series temporales de datos. Identifica tendencias y patrones periódicos en distintas escalas temporales, como un día, una semana, un mes o un año. Los datos del mundo real suelen ser una combinación de tendencias y patrones periódicos en distintas escalas temporales. Además, lo que en principio parece ser una anomalía puede terminar siendo un patrón recurrente emergente.

El trabajo de detección de anomalías genera hipótesis que explican los datos. Pondera y combina estas hipótesis con la evidencia proporcionada. Todas las hipótesis son distribuciones de probabilidad. Por lo tanto, podemos definir un intervalo de confianza de qué tan "normales" son las observaciones. Las observaciones que no se encuadran en este intervalo de confianza son anómalas.

Factores que afectan la puntuación de anomalía

Probablemente pienses: bien, esta teoría es clara. Pero cuando veamos algún comportamiento inesperado, ¿cómo cuantificamos qué tan fuera de lo común es? 

Tres factores componen la puntuación de anomalía inicial que asignamos a los registros: 

  • Impacto de cubeta única
  • Impacto multicubeta
  • Impacto de características de anomalía

A modo de recordatorio, los trabajos de detección de anomalías dividen los datos temporales en cubetas de tiempo. Los datos en una cubeta se agregan mediante funciones. La detección de anomalías ocurre en los valores de la cubeta. Lee este blog para obtener más información sobre las cubetas y por qué es fundamental elegir el intervalo adecuado para la cubeta. 
Primero, observamos la probabilidad del valor real en la cubeta, dada la combinación de hipótesis. Esta probabilidad depende de la cantidad de valores similares que hemos visto anteriormente. Con frecuencia, está relacionada con la diferencia entre el valor real y el valor típico. El valor típico es el valor medio de la distribución de probabilidades de la cubeta. Esta probabilidad lleva al impacto de cubeta única. Por lo general, domina la puntuación de anomalía inicial de un aumento repentino o una caída breves.

Segundo, analizamos las probabilidades de observar los valores en los valores de cubeta actual junto con las 11 cubetas anteriores. Las diferencias acumuladas entre los valores reales y típicos dan como resultado el impacto multicubeta en la puntuación de anomalía inicial de la cubeta actual.

Explayémonos sobre esta idea, dado que el impacto multicubeta es la segunda causa más común de confusión relacionada con las puntuaciones de anomalía. Observamos las desviaciones combinadas en 12 cubetas y asignamos el impacto a la cubeta actual. Un alto impacto multicubeta indica un comportamiento inusualen el intervalo que precede a la cubeta actual. No importa que el valor de la cubeta actual puede estar nuevamente en el intervalo de confianza del 95 %. 

Para resaltar esta diferencia, incluso usamos distintos marcadores para las anomalías con alto impacto multicubeta. Si miras de cerca la anomalía multicubeta en la figura anterior, puedes ver que la anomalía está marcada con un signo de cruz "+" en lugar de un círculo. 

Por último, consideramos el impacto de las características de la anomalía, como la duración y el tamaño. Aquí tomamos en cuenta la duración total de la anomalía hasta ahora, no un intervalo fijo como antes. Puede ser una cubeta o treinta. La comparación de la duración y el tamaño de la anomalía con los promedios históricos permite la adaptación al dominio del cliente y los patrones en los datos.

Además, el comportamiento predeterminado del algoritmo es asignar un puntaje mayor a las anomalías más prolongadas, en comparación con los aumentos repentinos breves. En la práctica, las anomalías breves suelen ser errores en los datos, mientras que las prolongadas requieren tu intervención.

¿Por qué necesitamos ambos factores con intervalos fijos y variables? Combinarlos lleva a una detección más confiable del comportamiento anormal en varios dominios. 

Registrar la reducción de la puntuación

Ahora es momento de hablar sobre la fuente más común de confusión en la puntuación: renormalización de la puntuación. Las puntuaciones de anomalía se normalizan en el rango de 0 a 100. Los valores cercanos a 100 representan las anomalías más importantes que el trabajo ha visto hasta el momento. Esto significa que cuando vemos una anomalía más importante que nunca, debemos reducir las puntuaciones de las anomalías anteriores.

Los tres factores descritos anteriormente afectan el valor de la puntuación de anomalía inicial. La puntuación inicial es importante porque se alerta al operador según dicho valor. A medida que ingresan datos nuevos, el algoritmo de detección de anomalías ajusta las puntuaciones de anomalía de los registros anteriores. El parámetro de configuración renormalization_window_days especifica el intervalo de tiempo de este ajuste. Por lo tanto, si te preguntas por qué una anomalía extrema muestra una puntuación de anomalía baja, puede deberse a que el trabajo ha visto posteriormente anomalías incluso más importantes. 

El Single Metric Viewer (Visualizador de métrica única) en Kibana 8.6 destaca este cambio.

Otros factores para la reducción de la puntuación

Otros dos factores pueden llevar a la reducción de la puntuación inicial: intervalo de variación alto y cubeta incompleta. 

La detección de anomalías es menos confiable si la cubeta actual es parte de un patrón estacional con alta variabilidad de datos. Por ejemplo, quizá tengas trabajos de mantenimiento de los servidores que se ejecutan todos los días a medianoche. Estos trabajos pueden llevar a una alta variabilidad en la latencia del procesamiento de solicitudes. 

Además, es más confiable si la cubeta actual recibió una cantidad similar de observaciones a lo esperado históricamente.

La combinación de todo

Con frecuencia, las anomalías del mundo real muestran el impacto de diversos factores. En general, la nueva vista detallada del visualizador de métrica única puede verse de la siguiente manera.

También puedes encontrar esta información en el campo anomaly_score_explanation de la API para obtener registros.

Conclusión

Deberías probar la versión más reciente de Elasticsearch Service en Elastic Cloud y observar la nueva vista detallada de registros de anomalía. Inicia tu prueba gratuita de Elastic Cloud hoy para acceder a la plataforma. ¡Feliz experimentación!