Aviso:

Para brindarle información de soporte completa de manera más rápida, el contenido de esta página ha sido traducido al español mediante traducción automática. Para consultar la información de soporte más precisa, consulte la versión en inglés de este contenido.

Algoritmos de Detección de Anomalías

La detección de anomalías es una técnica de aprendizaje automático no supervisado que se centra en identificar puntos de datos, eventos u observaciones que se desvían significativamente de la mayoría de los datos. Estos valores atípicos pueden representar incidentes críticos como fraudes, intrusiones en la red, fallos de equipos o problemas de calidad de datos. En lugar de predecir etiquetas predefinidas, los modelos de detección de anomalías aprenden el comportamiento normal dentro de los datos y señalan las desviaciones que pueden requerir atención.

Nota: La función de Detección de Anomalías está disponible en acceso anticipado en todos los centros de datos. Para utilizarla, solicite acceso a través de support@zohocatalyst.com
Para obtener una comprensión conceptual de la detección de anomalías, consulte la Documentación de Ayuda de Detección de Anomalías.

La detección de anomalías en Catalyst QuickML se clasifica ampliamente en Series Temporales y No Series Temporales, cada una ofreciendo su propio conjunto de algoritmos y parámetros configurables.

Dentro de Catalyst QuickML, la detección de anomalías para datos de series temporales se centra en identificar patrones anormales o desviaciones en puntos de datos secuenciales a lo largo del tiempo. Estos métodos tienen en cuenta las dependencias temporales y la estacionalidad, permitiendo la detección de picos repentinos, caídas o cambios de tendencia.

Antes de explorar los algoritmos individuales de detección de anomalías en series temporales, es importante comprender los parámetros comunes utilizados para el Control de Sensibilidad de Anomalías, como se muestra en la imagen a continuación. Estos parámetros son consistentes en todos los algoritmos de detección de anomalías en series temporales de Catalyst QuickML y son esenciales para controlar cómo se detectan e interpretan las anomalías. Permiten a los usuarios ajustar con precisión el umbral, el tamaño de la ventana y el método de puntuación de anomalías, asegurando que el sistema diferencie con precisión entre fluctuaciones normales y comportamiento verdaderamente anómalo.

anomaly-1

Parámetros comunes:

  • Threshold: Determina qué tan sensible es el modelo a las desviaciones del comportamiento esperado. Un umbral más bajo aumenta la sensibilidad, señalando fluctuaciones más pequeñas como anomalías, mientras que un umbral más alto reduce los falsos positivos.

  • Window size: Define la ventana móvil de puntos de datos utilizada para el análisis. Aplicable hasta un máximo de 24 pasos temporales.

  • Anomaly scoring method: Actualmente soporta Z-Score, que mide cuánto se desvía un punto de la media en términos de desviaciones estándar.

A continuación se presentan los algoritmos de detección de anomalías en series temporales soportados en Catalyst QuickML, junto con sus explicaciones, casos de uso del mundo real y parámetros clave.

Auto Regressor

Explicación: El modelo Auto Regressor (AR) predice valores futuros basándose en una combinación lineal de observaciones pasadas. Asume que el comportamiento pasado influye directamente en el presente, con coeficientes que representan la fuerza de la relación entre los valores pasados y actuales. QuickML extiende esto con backends de regresión flexibles, incluyendo Linear Regressor, Random Forest Regressor, AdaBoost Regressor y Gradient Boosting Regressor, permitiendo el modelado temporal tanto lineal como no lineal.

Intuición matemática:

copy
 Yₜ = c + ∑ᵢ₌₁ᵖ φᵢ Yₜ₋ᵢ + εₜ 

Donde:

  • Yt = valor actual
  • c = intercepto (término constante)
  • ϕi = coeficientes autorregresivos
  • Yt−i = observaciones retrasadas
  • εt = ruido aleatorio

Caso de uso: Se utiliza en pronósticos financieros, detección de deriva de sensores y monitoreo predictivo de procesos, donde el historial reciente influye significativamente en el siguiente resultado — por ejemplo, predecir tendencias bursátiles a corto plazo o detectar fluctuaciones anormales en sensores de temperatura.

Parámetros clave:

