La detección de anomalías es el héroe silencioso de las operaciones de datos: la alarma de humo que susurra antes de que las cosas se incendien.
En pocas palabras: la IA aprende qué se considera "más o menos normal", asigna una puntuación de anomalíay, a continuación, decide si contactar con un humano (o bloquear automáticamente el evento) en función de un umbral. El problema reside en cómo se define "más o menos normal" cuando los datos son estacionales, desordenados, variables y, en ocasiones, engañosos. [1]
Artículos que quizás te interese leer después de éste:
🔗 ¿Por qué la IA puede ser perjudicial para la sociedad?
Examina los riesgos éticos, económicos y sociales de la adopción generalizada de la IA.
🔗 ¿Cuánta agua utilizan realmente los sistemas de IA?
Explica la refrigeración de los centros de datos, las necesidades de entrenamiento y el impacto ambiental en el agua.
🔗 Qué es un conjunto de datos de IA y por qué es importante.
Define los conjuntos de datos, el etiquetado, las fuentes y su papel en el rendimiento del modelo.
🔗 Cómo la IA predice tendencias a partir de datos complejos.
Cubre el reconocimiento de patrones, los modelos de aprendizaje automático y las aplicaciones de pronóstico en el mundo real.
“¿Cómo detecta la IA las anomalías?”
Una buena respuesta debería ir más allá de enumerar algoritmos. Debería explicar su mecánica y cómo se aplican a datos reales e imperfectos. Las mejores explicaciones:
-
Muestra los ingredientes básicos: características, líneas de base, puntuacionesy umbrales. [1]
-
Contraste de familias prácticas: distancia, densidad, una clase, aislamiento, probabilística, reconstrucción. [1]
-
Manejar peculiaridades de series temporales: lo “normal” depende de la hora del día, el día de la semana, los lanzamientos y los días festivos. [1]
-
Trate la evaluación como una restricción real: las falsas alarmas no sólo son molestas: también destruyen la confianza. [4]
-
Incluya interpretabilidad + intervención humana, porque “es extraño” no es la causa raíz. [5]
Mecánica básica: líneas de base, puntuaciones y umbrales 🧠
La mayoría de los sistemas de anomalías, sofisticados o no, se reducen a tres partes móviles:
1) Representación (también conocida como: lo que ve el modelo )
Las señales sin procesar rara vez son suficientes. Se diseñan características (estadísticas móviles, ratios, retardos, deltas estacionales) o se aprenden representaciones (incrustaciones, subespacios, reconstrucciones). [1]
2) Puntuación (también conocido como: ¿qué tan “raro” es esto?)
Las ideas de puntuación más comunes incluyen:
-
Basado en la distancia: lejos de los vecinos = sospechoso. [1]
-
Basado en la densidad: baja densidad local = sospechoso (LOF es el ejemplo perfecto). [1]
-
Límites de una sola clase: aprende lo “normal”, señala lo que queda fuera. [1]
-
Probabilístico: baja probabilidad bajo un modelo ajustado = sospechoso. [1]
-
Error de reconstrucción: si un modelo entrenado con datos normales no puede reconstruirlos, probablemente esté equivocado. [1]
3) Umbralización (también conocido como: cuándo tocar la campana)
Los umbrales pueden ser fijos, basados en cuartiles, por segmento o sensibles a los costos, pero deben calibrarse en función de presupuestos de alerta y costos posteriores, no de vibraciones. [4]
Un detalle muy práctico: los detectores de valores atípicos/novedades de scikit-learn exponen puntuaciones brutas y luego aplican un umbral (a menudo controlado mediante una suposición de tipo contaminación) para convertir las puntuaciones en decisiones de valores atípicos/incluidos. [2]
Definiciones rápidas que previenen el dolor posterior 🧯
Dos distinciones que te salvan de errores sutiles:
-
Detección de valores atípicos: es posible que sus datos de entrenamiento ya incluyan valores atípicos; el algoritmo intenta modelar la "región normal densa" de todos modos.
-
Detección de novedades: se asume que los datos de entrenamiento están limpios; se evalúa si las nuevas observaciones se ajustan al patrón normal aprendido. [2]
Además: la detección de novedad a menudo se enmarca como una clasificación de una clase : modelar lo normal porque los ejemplos anormales son escasos o no están definidos. [1]

