
Explorando la Detección de Anomalías en Snowflake para la Identificación de Valores Atípicos en Datos

La detección de anomalías es una capacidad crítica para las empresas, ya que permite identificar patrones y valores atípicos inusuales en sus datos que podrían indicar fraudes, errores u oportunidades. Snowflake, la principal plataforma de datos en la nube, ofrece potentes capacidades de detección de anomalías a través de Snowflake Anomaly Detection. En este artículo, exploraremos qué es la Detección de Anomalías en Snowflake, cómo funciona internamente utilizando el aprendizaje automático, y algunos ejemplos de cómo utilizarla.
¿Qué es la Detección de Anomalías?
La detección de anomalías es un proceso crucial en el análisis de datos que implica identificar y señalar ocurrencias inusuales o raras dentro de un conjunto de datos. Las anomalías, como los valores atípicos o los errores, pueden afectar el análisis y la interpretación de datos. Se presentan en varias formas y pueden tener un gran impacto en los resultados generales.
Los analistas pueden asegurarse de que sus conclusiones sean precisas y confiables al encontrar y corregir anomalías. Esto también puede ayudarles a descubrir nuevas perspectivas u oportunidades que podrían haber pasado por alto.
Diferentes tipos de datos requieren distintas técnicas de detección de anomalías. Algunos métodos comunes incluyen la estadística, el aprendizaje automático y la visualización. En general, la detección de anomalías juega un papel vital en la toma de decisiones basada en datos y ayuda a las organizaciones a comprender y aprovechar mejor la información a su disposición. Estas anomalías podrían representar:
- Transacciones fraudulentas en datos financieros
- Lecturas de equipos defectuosos en datos de sensores de fabricación
- Intentos de intrusión en registros de red de ciberseguridad
- Síntomas o resultados de pruebas irregulares en datos de salud
Al traer a la superficie estas anomalías, las organizaciones pueden tomar medidas rápidas para investigar y remediar problemas. Sin embargo, dada la gran cantidad de datos que la mayoría de las organizaciones generan, revisar manualmente los datos para encontrar anomalías es como buscar una aguja en un pajar. Aquí es donde los modelos de detección de anomalías basados en aprendizaje automático entran en juego.
Capacidad de Detección de Anomalías de Snowflake
Snowflake ha construido la detección de anomalías como una capacidad nativa directamente en su plataforma de datos en la nube. Con unos pocos comandos SQL simples, puedes entrenar un modelo de detección de anomalías en tus datos de Snowflake y usarlo para asignar puntuaciones de anomalía a nuevos puntos de datos.
El núcleo de la detección de anomalías de Snowflake es el servicio Cortex. Cortex es la nueva plataforma de aprendizaje automático de Snowflake que cambia la forma en que los científicos de datos y los analistas trabajan con los datos.
Los usuarios pueden crear, entrenar y desplegar modelos de aprendizaje automático en Snowflake utilizando Cortex. No necesitan transferir datos a otra plataforma ni aprender nuevas herramientas. Cortex simplifica el proceso de trabajar con modelos de aprendizaje automático en Snowflake.
Este proceso simplificado permite un desarrollo y despliegue de modelos más rápidos, así como una mayor eficiencia y colaboración entre los miembros del equipo. Cortex simplifica el aprendizaje automático para los usuarios utilizando comandos SQL.
Los usuarios no necesitan cambiar entre diferentes herramientas o entornos. Esto facilita a los usuarios trabajar con el aprendizaje automático. En general, Cortex proporciona una solución fácil de usar y eficiente para las organizaciones que buscan aprovechar las capacidades de aprendizaje automático dentro de su infraestructura de datos existente.
Beneficios Clave
Algunos de los beneficios clave de la Detección de Anomalías en Snowflake incluyen:
- Experiencia completamente basada en SQL: entrenar y puntuar modelos usando SQL
- Optimización automática de modelos: Cortex ajusta automáticamente los hiperparámetros del modelo
- Escalabilidad en conjuntos de datos masivos: aprovecha el procesamiento distribuido de Snowflake
- Puntuación en tiempo real: puntuar anomalías en datos de transmisión a medida que llegan
- Integración con otros servicios de Snowflake como compartir datos y control de acceso
Cómo Funciona la Detección de Anomalías
En el núcleo, la Detección de Anomalías de Snowflake está impulsada por un modelo optimizado de máquina de gradiente impulsado (GBM). El Gradient Boosting Machine (GBM) es un modelo de aprendizaje automático muy potente que pertenece a la familia de aprendizaje en conjunto.
Funciona combinando múltiples árboles de decisión de manera secuencial para mejorar la precisión predictiva del modelo. Cada nuevo árbol de decisión aprende de los errores de los anteriores. El objetivo es disminuir los errores totales del modelo.
El GBM es bueno para encontrar patrones complicados en los datos que otros algoritmos de aprendizaje automático podrían tener dificultades para descubrir. Este modelo utiliza múltiples árboles de decisión. Estos árboles se utilizan para analizar cómo las variables interactúan entre sí. Ayudan a descubrir relaciones que podrían no ser obvias con solo un árbol.
El gradient boosting es genial porque puede trabajar tanto con números como con categorías, lo que lo hace útil para muchas cosas diferentes. El GBM es confiable para conjuntos de datos del mundo real porque maneja bien los valores atípicos y el ruido.
Este modelo es una elección popular para el aprendizaje automático porque es preciso, flexible y puede manejar patrones de datos complejos.
- Entrenar el modelo – usa el comando CREATE SNOWFLAKE.ML.ANOMALY_DETECTION para entrenar GBM en datos históricos
- Utiliza <model_name>!DETECT_ANOMALIES para ejecutar el modelo. La salida del método es una tabla. En la tabla, cada fila de entrada se etiqueta como una anomalía o no.
- Analizar los resultados.
Para guardar los resultados debes obtener el ID del último comando SQL y guardar el resultado utilizando RESULT_SCAN en la tabla ‘my_ad_results’:
LET ad_res := SQLID; CREATE TABLE my_ad_results AS SELECT * FROM TABLE(RESULT_SCAN(:ad_res));
Consulta la documentación de Snowflake para un ejemplo de cómo entrenar un modelo de detección de anomalías.
Limitaciones
Aunque es una técnica poderosa, la detección de anomalías tiene algunas limitaciones que debes tener en cuenta:
- Requiere suficiente datos históricos para establecer una base “normal”
- Detecta anomalías pero no explica por qué son anómalas
- Puede tener falsos positivos para puntos de datos raros pero legítimos
- Los modelos pueden desactualizarse a medida que los datos evolucionan y pueden necesitar volver a entrenarse
Además, el modelo GBM utilizado por Snowflake está principalmente orientado a casos de uso de detección de anomalías en lugar de otras tareas de ML como la clasificación o la regresión.
Otras Capacidades de ML de Snowflake
Más allá de la detección de anomalías, Snowflake Cortex ofrece otras capacidades de ML que incluyen:
- Modelos de regresión lineal y logística
- Pronóstico de series temporales
- Análisis de texto y sentimiento
- Importación de modelos personalizados vía ONNX y Funciones Externas
Los científicos de datos pueden mejorar la detección de anomalías utilizando soluciones de aprendizaje automático personalizadas dentro del entorno de Snowflake.
Conclusión
La detección de anomalías es una herramienta poderosa para que las organizaciones identifiquen y aborden proactivamente los valores atípicos en los datos. La Detección de Anomalías en Snowflake es una técnica de aprendizaje automático que se puede acceder fácilmente mediante SQL. Esto la hace simple de agregar a las actuales canalizaciones de datos y flujos de trabajo de BI.
La detección de anomalías no es una solución para todos los problemas. Sin embargo, puede notificarte tempranamente sobre problemas. Además, puede complementar otras prácticas relacionadas con la calidad y seguridad de los datos. Te animamos a probar la Detección de Anomalías en Snowflake en tus propios datos y ver los insights que descubres.
DataSunrise utiliza su modelo de detección de anomalías incorporado para detectar comportamientos sospechosos de usuarios. Para obtener más información sobre la detección de anomalías para la seguridad de los datos, auditoría y cumplimiento, solicita una demostración en línea.