Nota: En los rangos de parámetros, los corchetes [ ] incluyen los límites, y los paréntesis ( ) los excluyen.
Parámetro Descripción Tipo de Dato Valores Posibles Valor Predeterminado
select_model_to_fit Elige el modelo de regresión para ajustar la serie temporal. string {'Linear Regressor', 'Random-Forest Regressor', 'AdaBoost Regressor', 'Gradient Boosting Regressor'} 'Linear Regressor'
max_lag Define cuántos pasos temporales pasados se utilizan para predecir el valor actual. int [1, ∞) 1

Moving Average (MA)

Explicación: El modelo Moving Average se centra en modelar el ruido o las perturbaciones aleatorias dentro de una serie temporal. En lugar de usar valores pasados directamente, predice las observaciones actuales como una suma ponderada de los errores de pronóstico pasados. Este enfoque ayuda a suavizar la volatilidad a corto plazo y es ideal para detectar desviaciones inusuales de los patrones residuales esperados.

Intuición matemática:

copy
 Yₜ = μ + ∑ᵢ₌₁ᵠ θᵢ εₜ₋ᵢ + εₜ 

Donde:

  • Yt = observación actual
  • μ = media de la serie
  • θi = coeficientes de media móvil
  • εt−i = errores de pronóstico pasados

Caso de uso: Se aplica en la detección de anomalías en precios de acciones, monitoreo de producción manufacturera y pronósticos de demanda a corto plazo, donde la identificación de patrones de error irregulares ayuda a descubrir anomalías transitorias o inestabilidad en los procesos.

Parámetros clave:

Parámetro Descripción Tipo de Dato Valores Posibles Valor Predeterminado
ma_lag (q) Especifica el número de errores de pronóstico pasados utilizados para predecir valores futuros. int [0, 5] 1

ARIMA (AutoRegressive Integrated Moving Average)

Explicación: ARIMA integra tres componentes:

  • AR (AutoRegressive) – Utiliza valores pasados
  • I (Integrated) – Elimina la tendencia y la no estacionariedad mediante diferenciación
  • MA (Moving Average) – Modela el ruido residual

Al combinar estos, ARIMA captura tanto la dependencia temporal como los cambios de tendencia. Es altamente efectivo para series temporales estacionarias y para detectar desviaciones que violan las relaciones estadísticas establecidas a lo largo del tiempo.

Intuición matemática:

copy
 Y′ₜ = c + ∑ᵢ₌₁ᵖ φᵢ Y′ₜ₋ᵢ + ∑ⱼ₌₁ᵠ θⱼ εₜ₋ⱼ + εₜ 

Donde Yt′ es la serie diferenciada después de aplicar el orden d.

Caso de uso: Ampliamente utilizado en el monitoreo de indicadores económicos, detección de anomalías en registros del sistema y pronósticos de líneas de producción, donde es crucial detectar cambios en tendencias a largo plazo o estabilidad cíclica.

Parámetros clave:

Parámetro Descripción Tipo de Dato Valores Posibles Valor Predeterminado
ar_lag (p) Número de observaciones retrasadas incluidas en el modelo. int [0, 5] 1
ma_lag (q) Número de errores de pronóstico retrasados en la ecuación de predicción. int [0, 5] 1
integration (d) Número de veces que los datos se diferencian para lograr la estacionariedad. int [0, 5] 0

ARMA (AutoRegressive Moving Average)

Explicación: ARMA combina las fortalezas de los modelos AR y MA pero asume que la serie es estacionaria (sin diferenciación). Captura tanto la dependencia de observaciones pasadas como las correlaciones en los términos de error, proporcionando un equilibrio entre la sensibilidad a la tendencia y el filtrado de ruido.

Intuición matemática:

copy
 Yₜ = c + ∑ᵢ₌₁ᵖ φᵢ Yₜ₋ᵢ + ∑ⱼ₌₁ᵠ θⱼ εₜ₋ⱼ + εₜ 

Caso de uso: Se utiliza en el monitoreo de latencia de red, análisis de rendimiento de servidores y detección de anomalías en procesos estables, donde el comportamiento consistente a lo largo del tiempo hace que las pequeñas desviaciones sean altamente significativas.

Parámetros clave:

Parámetro Descripción Tipo de Dato Valores Posibles Valor Predeterminado
ar_lag (p) Número de observaciones retrasadas utilizadas en el modelo. int [0, 5] 1
ma_lag (q) Número de errores de pronóstico retrasados en el modelo. int [0, 5] 1

