Información seca | La tasa de recuperación de fallas aumentó en un 34%, la práctica inteligente de detección de anomalías de Ctrip

Sobre el Autor

Ling Yi es ingeniero de algoritmos en Ctrip y se centra en áreas como alarmas inteligentes, gestión de capacidad y localización de causas raíz.

1. Antecedentes

Como empresa de viajes en línea, Ctrip ofrece una amplia gama de productos de viaje, como boletos de avión, hoteles, boletos de tren, vacaciones, etc. La estabilidad de su sistema está relacionada con si los usuarios tienen una experiencia de viaje fluida. Sin embargo, los aumentos repentinos de tráfico, las publicaciones de códigos, los cambios de operación y mantenimiento, etc. traerán desafíos a la estabilidad del sistema.

Hemos propuesto el objetivo "1-5-10" para la "eficiencia de descubrimiento-ubicación-resolución" de fallas de producción en 2020 (es decir, encontrar fallas en un minuto, localizar fallas en cinco minutos y resolver fallas en diez minutos). ) Esto sin duda tendrá un impacto positivo en el control y la alarma. Se exigieron mucho. El volumen de pedidos es el indicador principal y más obvio en los escenarios de detección de anomalías de fallas de producción. El volumen de pedidos tiene las características de periodicidad, aumento y caída regulares, picos y caídas comerciales, etc. Los factores que influyen incluyen días festivos, promociones, etc. Es muy poco realista que decenas de miles de líneas de negocios cubran todos los escenarios comerciales mediante la configuración manual de reglas y logren altas tasas de precisión y recuperación. Por lo tanto, existe una necesidad urgente de un sistema de algoritmo de detección de anomalías inteligente con bajo esfuerzo de configuración, gran universalidad, alta precisión y alta puntualidad para detectar anomalías de manera oportuna.

La detección de anomalías de indicadores es un escenario de implementación importante en el campo de la operación y el mantenimiento inteligentes. El equipo de Ctrip AIOPS se compromete a mejorar la calidad de las alarmas y encontrar un equilibrio entre la eficiencia de las alarmas, la precisión y la tasa de recuperación de fallas reales. Combinamos métodos estadísticos con métodos de aprendizaje automático y utilizamos múltiples modelos entrenados para formar un sistema de detección de anomalías basado en los datos históricos de los indicadores. Sobre la base de cubrir fallas reales, podemos reducir la cantidad de alarmas y generar alarmas más valiosas.

2. Mejora de la calidad de la alarma

2.1 Predicciones más precisas

Los algoritmos de detección de anomalías de series de tiempo generalmente predicen indicadores y determinan si el tiempo T es anormal comparando la desviación entre el valor real y el valor predicho. En comparación con otros algoritmos, el algoritmo de detección de anomalías de series temporales es adecuado para más tipos de datos y el efecto de detección también es óptimo.

Para lograr un pronóstico preciso de las líneas de negocios, probamos varios métodos de pronóstico de series de tiempo, como ARIMA, Holt-Winter y LSTM en la etapa inicial. Los indicadores de negocios de pedidos de Ctrip tienen un fuerte carácter cíclico, y la capacidad del modelo LSTM para capturar los patrones de secuencia a largo y corto plazo da como resultado que su efecto de predicción sobre los indicadores cíclicos sea mejor que otros modelos. Utilizamos los datos de las 10 series de tiempo más cercanas al momento actual como entrada del modelo LSTM y utilizamos una ventana deslizante para predecir continuamente el valor del indicador en el futuro.

En la mayoría de los escenarios, el efecto de predicción del modelo LSTM es muy bueno, sin embargo, cuando el indicador disminuye lentamente, es difícil juzgar las anomalías en un corto período de tiempo. A medida que la ventana continúa deslizándose, los datos de entrenamiento contienen anomalías. , provocando que el valor predicho esté sesgado.

Para resolver este problema, se utilizan pruebas de hipótesis para juzgar la tendencia actual del indicador. Creemos que el valor del indicador en el corto plazo debe tener un cierto grado de aleatoriedad y no tendrá una tendencia evidente al alza o a la baja. Cuando la prueba de hipótesis cree que el indicador tiene una tendencia ascendente o descendente en el período actual, los datos de entrada del modelo LSTM ya no se actualizarán y los datos de entrada de la ventana anterior seguirán utilizándose para la predicción.

