Anomaly detection: cos’è il rilevamento delle anomalie con il machine learning
Anomaly detection spiegata bene: tipi di anomalie, algoritmi come Isolation Forest e autoencoder, metriche, applicazioni ed errori da evitare.

Una transazione con carta di credito alle tre di notte da un paese in cui non sei mai stato, un sensore che in una linea di produzione inizia a vibrare in modo appena diverso dal solito, un server che all’improvviso invia verso l’esterno dieci volte più dati del normale. Sono situazioni molto diverse tra loro, ma hanno un elemento in comune: rappresentano qualcosa che si discosta dal comportamento atteso. Riconoscerle in tempo, tra milioni di eventi del tutto ordinari, è il compito della anomaly detection, cioè il rilevamento delle anomalie con il machine learning.
In questa guida scopri cos’è un’anomalia dal punto di vista dei dati, quali famiglie di algoritmi si usano per individuarla, come si valuta un sistema di rilevamento e quali errori evitare quando lo porti in produzione. L’obiettivo è darti una mappa chiara e duratura, utile sia se stai muovendo i primi passi sia se devi scegliere l’approccio giusto per un progetto reale.
Partiamo dalle basi.
Cos’è l’anomaly detection e perché è così importante
L’anomaly detection è l’insieme di tecniche che servono a identificare osservazioni, eventi o schemi che non si conformano al comportamento considerato normale in un insieme di dati. In letteratura trovi anche i termini outlier detection, novelty detection o rilevamento di deviazioni: le sfumature esistono, ma il cuore del problema è sempre lo stesso, separare il raro dal consueto.
Il punto di forza di questo approccio è che non devi necessariamente sapere in anticipo che aspetto avrà il problema. Un sistema antifrode basato solo su regole scritte a mano riconosce le truffe che qualcuno ha già descritto; un modello di rilevamento delle anomalie, invece, impara com’è fatta la normalità e segnala ciò che se ne allontana, comprese le minacce mai viste prima.
È proprio questa capacità di intercettare l’imprevisto a renderlo prezioso.
Outlier, novelty e anomalie: le differenze
Anche se spesso vengono usati come sinonimi, i termini hanno significati leggermente diversi. Un outlier è un dato che si trova lontano dalla massa degli altri all’interno dello stesso dataset: può essere un errore di misura, un refuso nell’inserimento o un caso reale ma estremo. La outlier detection lavora quindi su dati che possono già contenere valori anomali, e il suo scopo è isolarli.
La novelty detection, invece, parte da un insieme di addestramento considerato pulito, composto solo da esempi normali, e valuta se i nuovi dati in arrivo appartengono alla stessa distribuzione. È lo scenario tipico del monitoraggio: alleni il modello sul funzionamento corretto di una macchina e poi controlli ogni nuova lettura.
Il termine anomalia, infine, è il più generale e comprende entrambi i casi, con un’accezione in più: suggerisce che il dato insolito abbia un significato, che valga la pena indagare.
Perché le anomalie contano più dei dati normali
In molti contesti il valore di un’informazione è inversamente proporzionale alla sua frequenza. Le transazioni legittime sono la stragrande maggioranza, ma è la piccola frazione di frodi a generare perdite economiche. Lo stesso vale per i guasti industriali, gli attacchi informatici o i segnali clinici che precedono un peggioramento.
Per questo l’anomaly detection è considerata una delle applicazioni più concrete del machine learning: lavora su problemi in cui l’errore costa caro e in cui l’occhio umano, da solo, non riesce a stare dietro al volume dei dati.
I tre tipi di anomalie che devi saper riconoscere
Prima di scegliere un algoritmo è utile capire che forma ha l’anomalia che stai cercando. La classificazione più diffusa ne distingue tre tipi, e ognuno richiede strumenti diversi.
Anomalie puntuali
Sono il caso più semplice: un singolo dato è anomalo rispetto a tutti gli altri, indipendentemente dal contesto. Un acquisto da 9.000 euro su un conto che di solito ne spende 50 al mese è un esempio classico. Le anomalie puntuali si possono spesso individuare con metodi statistici di base o con algoritmi che misurano la distanza di ogni punto dalla massa dei dati.
Anomalie contestuali
Qui il dato è anomalo solo in un determinato contesto. Una temperatura esterna di 30 gradi è perfettamente normale ad agosto, ma diventa sospetta a gennaio in una città del Nord Italia. Un picco di traffico su un sito di e-commerce è atteso durante il Black Friday, molto meno alle quattro del mattino di un martedì qualunque.
Per gestire questo tipo di anomalie il modello deve tenere conto di variabili di contesto come l’ora, il giorno della settimana, la stagione o la posizione geografica.
Senza contesto, molti falsi allarmi sono garantiti.
Anomalie collettive
In questo caso nessun singolo dato è anomalo preso da solo, ma lo è una sequenza o un gruppo di dati considerati insieme. Pensa a una serie di piccoli accessi falliti distribuiti nel tempo su account diversi, ciascuno innocuo, che insieme rivelano un attacco coordinato. Oppure a un tracciato cardiaco in cui ogni battito rientra nei valori, ma la loro successione disegna un ritmo irregolare.
Le anomalie collettive sono le più difficili da individuare e richiedono modelli capaci di ragionare su sequenze, finestre temporali o relazioni tra entità.
Gli approcci: supervisionato, semi-supervisionato e non supervisionato
Il modo in cui affronti un problema di anomaly detection dipende soprattutto da un fattore: quanti esempi etichettati di anomalie hai a disposizione. Se vuoi un ripasso sulle differenze di fondo tra questi paradigmi, trovi una spiegazione dettagliata nella guida all’apprendimento supervisionato e non supervisionato.
Approccio supervisionato
Se possiedi un dataset in cui ogni esempio è etichettato come normale o anomalo, puoi trattare il problema come una classificazione. Il modello impara dai casi passati a distinguere le due classi e applica quanto appreso ai nuovi dati.
Il limite è duplice. Da un lato le anomalie sono rare, quindi il dataset sarà fortemente sbilanciato, con magari un caso positivo ogni mille o diecimila. Dall’altro, il modello riconoscerà bene le anomalie simili a quelle già viste, ma potrebbe non accorgersi di forme nuove. Nel contrasto alle frodi, dove i truffatori cambiano tattica di continuo, questo è un problema serio.
Approccio semi-supervisionato
È lo scenario della novelty detection: alleni il modello solo su dati normali, che di solito sono abbondanti e facili da raccogliere, e consideri anomalo tutto ciò che il modello fatica a spiegare. È molto usato nella manutenzione predittiva, dove hai mesi di registrazioni di macchinari che funzionano correttamente e pochissimi esempi di guasti.
Approccio non supervisionato
Quando non hai alcuna etichetta, cosa frequente nella pratica, il modello deve scoprire da solo la struttura dei dati e individuare ciò che non ci rientra. Si basa sull’ipotesi che le anomalie siano poche e diverse dalla maggioranza. È l’approccio più flessibile, ma anche quello in cui la valutazione dei risultati è più delicata, perché manca una verità di riferimento con cui confrontarsi.
Nella realtà, molti sistemi combinano i tre approcci.
Le principali tecniche e algoritmi
Esistono decine di algoritmi per il rilevamento delle anomalie. Conviene raggrupparli in famiglie, perché ogni famiglia si basa su un’idea diversa di cosa significhi essere anomalo.
Metodi statistici
Sono i più antichi e spesso i più sottovalutati. L’idea è modellare la distribuzione dei dati normali e segnalare i valori che hanno una probabilità molto bassa di appartenervi. Lo z-score, per esempio, misura di quante deviazioni standard un valore si allontana dalla media: una regola pratica diffusa considera sospetti i valori oltre tre deviazioni standard, anche se la soglia giusta dipende dai dati.
Un’alternativa più robusta è il metodo dell’intervallo interquartile, lo stesso che sta alla base dei grafici a scatola (box plot): considera anomali i valori che cadono molto al di sotto del primo quartile o molto al di sopra del terzo. Ha il vantaggio di non essere influenzato dagli stessi valori estremi che sta cercando.
Per le serie temporali si usano modelli di previsione: si stima il valore atteso in ogni istante e si segnala uno scarto troppo ampio tra previsione e osservazione reale. I metodi statistici sono veloci, facili da spiegare e funzionano bene su dati a poche dimensioni. Faticano invece quando le variabili sono tante e interagiscono in modo complesso.
Metodi basati sulla distanza e sulla densità
Questa famiglia parte da un’intuizione geometrica: un punto normale ha molti vicini, un punto anomalo si trova isolato. L’algoritmo k-nearest neighbors, nella sua versione per l’anomaly detection, assegna a ogni punto un punteggio basato sulla distanza dai suoi k vicini più prossimi. Più è lontano, più è sospetto.
Il Local Outlier Factor (LOF) affina questa idea confrontando la densità locale di un punto con quella dei suoi vicini. È utile quando i dati formano gruppi con densità diverse: un punto può trovarsi a una distanza normale in una zona rada e rappresentare comunque un’anomalia se si trova al margine di un gruppo molto compatto.
Strettamente legati a questi metodi sono gli algoritmi di clustering. DBSCAN, per esempio, raggruppa i punti in base alla densità e lascia fuori come rumore quelli che non appartengono a nessun gruppo, che diventano candidati naturali a essere anomalie. Se vuoi approfondire come funzionano gli algoritmi di raggruppamento, leggi la guida su cos’è il clustering e a cosa serve.
Isolation Forest
Isolation Forest merita una sezione a sé, perché è diventato uno degli algoritmi più usati per l’anomaly detection su dati tabellari. Il suo approccio ribalta la prospettiva: invece di descrivere la normalità, prova a isolare ogni punto.
Il meccanismo è semplice. L’algoritmo costruisce molti alberi casuali che dividono ripetutamente i dati scegliendo a caso una variabile e una soglia. I punti anomali, essendo pochi e diversi, vengono isolati con pochissime divisioni e finiscono vicino alla radice dell’albero. I punti normali, immersi in zone dense, richiedono molte più suddivisioni.
La lunghezza media del percorso diventa così il punteggio di anomalia. Isolation Forest è veloce, scala bene su grandi dataset e non richiede di calcolare distanze tra tutte le coppie di punti, il che lo rende adatto a molte variabili.
One-Class SVM
La One-Class Support Vector Machine è una variante delle classiche SVM pensata per lavorare con una sola classe. Impara un confine che racchiude la maggior parte dei dati normali nello spazio delle caratteristiche e considera anomalo tutto ciò che cade al di fuori. È efficace su dataset di dimensioni medie, ma diventa lenta su volumi molto grandi ed è sensibile alla scelta dei parametri.
Reti neurali e autoencoder
Quando i dati sono complessi, come immagini, segnali audio, log testuali o lunghe serie temporali, entrano in gioco le reti neurali. L’architettura più usata per il rilevamento delle anomalie è l’autoencoder: una rete che impara a comprimere i dati in una rappresentazione ridotta e poi a ricostruirli il più fedelmente possibile.
Se addestri un autoencoder solo su dati normali, diventerà bravissimo a ricostruire la normalità e molto meno bravo con tutto il resto. L’errore di ricostruzione diventa quindi il segnale: quando è alto, il dato probabilmente non somiglia a nulla di ciò che il modello ha visto. Trovi una spiegazione completa del funzionamento di queste reti nella guida agli autoencoder.
Per le sequenze si usano anche reti ricorrenti e modelli basati sull’architettura transformer, capaci di prevedere il prossimo valore di una serie e di misurare quanto la realtà se ne discosta. Sono strumenti potenti, ma richiedono più dati, più calcolo e più attenzione nella messa a punto.
Non sempre il modello più sofisticato è quello giusto.
Come si valuta un sistema di anomaly detection
Valutare un modello di rilevamento delle anomalie è più difficile di quanto sembri, e molti progetti falliscono proprio qui. Il problema principale è lo sbilanciamento: se le anomalie sono l’uno per mille dei dati, un modello che dichiara tutto normale ottiene un’accuratezza del 99,9 per cento senza aver rilevato nulla.
Per questo l’accuratezza da sola è una metrica fuorviante. Servono indicatori che guardino a come il modello si comporta sulla classe rara. La precisione ti dice quante delle segnalazioni sono anomalie reali; il richiamo (recall) ti dice quante delle anomalie esistenti il modello è riuscito a trovare. L’F1 score combina le due misure in un solo numero. Se vuoi ripassarle con calma, la guida alle metriche di valutazione nel machine learning le spiega con esempi pratici.
Curve e soglie
Quasi tutti gli algoritmi di anomaly detection non restituiscono una risposta secca, ma un punteggio. Sei tu a decidere la soglia oltre la quale un dato diventa un allarme, e questa scelta sposta l’equilibrio tra falsi positivi e falsi negativi.
Per confrontare i modelli indipendentemente dalla soglia si usano le curve. La curva ROC e l’area sottesa (AUC) sono molto diffuse, ma con classi fortemente sbilanciate possono dare un’impressione troppo ottimistica. In questi casi la curva precisione-richiamo, e la relativa area, è di solito più informativa, perché si concentra proprio sulla classe minoritaria.
Il costo degli errori
La metrica giusta, alla fine, dipende da quanto ti costa ciascun tipo di errore. In un sistema di sicurezza per un impianto industriale un guasto non rilevato può essere disastroso, quindi conviene accettare qualche falso allarme in più. In un servizio antifrode che blocca le carte dei clienti, invece, troppi falsi positivi significano clienti frustrati e chiamate al servizio assistenza.
Definire questi costi insieme a chi conosce il business è un passaggio che non puoi saltare.
Le applicazioni concrete nei diversi settori
L’anomaly detection è una tecnologia trasversale, che trovi ovunque ci siano grandi flussi di dati e comportamenti da monitorare. Ecco i campi in cui è più consolidata.
Finanza e contrasto alle frodi
Banche, circuiti di pagamento e piattaforme di e-commerce analizzano ogni transazione in tempo reale per individuare quelle sospette. I modelli considerano importo, luogo, orario, dispositivo, frequenza degli acquisti e decine di altre variabili, confrontando il comportamento attuale con lo storico del cliente. Lo stesso principio si applica all’antiriciclaggio e alla sorveglianza dei mercati finanziari, dove si cercano schemi di trading anomali.
Sicurezza informatica
Nei sistemi di rilevamento delle intrusioni e nelle piattaforme di analisi del comportamento degli utenti, l’anomaly detection serve a riconoscere accessi insoliti, movimenti laterali all’interno di una rete, esfiltrazioni di dati o processi che si comportano in modo strano su un server. Il vantaggio rispetto alle firme tradizionali è la capacità di intercettare attacchi nuovi, che non corrispondono a schemi già catalogati.
Industria e manutenzione predittiva
Sensori di vibrazione, temperatura, pressione e consumo elettrico generano flussi continui di dati. Un modello addestrato sul funzionamento corretto di un macchinario può accorgersi di piccole deviazioni giorni o settimane prima che si trasformino in un guasto, permettendo di programmare l’intervento invece di subirlo. È uno dei casi d’uso con il ritorno economico più facile da misurare.
Sanità
In ambito medico il rilevamento delle anomalie aiuta a individuare segnali irregolari nei tracciati elettrocardiografici, valori di laboratorio fuori norma rispetto alla storia del paziente o aree sospette nelle immagini diagnostiche. In questi contesti il modello affianca il medico, segnalando i casi da guardare con più attenzione, e non lo sostituisce nelle decisioni.
Monitoraggio dei sistemi IT e dei dati
Le piattaforme di osservabilità usano l’anomaly detection per tenere d’occhio metriche come latenza, tassi di errore e uso delle risorse, avvisando i tecnici quando qualcosa si discosta dall’andamento abituale. Lo stesso principio si applica alla qualità dei dati: un improvviso crollo dei valori in una tabella o un campo che smette di essere popolato possono indicare un problema a monte nella pipeline.
Anche le metriche di marketing, come conversioni e traffico, beneficiano di questi controlli.
Come costruire un sistema di anomaly detection passo dopo passo
Mettere in piedi un sistema efficace richiede più metodo che magia. Il percorso tipico si articola in alcune fasi ben riconoscibili.
La prima è la definizione del problema. Devi chiarire cosa consideri anomalo, quale tipo di anomalia ti aspetti (puntuale, contestuale o collettiva), quali dati hai a disposizione e quanto costano i falsi positivi rispetto ai falsi negativi. Senza questa chiarezza rischi di ottimizzare il modello per l’obiettivo sbagliato.
La seconda è la preparazione dei dati. Qui conta molto la qualità: valori mancanti, duplicati ed errori di registrazione possono generare anomalie fittizie che inquinano i risultati. È anche il momento di costruire le variabili giuste, per esempio aggregati su finestre temporali, rapporti rispetto alla media storica o indicatori di contesto come l’ora e il giorno.
La normalizzazione delle variabili è fondamentale per gli algoritmi basati sulla distanza.
La terza fase è la scelta del modello. Un buon consiglio pratico è partire semplice: un metodo statistico o un Isolation Forest ti danno rapidamente una baseline con cui confrontare soluzioni più complesse. Passa a reti neurali e autoencoder solo se i dati lo richiedono e se il guadagno è misurabile.
La quarta è la definizione della soglia e la validazione. Anche senza etichette complete, puoi chiedere a un esperto di dominio di esaminare un campione delle segnalazioni del modello, per stimare quante siano davvero rilevanti e calibrare la soglia di conseguenza.
L’ultima fase è la messa in produzione con un ciclo di feedback. Ogni allarme verificato da un analista, confermato o scartato, diventa un’informazione preziosa per migliorare il modello nel tempo e, gradualmente, per passare da un approccio non supervisionato a uno semi-supervisionato o supervisionato.
Gli strumenti più usati
Per iniziare non servono piattaforme costose. In Python la libreria scikit-learn offre implementazioni pronte di Isolation Forest, Local Outlier Factor, One-Class SVM ed Elliptic Envelope. PyOD è una libreria dedicata che raccoglie decine di algoritmi di outlier detection con un’interfaccia uniforme, comoda per confrontarli. Per gli autoencoder e i modelli più avanzati si usano framework di deep learning come PyTorch o TensorFlow. Molte piattaforme cloud e di osservabilità includono inoltre funzioni di rilevamento delle anomalie già integrate, utili quando vuoi risultati rapidi senza sviluppare tutto da zero.
Gli errori più comuni e come evitarli
Anche con l’algoritmo giusto, alcuni errori ricorrenti possono rendere inutile un sistema di anomaly detection. Conoscerli in anticipo ti fa risparmiare settimane di lavoro.
Il primo è la fatica da allarme. Un sistema che genera centinaia di segnalazioni al giorno, la maggior parte irrilevanti, finisce rapidamente per essere ignorato da chi dovrebbe usarlo. Meglio poche segnalazioni affidabili, ordinate per gravità, che un flusso continuo di falsi positivi.
Il secondo è ignorare il cambiamento nel tempo. La normalità non è statica: abitudini dei clienti, stagionalità, nuovi prodotti o aggiornamenti dei macchinari spostano continuamente il comportamento di riferimento. Questo fenomeno, chiamato concept drift o deriva dei dati, richiede di monitorare le prestazioni del modello e di riaddestrarlo con regolarità.
Un modello che non viene aggiornato invecchia in silenzio.
Il terzo errore è addestrare un modello di novelty detection su dati che contengono già anomalie non riconosciute. Se il dataset considerato normale è contaminato, il modello imparerà a considerare normali anche alcuni casi problematici. Dedica tempo alla pulizia del set di addestramento, eventualmente con un primo passaggio di outlier detection.
Il quarto è la mancanza di spiegabilità. Un analista che riceve un allarme ha bisogno di capire perché il modello lo ha generato: quali variabili hanno pesato, rispetto a quale riferimento il comportamento è insolito. Tecniche di interpretabilità come i valori SHAP, o semplicemente l’indicazione delle variabili più fuori norma, rendono le segnalazioni molto più utilizzabili.
L’ultimo, ma non meno importante, riguarda la privacy. Molti sistemi di anomaly detection analizzano comportamenti di persone, come acquisti, accessi o spostamenti. In Europa questo significa rispettare il GDPR, limitare i dati al necessario e valutare con attenzione l’impatto sui diritti degli interessati, soprattutto quando le segnalazioni portano a decisioni automatiche come il blocco di un conto.
Conclusioni
L’anomaly detection è una delle applicazioni del machine learning con il legame più diretto con il valore concreto: fermare una frode, prevenire un guasto, accorgersi di un attacco prima che faccia danni. Il suo fascino sta nel fatto che non ti chiede di prevedere tutto, ma di conoscere bene la normalità per riconoscere ciò che ne esce.
Ricorda i punti chiave. Capisci prima che tipo di anomalia stai cercando, scegli l’approccio in base alle etichette che hai, parti da modelli semplici come i metodi statistici o Isolation Forest e valuta i risultati con metriche adatte a classi sbilanciate, non con l’accuratezza. Soprattutto, progetta il sistema pensando alle persone che dovranno gestire gli allarmi e aggiornalo man mano che la normalità cambia.
Se vuoi mettere subito in pratica quello che hai letto, prendi un dataset che conosci bene, per esempio i dati di vendita o di traffico del tuo sito, prova un Isolation Forest con scikit-learn e osserva quali giorni il modello considera anomali. Poi continua a esplorare le altre guide di machine learning su intelligenzaartificiale.net per costruire, un tassello alla volta, una conoscenza solida dell’intelligenza artificiale.
Tutta l'AI della settimana, in 5 minuti, nella tua email
- Le guide e le notizie della settimana, divise per rubrica
- Solo ciò che conta, verificato e spiegato in italiano
- Niente spam, ti cancelli con un clic
Daniele Della Corte
Fondatore di IntelligenzaArtificiale.net · Consulente SEO e AI dal 2008
Prima della pubblicazione controlla fonti, numeri e nomi, e risponde personalmente di quello che leggi. Lavora con l'intelligenza artificiale da oltre 7 anni: ha fondato BeProud.ai e ha progettato la redazione di questo sito.
Consulenza AIVuoi applicare l'AI al tuo lavoro? Ti aiuto a scegliere cosa automatizzare e a realizzarlo.
Scopri la consulenza