Auto ARIMA

Explicación: Auto ARIMA automatiza la selección del modelo ARIMA evaluando múltiples combinaciones de parámetros (p,d,q) y opcionalmente parámetros estacionales basados en criterios de información (como AIC o BIC). Esto permite un ajuste óptimo sin la necesidad de ajustar manualmente los parámetros y asegura que el modelo se adapte a las dinámicas temporales cambiantes.

Intuición matemática: Selecciona automáticamente los parámetros minimizando:

copy
 AIC = 2k − 2ln(L) 

Donde k = número de parámetros y L = estimación de máxima verosimilitud.

Caso de uso: Ideal para pronósticos estacionales de retail, seguimiento de anomalías en el consumo de servicios públicos y monitoreo operacional automatizado, donde las series temporales exhiben irregularidades tanto periódicas como no periódicas.

Parámetros clave:

Parámetro Descripción Tipo de Dato Valores Posibles Valor Predeterminado
seasonal Indica si el modelo debe tener en cuenta la estacionalidad. bool {True, False} True
ar_lag (p) Parámetro de retardo AR no estacional. int [0, 5] 1
ma_lag (q) Parámetro de retardo MA no estacional. int [0, 5] 1
integration (d) Orden de diferenciación no estacional. int [0, 5] 0
periodicity (s) Longitud del período estacional (por ejemplo, 12 para datos mensuales). int [0, ∞) 12
integration (D) Orden de diferenciación estacional. int [0, 5] 0
max_order Orden total máximo del modelo (opcional). int [0, 5] 5

SARIMA (Seasonal ARIMA)

Explicación: SARIMA extiende ARIMA incluyendo componentes autorregresivos estacionales, diferenciación y media móvil, permitiéndole modelar fluctuaciones periódicas (por ejemplo, ciclos diarios, mensuales, anuales). Sobresale en la detección de anomalías que ocurren en relación con las expectativas estacionales.

Intuición matemática:

copy
 Φᴾ(Bˢ) φᵖ(B) (1 − B)ᵈ (1 − Bˢ)ᴰ Yₜ = Θᵠ(Bˢ) θᵩ(B) εₜ 

Donde:

  • s = período estacional
  • (p,d,q) = parámetros no estacionales
  • (P,D,Q) = parámetros estacionales

Caso de uso: Se aplica en la detección de anomalías en carga energética, monitoreo climático y análisis de estacionalidad de ventas, donde las desviaciones del comportamiento estacional esperado señalan anomalías potenciales.

Parámetros clave:

Parámetro Descripción Tipo de Dato Valores Posibles Valor Predeterminado
ar_lag (p) Término AR no estacional. int [0, 5] 1
ma_lag (q) Término MA no estacional. int [0, 5] 1
integration (d) Diferenciación no estacional. int [0, 5] 0
seasonal_ar (P) Término AR estacional. int [0, 5] 1
seasonal_ma (Q) Término MA estacional. int [0, 5] 1
seasonal_integration (D) Diferenciación estacional. int [0, 5] 0
periodicity (s) Período estacional (por ejemplo, 12 para estacionalidad mensual). int [0, ∞) 12
enforce_stationarity Si se debe forzar la estacionariedad en el modelo. bool {True, False} False
enforce_invertibility Si se debe forzar la invertibilidad del modelo. bool {True, False} False

Exponential Smoothing

Explicación: Exponential Smoothing predice valores futuros dando pesos exponencialmente decrecientes a las observaciones más antiguas. Esto enfatiza los datos recientes mientras mantiene la conciencia de la tendencia general. Es altamente receptivo a cambios repentinos en la tendencia o el nivel.

Intuición matemática:

copy
 Ŷₜ₊₁ = αYₜ + (1 − α)Ŷₜ 

Donde:

  • Y^t+1 = pronóstico
  • α = parámetro de suavizado (0–1)
  • Yt = valor real

Caso de uso: Común en control de inventario, monitoreo de tendencias de ventas y telemetría de máquinas, donde la detección rápida de cambios o deterioro en el comportamiento reciente es vital.

Parámetros clave:

Parámetro Descripción Tipo de Dato Valores Posibles Valor Predeterminado
damped_trends Si se debe aplicar amortiguación a los componentes de tendencia. bool {True, False} False
season Tipo de estacionalidad a aplicar. string {'Add', 'Mul'} 'Add'
seasonal_periods Número de períodos en un ciclo estacional completo. int [1, ∞) 12

