Quali sono le tecnologie chiave che permettono di gestire e analizzare in modo ottimale grandi moli di dati?
Non c’è un’unica tecnologia che sviluppa un sistema dedicato all’analisi predittiva, ma è corretto affermare che questo tipo di risultati si ottiene da un insieme coordinato di processi organizzativi e tecnologie che aiutano ad ottenere il massimo valore dalle informazioni.
La gestione dei dati, con particolare attenzione agli aspetti di qualità del dato, tecnologie di data mining, Hadoop e Spark per i Big Data, analisi di tipo in-memory per avere risposte in tempo reale, analisi predittive, text mining per l’analisi semantica dei dati non strutturati, sono tutti elementi importanti da conoscere, implementare e coordinare per ottenere risultati di business che siano evidenti.
Anche le modalità di memorizzazione dei dati fanno la differenza.
L’utilizzo di un approccio che segue le linee guida del concetto di Data Lake garantisce di poter archiviare in modo estremamente efficiente grandissime quantità di dati potendo gestire in modo molto efficace l’organizzazione a più livelli legata al pre-processamento del dato (normalizzazione, consolidamento, arricchimento, etc.)
Tale approccio permette, inoltre, di eseguire query tipo SQL direttamente sui file con strumenti quali PrestoDB, il motore di ricerca di Facebook, per poter sviluppare in modo molto semplice delle analisi statistiche immediate sui dati memorizzati nel Data Lake.
Un esempio utile e interessante di analisi predittiva è sicuramente quello descritto nel paper “Anomaly Detection for a Water Treatment System Using Unsupervised Machine Learning” (https://arxiv.org/abs/1709.05342).
In tale paper viene descritta un’applicazione di tecniche di Machine Learning non supervisionato di Anomaly Detection per predire in tempo reale l’insorgere di anomalie in un sistema di benchmark chiamato SWaT.
SWaT rappresenta una versione ridotta di un impianto di trattamento delle acque industriali che produce circa 20 litri al minuto di acqua filtrata attraverso unità di ultra-filtrazione a membrana e osmosi inversa.
Il sistema viene controllato da dei sistemi automatici configurabili in tempo reale in remoto e, per questo motivo, questo modello ha trovato ampio utilizzo soprattutto nel campo della cybersecurity.
Il modello di predizione è stato addestrato con sette giorni di dati, acquisiti dai sensori del sistema, durante i quali non sono stati effettuati attacchi malevoli verso i sistemi di gestione automatica dell’impianto.
Grazie invece ai dati, acquisiti dagli stessi sensori, relativi a 4 giorni durante i quali sono stati effettuati 36 attacchi malevoli di diverso tipo è stato possibile validare la bontà del modello.
Validazione del modello
Per la validazione del modello sono state usate delle metriche quali la
- precisione: percentuale di positivi classificati correttamente;
- il richiamo: tasso di veri positivi;
- media armonica tra le due, detta punteggio F1.
Esiste un chiaro compromesso tra precisione e richiamo.
Ad esempio, in presenza di un set di dati relativamente bilanciato, un classificatore che stima istanze soprattutto positive avrà un richiamo elevato ma una precisione più bassa, poiché molte delle istanze negative verranno classificate in modo errato dando come risultato una serie di falsi positivi.
Per questo motivo, come è stato fatto nell’articolo citato sopra, è sempre importante testare più modelli realizzati con tecniche diverse in modo da poter scegliere con gli opportuni criteri quale modello si adatta meglio al tipo di dataset da analizzare.
Nel caso specifico dell’articolo di Inoue, le metriche di sopra hanno raggiunto rispettivamente, per entrambe i modelli realizzati, valori superiori al 90%, 65% e 80%, indicando che entrambe i modelli sono di qualità elevata pur lasciando dei margini per successivi miglioramenti con l’impiego di tecniche diverse.
Rendere il modello efficace
L’efficacia del modello che si realizza è legata, come abbiamo visto nei vari paragrafi di questo post, a diversi fattori.
Da un lato, la qualità del dato gioca un ruolo importante nella fase iniziale di predisposizione del sistema per la realizzazione del modello.
Riuscire a ripulire il dato da tutto quello che può essere definito come rumore, come ad esempio l’utilizzo di feature non strettamente legate al fenomeno da analizzare, l’arricchimento del dato mediante l’unione di segnali provenienti da più fonti tutte collegate al processo sotto studio, la sua memorizzazione su sistemi distribuiti su Cloud che permettano in modo agevole di poterlo interrogare per normalizzarlo, rimuovere i duplicati e consolidarlo, fanno sì che il modello realizzato non sia affetto da problematiche non dipendenti, ad esempio, da un’errata configurazione dei parametri, bensì dal dato stesso.
Dall’altro, la scelta corretta della tecnica di realizzazione del modello è fondamentale per non soffrire delle problematiche legate alla natura stessa del procedimento di apprendimento dell’intelligenza che sta dentro l’approccio di Machine Learning utilizzato.
Alcuni modelli performano meglio su dati che presentano certe caratteristiche di distribuzione piuttosto che altre, quindi è sempre opportuno sperimentare con approcci diversi quale tecnica si adatta meglio ai dati, validando di volta in volta i risultati con metriche quali quelle descritte nel paragrafo precedente.
L’uso combinato di questi approcci nello sviluppo del processo di realizzazione di un modello di analisi predittiva garantisce di ottenere risultati apprezzabili con rigore scientifico e metodologie ingegneristiche, che oggi sono lo stato dell’arte nel campo della ricerca nel campo del Machine Learning e, in particolare dell’analisi predittiva.