Cuando la prueba de hipótesis determine que no hay una tendencia ascendente o descendente en los datos actuales, se actualizarán los datos de entrada de LSTM. Al realizar un análisis de tendencias, no se debe incluir la tendencia del indicador en sí. Por lo tanto, los datos de series de tiempo que podemos usar son muy limitados. En este escenario, el método de prueba no paramétrico es mejor que la prueba paramétrica. Por lo tanto, utilizamos Estadístico U de Mann-Whitney para análisis de tendencias. Para evaluar el desempeño de diferentes modelos, seleccionamos tres líneas de negocios y utilizamos el error absoluto medio (MAE) como índice de evaluación para comparar. Los resultados experimentales muestran que el modelo LSTM ajustado por análisis de tendencia tiene el valor MAE más pequeño, lo que indica el mejor efecto de predicción.


ARIMA

Holt-invierno

LSTM

Ajuste LSTM

línea de negocio AA

0.01519

0.02024

0.01995

0.01483

línea de negocio BB

0.02975

0.03064

0.02919

0.02612

línea de negocio CC

0.02314

0.02542

0.02108

0.01690

Tabla 1 Efectos de predicción de diferentes modelos

La introducción del análisis de tendencias ha mejorado la precisión de la predicción del modelo LSTM (Figura 1), ya sea la identificación de anomalías puntuales (anomalías de datos que son significativamente diferentes de otros puntos) o anomalías de continuidad (indicadores que fluctúan dentro del rango normal, sin embargo , el patrón de fluctuación ha sufrido cambios significativos) y se ha sentado una mejor base.         f1e8e6e023ec6bef31d8f820eb6ea1b8.jpeg

Figura 1

2.2 Cálculo del umbral adaptativo

Inicialmente, el personal de I+D establecía un sistema experto de "reglas artificialmente especificadas" basadas en su propia comprensión del negocio. Al mismo tiempo, para garantizar el 100% de recuperación de las fallas, los umbrales se establecían con relativa sensibilidad. Este sistema no sólo tiene problemas de baja precisión y altos costos de mantenimiento, sino que también puede generar tormentas de alarmas, que pueden paralizar a los destinatarios de la alerta y provocar fallas más graves.

Para resolver este problema, partimos de los datos mismos y construimos un modelo estadístico apropiado basado en la volatilidad de los datos mismos para implementar el cálculo adaptativo de umbrales.

Para facilitar la medición del grado de anomalía, definimos el estadístico Z, asumiendo que el valor actual es ea8a4ac3012bc55df329bef453539b8f.pngy el valor predicho es 2fc028aa3b2281b620ee441edb694fe1.png. Cuando el valor predicho es muy cercano al valor real, el valor Z es cercano a 0; cuanto mayor es la desviación, mayor es el valor absoluto de Z (Figura 2). La probabilidad de que ocurra un evento anormal es muy pequeña. En circunstancias normales, el valor predicho está muy cerca del valor real, es decir, el valor de la estadística Z fluctúa aleatoriamente alrededor del eje X en diferentes momentos. El análisis de datos encontró que la media y la varianza del estadístico Z calculado en función de diferentes períodos de tiempo son constantes que no tienen nada que ver con el tiempo T, lo cual es totalmente consistente con la definición de serie de tiempo estacionaria. Por lo tanto, creemos que la serie de tiempo Z es una serie de tiempo estacionaria.

fe0a9760be9b04fc0fd4b3d63209fb94.png

Cuando los datos son estables, la industria generalmente estima la distribución de los indicadores y utiliza umbrales superiores o inferiores para detectar anomalías en escenarios ascendentes o descendentes. El método de estimar la distribución de un indicador se llama estimación de densidad. En estadística, los métodos de estimación de densidad incluyen métodos paramétricos y métodos no paramétricos. El método de estimación paramétrica supone que la muestra obedece a una determinada distribución y luego realiza estimaciones de intervalo y estimaciones puntuales basadas en la distribución supuesta; el método no paramétrico generalmente no utiliza conocimientos previos sobre la distribución de los datos, no hace suposiciones sobre la distribución de datos y toma decisiones basadas en los datos mismos.