Holt-Winter’s Method

Explicación: El método de Holt-Winter (Triple Exponential Smoothing) extiende el suavizado exponencial añadiendo componentes de tendencia y estacionalidad. Puede adaptarse a cambios de nivel, tendencias ascendentes o descendentes y variaciones cíclicas, proporcionando una detección robusta de anomalías para series temporales periódicas.

Intuición matemática:

copy
Lₜ = α (Yₜ / Sₜ₋ₛ) + (1 − α)(Lₜ₋₁ + Tₜ₋₁)
Tₜ = β (Lₜ − Lₜ₋₁) + (1 − β)Tₜ₋₁
Sₜ = γ (Yₜ / Lₜ) + (1 − γ)Sₜ₋ₛ
Ŷₜ₊ₘ = (Lₜ + mTₜ) Sₜ₋ₛ₊ₘ

Donde Lt = nivel, Tt = tendencia, St = componente estacional.

Caso de uso: Ampliamente utilizado en pronósticos de demanda de retail, monitoreo de utilización de recursos y detección de anomalías de temperatura, donde tanto la estacionalidad como los cambios de tendencia deben capturarse para una identificación precisa de anomalías.

Parámetros clave:

Parámetro Descripción Tipo de Dato Valores Posibles Valor Predeterminado
smoothing_level Factor de suavizado para el componente de nivel. float [0, 1] 0.8
smoothing_trend Factor de suavizado para el componente de tendencia. float [0, 1] 0.2
damping_trend Controla la amortiguación del componente de tendencia. bool {True, False} True
optimise Especifica si los parámetros deben optimizarse automáticamente. string {'Select', 'Manual'} 'Select'
exponential Si se debe utilizar el suavizado de tendencia exponencial. bool {True, False} False

One-Class SVM

Explicación: One-Class SVM (Support Vector Machine) aprende un límite de decisión alrededor de la mayoría de los puntos de datos (normales) en el espacio de características. Los puntos que caen fuera de este límite se clasifican como anomalías. Funciona bien en conjuntos de datos de alta dimensionalidad y es efectivo cuando las anomalías son raras y distintas de los datos normales.

Intuición Matemática:

El algoritmo encuentra una función f(x) que es positiva para regiones con alta densidad de datos (puntos normales) y negativa para regiones de baja densidad (anomalías). Su objetivo es resolver:

copy
min (1/2) ||w||² + (1 / (νn)) Σ ξᵢ − ρ
subject to:
(w · φ(xᵢ)) ≥ ρ − ξᵢ , ξᵢ ≥ 0 

Donde:

  • ν: controla el límite superior de valores atípicos
  • ξi: variables de holgura que permiten márgenes suaves
  • ϕ(x): función kernel que mapea datos a dimensiones superiores

Caso de uso: Se utiliza en detección de fraude, detección de intrusiones en la red o detección de novedades en sistemas industriales donde el comportamiento normal está bien definido pero las anomalías son raras.

Parámetros clave:

Nota: En los rangos de parámetros, los corchetes [ ] incluyen el límite, mientras que los paréntesis ( ) lo excluyen. Ejemplo: [1, ∞) → incluye 1 y se extiende hasta infinito; (0, 1] → excluye 0 pero incluye 1.
Parámetro Descripción Tipo de Dato Valores Posibles Valor Predeterminado
kernel Especifica el tipo de kernel a utilizar. Si no se proporciona ninguno, se usa 'rbf'. string {'linear', 'poly', 'rbf', 'sigmoid', 'precomputed'} 'rbf'
degree Grado de la función kernel polinómica ('poly'). Ignorado por otros kernels. int [1, ∞) 3
gamma Coeficiente del kernel para 'rbf', 'poly' y 'sigmoid'. string {'scale', 'auto'} 'scale'
coef0 Término independiente en la función kernel, significativo en 'poly' y 'sigmoid'. float [0, 1] 0.0
tol Tolerancia para el criterio de parada. float [0, 1] 1e-3
nu Límite superior de la fracción de errores de entrenamiento y límite inferior de la fracción de vectores de soporte. float (0, 1] 0.5
shrinking Si se debe usar la heurística de reducción. bool {False, True} True
max_iter Límite estricto en las iteraciones del solver, o -1 sin límite. int [1, ∞), {-1} -1