Caballos de batalla sin supervisión que realmente usarás 🧰
Cuando las etiquetas son escasas (lo que básicamente ocurre siempre), estas son las herramientas que aparecen en los pipelines reales:
-
Bosque de aislamiento: un valor predeterminado fuerte en muchos casos tabulares, ampliamente utilizado en la práctica e implementado en scikit-learn. [2]
-
SVM de una clase: puede ser eficaz, pero es sensible a ajustes y suposiciones; scikit-learn señala explícitamente la necesidad de un ajuste cuidadoso de los hiperparámetros. [2]
-
Factor de valores atípicos locales (LOF): puntuación clásica basada en la densidad; ideal cuando lo “normal” no es una mancha ordenada. [1]
Un problema práctico que los equipos redescubren cada semana: LOF se comporta de manera diferente dependiendo de si se realiza la detección de valores atípicos en el conjunto de entrenamiento o la detección de novedades en datos nuevos; scikit-learn incluso requiere novelty=True para puntuar de forma segura los puntos no vistos. [2]
Una base sólida que aún funciona cuando los datos son inestables 🪓
Si estás en modo “sólo necesitamos algo que no nos mande al olvido”, las estadísticas sólidas están subestimadas.
La puntuación z modificada utiliza la mediana y la MAD (desviación absoluta mediana) para reducir la sensibilidad a los valores extremos. El manual EDA del NIST documenta el formato de la puntuación z modificada y señala una regla práctica comúnmente utilizada para identificar valores atípicos potenciales con un valor absoluto superior a 3,5. [3]
Esto no resolverá todos los problemas de anomalías, pero a menudo es una primera línea de defensa sólida, especialmente para métricas ruidosas y monitoreo en etapa temprana. [3]
Realidad de las series temporales: lo “normal” depende del momento ⏱️📈
Las anomalías de series temporales son complejas porque el contexto es fundamental: un pico al mediodía podría esperarse; el mismo pico a las 3 de la madrugada podría indicar que algo está en llamas. Por lo tanto, muchos sistemas prácticos modelan la normalidad utilizando características temporales (retardos, deltas estacionales, ventanas móviles) y evalúan las desviaciones respecto al patrón esperado. [1]
Si solo recuerdas una regla: segmenta tu línea base (hora/día/región/nivel de servicio) antes de declarar que la mitad de tu tráfico es “anómalo”. [1]
Evaluación: La trampa de los eventos raros 🧪
La detección de anomalías suele ser como buscar una aguja en un pajar, lo que hace que la evaluación sea extraña:
-
Las curvas ROC pueden parecer engañosamente finas cuando los resultados positivos son raros.
-
Las vistas de recuperación de precisión suelen ser más informativas para configuraciones desequilibradas porque se centran en el rendimiento en la clase positiva. [4]
-
Operativamente, también se necesita un presupuesto de alertas: ¿cuántas alertas por hora pueden realmente clasificar los humanos sin abandonar el sistema por ira? [4]
Las pruebas retrospectivas en ventanas móviles ayudan a detectar el modo de falla clásico: "funciona perfectamente... en la distribución del mes pasado". [1]
Interpretabilidad y causa raíz: muestra tu trabajo 🪄
Alertar sin explicación es como recibir una postal misteriosa. Útil, pero frustrante.
Las herramientas de interpretabilidad pueden ser útiles al señalar qué características contribuyeron en mayor medida a una puntuación de anomalía, o al proporcionar explicaciones del tipo "¿qué habría que cambiar para que esto pareciera normal?". El Interpretable Machine Learning es una guía sólida y fundamental sobre los métodos comunes (incluidas las atribuciones de estilo SHAP) y sus limitaciones. [5]
El objetivo no es sólo la comodidad de las partes interesadas: es una clasificación más rápida y menos incidentes repetidos.
Implementación, deriva y bucles de retroalimentación 🚀
Los modelos no viven en diapositivas. Viven en canales.
Una historia común del “primer mes en producción”: el detector principalmente señala despliegues, trabajos por lotes y datos faltantes... lo cual sigue siendo útil porque te obliga a separar los “incidentes de calidad de datos” de las “anomalías comerciales”.
En la práctica:
-
Monitorear la deriva y volver a entrenar/recalibrar a medida que cambia el comportamiento. [1]
-
Entradas de puntuación de registro + versión del modelo para que pueda reproducir por qué se pagina algo. [5]
-
Capturar la retroalimentación humana (alertas útiles vs. ruidosas) para ajustar los umbrales y segmentos a lo largo del tiempo. [4]
Ángulo de seguridad: IDS y análisis del comportamiento 🛡️
Los equipos de seguridad suelen combinar ideas sobre anomalías con la detección basada en reglas: líneas de base para el "comportamiento normal del host", además de firmas y políticas para patrones maliciosos conocidos. La norma SP 800-94 (Final) del NIST sigue siendo un marco ampliamente citado para las consideraciones sobre sistemas de detección y prevención de intrusiones; también señala que un borrador de 2012, "Rev. 1", nunca se finalizó y posteriormente se retiró. [3]
Traducción: usa ML donde sea útil, pero no deseches las reglas aburridas: son aburridas porque funcionan.
Tabla comparativa: métodos populares de un vistazo 📊
| Herramienta/Método | Mejor para | Por qué funciona (en la práctica) |
|---|---|---|
| Puntuaciones z robustas/modificadas | Métricas simples, líneas de base rápidas | Primer paso fuerte cuando se necesita “suficientemente bueno” y menos falsas alarmas. [3] |
| Bosque de aislamiento | Características tabulares y mixtas | Implementación predeterminada sólida y ampliamente utilizada en la práctica. [2] |
| SVM de una clase | Regiones “normales” compactas | Detección de novedad basada en límites; el ajuste es muy importante. [2] |
| Factor de valor atípico local | Normales de tipo colector | El contraste de densidad con los vecinos capta la rareza local. [1] |
| Error de reconstrucción (por ejemplo, estilo autocodificador) | Patrones de alta dimensión | Entrene con normalidad; grandes errores de reconstrucción pueden indicar desviaciones. [1] |
Código de trucos: empezar con líneas de base robustas + un método aburrido no supervisado, luego agregar complejidad solo donde valga la pena.
Un mini manual: de cero a alertas 🧭
-
Defina "extraño" desde el punto de vista operativo (latencia, riesgo de fraude, sobrecarga de CPU, riesgo de inventario).
-
Comience con una línea base (estadísticas sólidas o umbrales segmentados). [3]
-
Elija un modelo no supervisado como primer paso (bosque de aislamiento/LOF/SVM de una clase). [2]
-
Establezca umbrales con un presupuesto de alertay evalúe con un pensamiento de estilo de relaciones públicas si los resultados positivos son poco frecuentes. [4]
-
Agregue explicaciones y registros para que cada alerta sea reproducible y depurable. [5]
-
Realizar pruebas retrospectivas, enviar, aprender, recalibrar : la desviación es normal. [1]
Absolutamente puedes hacer esto en una semana... suponiendo que tus marcas de tiempo no estén unidas con cinta adhesiva y esperanza. 😅
Observaciones finales: Demasiado largo, no lo leí🧾
La IA detecta anomalías aprendiendo una imagen práctica de lo "normal", puntuando las desviaciones y señalando lo que cruza un umbral. Los mejores sistemas triunfan no por ser llamativos, sino por estar calibrados: líneas base segmentadas, presupuestos de alertas, resultados interpretables y un bucle de retroalimentación que convierte las alarmas ruidosas en una señal fiable. [1]
Referencias
-
Pimentel et al. (2014) - Una revisión de la detección de novedad (PDF, Universidad de Oxford) leer más
-
Documentación de scikit-learn - Detección de novedades y valores atípicos Leer más
-
Manual electrónico NIST/SEMATECH - Detección de valores atípicos (leer más) y NIST CSRC - SP 800-94 (Final): Guía para sistemas de detección y prevención de intrusiones (IDPS) (leer más)
-
Saito y Rehmsmeier (2015) - El gráfico de precisión-exhaustividad es más informativo que el gráfico ROC al evaluar clasificadores binarios en conjuntos de datos desequilibrados (PLOS ONE) Leer más
-
Molnar - Aprendizaje automático interpretable (libro web) leer más