Saltar al contenido principal

Machine learning, score y forecast

SPOT aprende el comportamiento esperado de cada fuente, métrica, parámetros y serie. adaptive-robust-v3 está orientado a precisión: un score alto exige que el cambio sea raro, material y perjudicial para la salud de esa métrica.

ML complementa los thresholds. No confirma una causa raíz ni sustituye Events, Jobs, Alerts o el contexto SAP.

Controles globales

El menú global Analysis empieza desactivado y permite mostrar:

  • Static thresholds: líneas warning y critical.
  • Expected range: banda calibrada y valor típico.
  • Forecast: predicción de las próximas 24 horas.
  • ML score points: puntos sobre la serie real y selector de score 0–100.

El ajuste se aplica a todas las gráficas temporales compatibles. Al expandir una gráfica puedes activar Forecast o ML scores sólo para ese modal.

Qué aprende el modelo

  • Usa hasta 42 días de observaciones en buckets internos de 5 minutos.
  • Trabaja en la zona horaria de la fuente para respetar el ciclo diario, semanal y los cambios de horario.
  • Compara modelos de nivel/tendencia, estacionalidad diaria, semanal, combinada y señales esporádicas. Conserva el modelo más sencillo que obtenga una precisión equivalente en validación temporal.
  • Calibra la banda esperada con errores de predicciones pasadas que no vieron el futuro.
  • Permanece warming_up hasta disponer de al menos 21 días, tres ciclos completos y 70 % de cobertura.

La cobertura respeta la cadencia canónica de cada métrica. Por ejemplo, las tasas de error ICM se recogen cada 15 minutos aunque el motor mantenga buckets internos de cinco minutos; esas muestras regulares no se contabilizan como datos ausentes.

SPOT consulta los 42 días en fragmentos de siete días y, si una consulta es demasiado grande o agota su tiempo, la divide hasta seis horas. Sólo publica el modelo cuando la ventana está completa; un fragmento fallido deja la variante en training_error y no crea un modelo parcial.

Cada vista usa la identidad exacta de fuente, metricId, parámetros y clave canónica de serie. Un nombre visible no se usa para unir modelos. El score de una observación corresponde sólo a ese timestamp; SPOT no reutiliza el último score para un valor más reciente.

Cómo interpretar el score

El score 0–100 combina:

  • Rareza: qué probabilidad tenía una desviación igual o mayor según el patrón calibrado.
  • Impacto: cuánto supera el cambio un mínimo material para la unidad y la escala habitual.
  • Dirección: en latencia, utilización, errores o edad suele importar la subida; en espacio libre, disponibilidad o ratios saludables, la bajada.
  • Persistencia: además del punto actual, se revisan ventanas de 3, 6 y 12 observaciones nuevas.

Una mejora no abre una incidencia ML. Por ejemplo, bajar la latencia o aumentar el espacio libre puede salir de la banda, pero no representa degradación.

La escala está calibrada para que 75 represente aproximadamente una desviación rara y 90 una desviación mucho más excepcional, siempre que el impacto también sea material. Los thresholds efectivos siguen siendo configurables con 0 ≤ warning < critical ≤ 100.

Picos, persistencia y alertas

Un punto aislado puede aparecer en la gráfica como evidencia sin abrir una incidencia. Con el perfil predeterminado de precisión, ML requiere dos observaciones anómalas distintas durante al menos cinco minutos. Sólo un evento excepcional de score 100 e impacto extremo puede abrirse con un punto.

Repetir la evaluación del mismo bucket no incrementa la persistencia ni genera otra incidencia. Dos observaciones sanas distintas resuelven la condición ML. Los estados warming_up, no_recent_data, insufficient_history, insufficient_coverage, training_error, no_matching_series o unavailable no disparan ML.

Forecast y explicación

El forecast cubre 24 horas con el modelo seleccionado y una banda calibrada. La línea Now separa histórico y futuro. El tooltip muestra esperado, mínimo, máximo, confianza y modelo. La confianza refleja la cobertura observada durante la validación, no sólo el número de muestras.

Baseline y forecast muestran estados independientes. Un forecast disponible no oculta que el baseline todavía esté calentando o no tenga cobertura suficiente. Los mensajes distinguen datos recientes ausentes, historia o cobertura insuficiente, error de entrenamiento, serie no coincidente e indisponibilidad. Los forecasts listos se actualizan una vez por hora.

Si warming_up permanece sin cambios durante más de un ciclo de entrenamiento aunque la gráfica siga recibiendo datos recientes, revisa Alerts → ML coverage. El estado debe reflejar cobertura o historia insuficiente; un error de procesamiento persistente requiere revisión del administrador de SPOT.

En la gráfica y en Alert Center puedes revisar:

  • valor observado, valor típico y banda;
  • cambio absoluto y relativo;
  • point score y multi-bucket score;
  • rareza, impacto, dirección y persistencia;
  • modelo, muestras efectivas, cobertura y motivos del score.

Consulta Alerts → ML coverage para confirmar versión, generación, zona horaria, estado, cobertura, calibración y última inferencia antes de usar una regla ML. Forecast sigue siendo evidencia visual y no abre alertas predictivas.