Questo approfondimento introduce il tema degli algoritmi delle “time-series” che sono alla base del concetto di “previsione” e sul quale Humanativa sta investendo al fine di fornire ai propri Clienti servizi predittivi, ritenendo urgente quanto sta dettando l’esigenza di mercato e cioè: disporre di automatismi di previsione sia per le business unit orientate al Cliente (Customer Care, Marketing, Commerciale) sia per le business unit orientate alla Produzione del Prodotto/Servizio.
L’esigenza del Mercato: la previsione è un bisogno primario
Oggi avere la disponibilità del dato in real-time o in near real-time è un fattore determinante per la crescita di una azienda perché contribuisce a rendere competitive le sue strategie di business. La latenza della disponibilità del dato “aggiornato” si abbassa sempre di più grazie alle tecnologie sempre più evolute, ragion per cui fare previsione sta diventando un processo “continuo” ed un bisogno “primario”. Ad esempio, con l’arrivo del 5G, la latenza di trasmissione di dati si abbassa sempre più favorendo servizi di ML predittivi in real-time e near real-time.
Fare previsioni, quindi, non è più soltanto un bisogno primario dell’IOT, dei processi di prevenzione industriale (Predictive Maintenance) o dei servizi di SmartCity, ma più in generale investe varie strutture organizzative di una azienda, dalla relazione con i propri Clienti e il loro grado di soddisfazione di un servizio, alla riduzione di rischi di processo realizzativo / operativo / industriale di un prodotto, al miglioramento continuo della qualità dei processi interni, al governo dei costi e del ritorno di investimento.
La risposta Humanativa all’esigenza del mercato: AutoForecast
In Humanativa siamo partiti dall’assunzione che un moderno Sistema di Previsione si deve basare sui seguenti concetti fondamentali:
- Seguire il cambiamento dei dati nel tempo ed aggiornarsi velocemente
- Avere la disponibilità dei dati temporali
- Seguire un processo che segue il principio di AutoML
- Essere un servizio end-to-end orientato ai servizi in Cloud
Oltre a mettere in gioco l’esperienza maturata sul campo dei Servizi di Machine Learning, stiamo seguendo il principio di AutoML per accelerare e automatizzare ove possibile il processo end-to-end di Machine Learning e stiamo seguendo l’evoluzione dei servizi in Cloud che permettono di usufruire di capacità progressive sia di macchine che soprattutto di elaborazione di calcolo.
Abbiamo quindi progettato e realizzato AutoForecast: il motore di previsione di Humanativa basato su Machine Learning. Questo motore oggi disponibile come servizio, si avvale sia di un approccio metodologico che di una rimodulazione efficiente delle fasi del processo di ML che sottintendono alla produzione di Modelli di Previsione.
L’obiettivo che ci siamo posti è stato di rendere “industriale” il processo di previsione, razionalizzando e automatizzando i componenti di alcune fasi del processo di ML in modo da fornire, come servizio, uno strumento di AutoML che fosse in grado di generare il miglior modello di ML possibile in funzione dei dati disponibili e del contesto di riferimento.
Il modulo di AutoForecast si è prefisso la copertura di tre parti essenziali:
- Per la fase di EDA (Exploratory Data Analysis), di introdurre tecniche profonde di analisi del dato nel tempo.
- Per la fase di Produzione dei Modelli, di introdurre un motore di AutoForecast che, sfruttando i risultati delle analisi della fase di EDA, fosse in grado di definire automaticamente un protocollo per la produzione di un modello efficiente.
- Per la fase di MLOps: di replicare automaticamente Modello e Pipeline nei diversi ambienti MLOps in Cloud per predisporsi alla Produzione.
Tutte le tre fasi sopra citate, opportunamente rimodulate, sono state essenziali allo scopo di:
- Rendere automatico il processo di generazione del Modello (Modeling), semplificandone l’uso per un esperto del dominio, ma allo stesso tempo permettendo ad un Data Scientist esperto di poter ulteriormente raffinare l’analisi o i risultati del Modello.
- Governare e monitorare l’efficienza del risultato finale (MLOps) di un servizio predittivo monitorandone l’accuratezza e la riduzione dell’errore.
- Automatizzare il re-training secondo un protocollo di ottimizzazione determinato dal miglior bilanciamento possibile tra costi di produzione e governo della sensibilità del risultato.