La práctica ha demostrado que el método no paramétrico Estimación de la densidad del núcleo (KDE) tiene un mejor efecto de ajuste sobre el indicador Z que el método gaussiano. Por lo tanto, utilizamos el método KDE para estimar la distribución del indicador Z, considerando que la probabilidad de eventos anormales Es mucho más pequeño que el de los eventos normales. Después de verificación y ajuste continuos, generalmente elegimos el percentil 99,99 como umbral para el juicio de anormalidad.

Descubrimos que existen diferencias significativas en la volatilidad de los indicadores en diferentes períodos de tiempo dentro de un día. Durante los mínimos comerciales, los indicadores son más aleatorios y la volatilidad es relativamente mayor. Si no se tiene en cuenta la volatilidad de los indicadores en diferentes momentos y solo se configura un umbral para cada línea de negocio, dado que los umbrales se promedian, las falsas alarmas pueden aumentar durante los períodos de baja actividad y las fallas verdaderas no se pueden recuperar durante las horas pico de actividad. .

En estadística, la desviación estándar y el coeficiente de variación se utilizan para medir la volatilidad de los indicadores. En comparación con la desviación estándar, el coeficiente de variación elimina la influencia de las dimensiones, lo que facilita la comparación de la volatilidad entre diferentes indicadores. Con base en el valor del coeficiente de variación del indicador en diferentes períodos, dividimos las 24 horas del día en áreas de baja volatilidad y áreas de alta volatilidad, es decir, mientras una línea de negocio se adapte a dos conjuntos de umbrales, puede lograr estabilidad 24 horas al día, 7 días a la semana Monitoreo intermitente.

08a76f71b5292d3b6130f80c86ea739c.jpeg

Figura 2

A través del método anterior, se logra el cálculo adaptativo y la optimización del umbral del sistema de alarma, y ​​se mejoran significativamente la precisión de la alarma y la tasa de recuperación de fallas. En comparación con el método de especificar umbrales artificialmente, la tasa de recuperación de fallas aumenta en un 34%.

2.3 Análisis de tendencias comerciales

Descubrimos que es difícil utilizar un único algoritmo de detección de anomalías para lograr la universalidad en múltiples indicadores. Para mejorar aún más la calidad de las alarmas, es necesario combinar otros algoritmos para lograr el filtrado de anomalías capa por capa. A continuación se describirá cómo utilizamos modelos de regresión lineal para detectar anomalías en el orden de los indicadores comerciales.

Desde una perspectiva macro, los pedidos fluctúan cíclicamente a lo largo del tiempo. Si la ventana de tiempo se limita a los minutos limitados más cercanos, se puede utilizar un modelo lineal para ajustarse a la tendencia del negocio. Antes del pico de negocio, los valores observados continúan aumentando a medida que pasa el tiempo, y después del pico, los valores observados continúan disminuyendo a medida que pasa el tiempo. Dado que el algoritmo de regresión robusto de Huber-Regression asigna pesos más pequeños a los valores de observación identificados como valores atípicos, se puede obtener una línea de regresión más ideal independientemente de si los datos de entrenamiento contienen valores atípicos.

Por lo tanto, finalmente utilizamos el algoritmo de Regresión de Huber para realizar un análisis predictivo de los valores de observación dentro de la ventana de corto plazo del indicador. Para juzgar la situación anormal del indicador en el momento T, es necesario medir la volatilidad del indicador dentro de la ventana. La distancia entre el punto de observación y la línea recta ajustada es una manifestación de la volatilidad del indicador. Para indicadores fuertemente periódicos, se puede establecer un umbral más sensible; cuando la dimensión general del indicador es relativamente pequeña y el comportamiento del usuario tiene un mayor impacto en la forma de la curva, la sensibilidad de detección de anomalías se puede reducir adecuadamente.

La introducción del análisis de tendencias comerciales puede reducir eficazmente las falsas alarmas causadas por la fluctuación del indicador, mejorando así la precisión de las alarmas. El análisis de tendencias comerciales puede ayudarnos a comprender mejor las tendencias actuales en el negocio y así determinar anomalías con mayor precisión. Mediante la introducción del análisis de tendencias comerciales, la tasa de precisión de las alarmas aumentó en un 30%.

