Rilevamento di Anomalie in Snowflake
Il rilevamento delle anomalie è una capacità critica per le aziende per identificare modelli insoliti e anomalie nei loro dati che potrebbero indicare frodi, errori o opportunità. Snowflake, la principale piattaforma dati cloud, offre potenti capacità di rilevamento delle anomalie tramite Snowflake Anomaly Detection. In questo articolo, esploreremo che cos’è Snowflake Anomaly Detection, come funziona dietro le quinte utilizzando il machine learning, e alcuni esempi di come utilizzarlo.
Che Cos’è il Rilevamento di Anomalie?
Il rilevamento delle anomalie è un processo cruciale nell’analisi dei dati che comporta l’identificazione e il segnalare di occorrenze insolite o rare all’interno di un set di dati. Le anomalie, come outliers o errori, possono influenzare l’analisi e l’interpretazione dei dati. Queste si presentano in varie forme e possono avere un grande impatto sui risultati complessivi.
Gli analisti possono assicurarsi che i loro risultati siano accurati e affidabili individuando e correggendo le anomalie. Questo può anche aiutare a scoprire nuove intuizioni o opportunità che potrebbero essere state trascurate.
Tipi di dati diversi richiedono tecniche di rilevamento delle anomalie differenti. Alcuni metodi comuni includono statistica, machine learning e visualizzazione. Complessivamente, il rilevamento delle anomalie svolge un ruolo vitale nelle decisioni basate sui dati e aiuta le organizzazioni a comprendere meglio e sfruttare le informazioni a loro disposizione. Queste anomalie potrebbero rappresentare:
- Transazioni fraudolente nei dati finanziari
- Letture errate dei dispositivi nei dati dei sensori di produzione
- Tentativi di intrusione nei log di sicurezza informatica
- Irregolarità nei sintomi o nei risultati dei test nei dati sanitari
Portando alla luce queste anomalie, le organizzazioni possono agire rapidamente per indagare e rimediare ai problemi. Tuttavia, data la scala massiccia dei dati che la maggior parte delle organizzazioni genera, esaminare manualmente i dati per trovare anomalie è come cercare un ago in un pagliaio. È qui che entrano in gioco i modelli di rilevamento delle anomalie tramite machine learning.
Capacità di Rilevamento delle Anomalie di Snowflake
Snowflake ha integrato il rilevamento delle anomalie come funzionalità nativa direttamente nella sua piattaforma dati cloud. Con pochi semplici comandi SQL, è possibile addestrare un modello di rilevamento delle anomalie sui tuoi dati Snowflake e utilizzarlo per assegnare punteggi di anomalia a nuovi punti dati.
Il cuore del rilevamento delle anomalie di Snowflake è il servizio Cortex. Cortex è la nuova piattaforma di machine learning di Snowflake che cambia il modo in cui i data scientist e gli analisti lavorano con i dati.
Gli utenti possono creare, addestrare e distribuire modelli di machine learning in Snowflake utilizzando Cortex. Non hanno bisogno di trasferire i dati su un’altra piattaforma o imparare nuovi strumenti. Cortex semplifica il processo di lavorare con i modelli di machine learning in Snowflake.
Questo processo semplificato consente uno sviluppo e una distribuzione del modello più rapidi, nonché una maggiore efficienza e collaborazione tra i membri del team. Cortex semplifica il machine learning per gli utenti utilizzando comandi SQL.
Gli utenti non devono passare tra diversi strumenti o ambienti. Questo rende più facile per gli utenti lavorare con il machine learning. Complessivamente, Cortex fornisce una soluzione user-friendly ed efficiente per le organizzazioni che desiderano sfruttare le capacità di machine learning all’interno della loro infrastruttura dati esistente.
Vantaggi Chiave
Alcuni dei vantaggi chiave di Snowflake Anomaly Detection includono:
- Esperienza completamente basata su SQL – addestra e valuta i modelli utilizzando SQL
- Ottimizzazione automatica dei modelli – Cortex regola automaticamente gli iperparametri dei modelli
- Scalabile su set di dati massicci – sfrutta l’elaborazione distribuita di Snowflake
- Valutazione in tempo reale – valuta le anomalie sui dati in streaming mentre arrivano
- Integrazione con altri servizi Snowflake come la condivisione dei dati e il controllo degli accessi
Come Funziona il Rilevamento delle Anomalie
Dietro le quinte, Snowflake Anomaly Detection è alimentato da un modello di Gradient Boosting Machine (GBM) ottimizzato. Gradient Boosting Machine (GBM) è un potente modello di machine learning che appartiene alla famiglia dell’ensemble learning.
Funziona combinando più alberi decisionali in modo sequenziale per migliorare la precisione predittiva del modello. Ogni nuovo albero decisionale impara dagli errori dei precedenti. L’obiettivo è ridurre al minimo gli errori totali del modello.
GBM è molto efficace nel trovare pattern complessi nei dati che altri algoritmi di machine learning potrebbero faticare a individuare. Questo modello utilizza più alberi decisionali. Questi alberi sono utilizzati per analizzare come le variabili interagiscono tra loro. Aiutano a scoprire relazioni che potrebbero non essere evidenti con un solo albero.
Il gradient boosting è ottimo perché può lavorare sia con numeri che con categorie, rendendolo utile per molti scopi diversi. GBM è affidabile per set di dati reali poiché può gestire bene outliers e rumore.
Questo modello è una scelta popolare per il machine learning perché è preciso, flessibile e può gestire pattern di dati complessi.
- Allenare il modello – utilizzare il comando CREATE SNOWFLAKE.ML.ANOMALY_DETECTION per addestrare GBM sui dati storici
- Utilizzare <model_name>!DETECT_ANOMALIES per eseguire il modello. L’output del metodo è una tabella in cui ogni riga di input è etichettata come anomalia o meno.
- Analizzare l’output.
Per salvare i risultati, è necessario ottenere l’ID dell’ultimo comando SQL e salvare il risultato utilizzando RESULT_SCAN nella tabella ‘my_ad_results’:
LET ad_res := SQLID; CREATE TABLE my_ad_results AS SELECT * FROM TABLE(RESULT_SCAN(:ad_res));
Consultare la documentazione di Snowflake per un esempio di addestramento di un modello di rilevamento delle anomalie.
Limitazioni
Sebbene sia una tecnica potente, il rilevamento delle anomalie presenta alcune limitazioni da tenere a mente:
- Richiede dati storici sufficienti per stabilire una linea di base “normale”
- Rileva anomalie ma non spiega perché sono anomale
- Può avere falsi positivi per punti dati rari ma legittimi
- I modelli possono degradarsi nel tempo con l’evolversi dei dati e potrebbero necessitare di riaffumentazione
Inoltre, il modello GBM utilizzato da Snowflake è principalmente adatto per casi d’uso di rilevamento delle anomalie piuttosto che per altre attività di ML come classificazione o regressione.
Altre Capacità di ML di Snowflake
Oltre al rilevamento delle anomalie, Snowflake Cortex offre altre capacità di machine learning, tra cui:
- Modelli di regressione lineare e logistica
- Previsione di serie temporali
- Analisi testuale e del sentiment
- Importazione di modelli personalizzati tramite ONNX e Funzioni Esterne
I data scientist possono migliorare il rilevamento delle anomalie utilizzando soluzioni di machine learning personalizzate all’interno dell’ambiente Snowflake.
Conclusione
Il rilevamento delle anomalie è uno strumento potente per le organizzazioni per identificare proattivamente e affrontare gli outlier nei dati. Snowflake Anomaly Detection è una tecnica di machine learning che può essere facilmente accessibile tramite SQL. Questo la rende semplice da integrare nei pipeline di dati esistenti e nei flussi di lavoro di BI.
Il rilevamento delle anomalie non è una soluzione a tutti i problemi, ma può, però, segnalarti tempestivamente sui problemi. Può anche completare altre pratiche relative alla qualità e alla sicurezza dei dati. Ti incoraggiamo a provare Snowflake Anomaly Detection sui tuoi dati per scoprire quali intuizioni puoi trarre.
DataSunrise utilizza il suo modello di rilevamento delle anomalie integrato per rilevare il comportamento sospetto degli utenti. Per saperne di più sul rilevamento delle anomalie per la sicurezza dei dati, l’audit e la conformità, richiedi una demo online.