Isolation Forest

Explicación: Isolation Forest identifica anomalías aislando observaciones en lugar de modelar puntos de datos normales. Selecciona aleatoriamente una característica y divide los datos basándose en un umbral aleatorio. Dado que las anomalías son pocas y diferentes, son más fáciles de aislar y requieren menos divisiones. La longitud promedio del camino en los árboles es más corta para las anomalías y más larga para los puntos normales.

Intuición matemática:

La puntuación de anomalía se calcula como:

copy
 s(x, n) = 2^(− E(h(x)) / c(n)) 

Donde:

  • E(h(x)): longitud promedio del camino de la observación x
  • c(n): longitud promedio del camino de una búsqueda no exitosa en un Árbol de Búsqueda Binario
  • Puntuaciones cercanas a 1 → anomalías; cercanas a 0.5 → normales

Caso de uso: Comúnmente utilizado en detección de fraude, detección de intrusiones en la red, detección de defectos de fabricación e identificación de anomalías en sensores IoT. En la detección de fraude, ayuda a descubrir transacciones sospechosas que se desvían del comportamiento de gasto normal. En la detección de intrusiones en la red, identifica patrones de acceso anormales o picos de tráfico que pueden indicar una brecha de seguridad.

Parámetros clave:

Parámetro Descripción Tipo de Dato Valores Posibles Valor Predeterminado
n_estimators Número de estimadores base (árboles) en el conjunto. int [1, ∞) 100
max_samples Número de muestras a extraer para entrenar cada estimador. string, int, float [1, ∞), [0, 1], {'auto'} 'auto'
contamination Proporción de valores atípicos en el conjunto de datos. string, float {'auto'}, (0, 0.5] 'auto'
max_features Número de características a extraer para cada estimador. int, float [1, ∞), [0, 1] 1.0
bootstrap Si se deben muestrear los datos de entrenamiento con reemplazo. bool {False, True} False

Local Outlier Factor (LOF)

Explicación: Local Outlier Factor detecta anomalías comparando la densidad local de un punto de datos con la de sus vecinos. Si un punto tiene una densidad sustancialmente menor que sus vecinos, se considera una anomalía. LOF es particularmente efectivo para detectar anomalías locales en lugar de globales.

Intuición matemática:

LOF se basa en el concepto de densidad de alcanzabilidad local (LRD). La puntuación LOF de un punto de datos A viene dada por:

copy
 LOFₖ(A) = ( Σ_{B ∈ Nₖ(A)} [LRDₖ(B) / LRDₖ(A)] ) / |Nₖ(A)| 

Donde:

  • Nk(A): k-vecinos más cercanos de A
  • LRDk(A): densidad de alcanzabilidad local de A
  • Valores ≈ 1 → normales, > 1 → valor atípico

Caso de uso: Se utiliza efectivamente en diversos dominios donde es esencial identificar desviaciones locales de los patrones normales. En la detección de fraude, destaca clientes o transacciones que se comportan de manera diferente a sus grupos de pares, ayudando a descubrir patrones de fraude sutiles o en evolución. Para la segmentación de clientes, detecta perfiles atípicos dentro de segmentos definidos, como clientes inusualmente de alto valor o inactivos, permitiendo estrategias de targeting y retención más precisas.

Parámetros clave:

Parámetro Descripción Tipo de Dato Valores Posibles Valor Predeterminado
n_neighbors Número de vecinos a usar para consultas de kneighbors. int [1, n_samples) 20
algorithm Algoritmo utilizado para calcular los vecinos más cercanos. string {'auto', 'ball_tree', 'kd_tree', 'brute'} 'auto'
leaf_size Tamaño de hoja para BallTree o KDTree, que afecta la velocidad y la memoria. int [1, ∞) 20
metric Métrica para el cálculo de distancia. string {'cityblock', 'cosine', 'euclidean', 'haversine', 'l1', 'l2', 'manhattan', 'nan_euclidean'} 'minkowski'
p Parámetro para la métrica de Minkowski (1=Manhattan, 2=Euclidean). float [1, ∞) 2
contamination Proporción de valores atípicos en el conjunto de datos. float, string (0, 0.5], {'auto'} 'auto'

Última actualización 2026-03-24 17:38:39 +0530 IST