2.4 Anomalías periódicas

Las anomalías cíclicas se refieren a fluctuaciones o cambios cíclicos en uno o más indicadores dentro de un cierto rango de tiempo, que generalmente son inconsistentes con las tendencias y patrones normales y se manifiestan como un aumento o disminución repentinos en un corto período de tiempo. Las alarmas periódicas son una falsa alarma relativamente obvia y representan una gran proporción del número total de alarmas. Si no se abordan de manera específica, afectarán gravemente la experiencia del usuario.

Para filtrar anomalías periódicas, se debe considerar el desplazamiento de las anomalías periódicas en la dimensión temporal. La distorsión de tiempo dinámica (DTW) es un algoritmo utilizado para comparar la similitud de dos series de tiempo. Puede alinear las dos series de tiempo en la línea de tiempo, eliminando así el desplazamiento en el tiempo y haciendo que se correspondan en el tiempo. Los puntos están más cerca. Para detectar anomalías periódicas se pueden seguir los siguientes pasos:

  • El algoritmo DTW se utiliza para lograr una coincidencia óptima entre los datos del período actual y los datos históricos, eliminando así las compensaciones de tiempo y mejorando la precisión de la detección de anomalías periódicas.

  • Extraiga características anormales basadas en datos actuales y datos de coincidencia óptima, como período, amplitud, fase, etc. Estas características deben describir la anomalía actual tanto como sea posible.

  • Utilice algoritmos de clasificación para juzgar características anormales y llegar a una conclusión sobre si la anomalía actual es una anomalía periódica.

Mediante el método anterior, se logra un filtrado preciso de anomalías periódicas y las falsas alarmas periódicas se reducen en un 80%, lo que juega un papel muy importante en la mejora de la calidad de las alarmas.

3. Resumen

El sistema inteligente de detección de anomalías incluye capacitación fuera de línea y detección en línea en tiempo real (Figura 3). Dado que el negocio cambia rápidamente y los datos históricos distantes son de poca referencia, se utilizan 14 días de datos históricos para entrenar el modelo de predicción y los umbrales de cálculo adaptativo.

Es necesario preprocesar los datos históricos, que incluyen principalmente los siguientes aspectos:

1) Es necesario eliminar los datos anormales generados por eventos anormales, como eventos externos como períodos de tiempo RCA, ventas flash, exámenes, etc., que provocan aumentos repentinos en los indicadores. Al mismo tiempo, se utiliza un método de ventana deslizante para completar los valores faltantes en intervalos anormales.

2) Para mejorar la solidez del modelo y eliminar el impacto de los puntos de rebaba de datos, se utiliza una ventana deslizante para suavizar los datos.

3) Normalice los datos para garantizar que el modelo de predicción de LSTM pueda converger rápidamente y mejorar la precisión de la predicción del modelo.

El algoritmo de detección en línea incluye: un módulo de predicción de referencia y un conjunto de métodos de detección de anomalías no supervisados. Las funciones principales del módulo de predicción de línea de base son la predicción de series de tiempo y la extracción de características anormales. El conjunto de métodos de detección de anomalías no supervisadas incluye algunos algoritmos estadísticos de detección de anomalías, como Boxplot, K-sigma y KDE. Ya sea una anomalía puntual o una anomalía continua, se utilizarán varios métodos de detección no supervisados ​​para detectarla en función del conjunto de características anormales y, finalmente, se utilizará un método de votación para sacar una conclusión sobre si el tiempo T es anormal.

814ae0f1aa0792ed1774c549b5faf9fb.png

imagen 3

El sistema inteligente de detección de anomalías se utiliza en Ctrip desde hace más de tres años. Durante este período, nos topamos con varios desafíos. Después de repetidos esfuerzos, se han logrado buenos resultados. La precisión de las alarmas y las tasas de recuperación se han mejorado significativamente y la mayoría de las fallas se pueden descubrir en un minuto.

[Lectura recomendada]

9fea0329d718d1da598323cd1800cd19.jpeg

 Cuenta pública “Tecnología Ctrip”

  Compartir, comunicar, crecer

Supongo que te gusta

Origin blog.csdn.net/ctrip_tech/article/details/132094729
Recomendado
Clasificación