Aumentare la produttività della manutenzione con il Machine Learning

Come Barbagli ha affrontato l’argomento partendo da tecnologie consolidate come la Support Vector Machine

  • Aprile 11, 2018
  • 1785 views
  • Figura 1 - Dai dati di campo al calcolo degli indicatori di prestazione
    Figura 1 - Dai dati di campo al calcolo degli indicatori di prestazione
  • Tabella 1 - Attributi caratterizzanti la prestazione
    Tabella 1 - Attributi caratterizzanti la prestazione
  • Tabella 2 - Percentuale di valori predetti errati in funzione di determinate scale di valori di soglia
    Tabella 2 - Percentuale di valori predetti errati in funzione di determinate scale di valori di soglia

Introduzione

Barbagli è un’azienda che offre servizi opera­zionali per il settore dell’industria delle multi-u­tility, tra cui gestione delle letture dei consumi, fatturazione e gestione dell’incasso (reading, billing & cashing), installazione e manutenzione dei contatori, gestione delle utenze morose. I servizi erogati differiscono significativamente sia in termini di abilità tecniche richieste agli operatori di campo, sia per il livello di servizio contrattualmente accordato al committente. Il personale tecnico di campo riceve dai propri supervisori (Operations Manager, OM) il pac­chetto di ordini di lavoro da svolgere.

In taluni casi l’operatore può organizzare in autonomia il proprio programma giornaliero; in altri casi, pur permanendo un certo grado di autonomia, egli è vincolato al rispetto di fasce orarie comandate più o meno estese. Il mana­gement ha l’esigenza di monitorare le presta­zioni degli operatori, per individuare le pratiche virtuose, gli eventuali errori e le esecuzioni anomale su cui intervenire. Per identificare le prestazioni anomale ci si può basare sul con­fronto tra la prestazione rilevata e la presta­zione standard. Tuttavia, sono molteplici i fattori esogeni e non determinabili né controllabili dall’azienda, che possono influenzare la pre­stazione individuale: l’eterogeneità dei servizi offerti, l’incertezza connessa alle rilavorazioni, la diversa qualificazione ed esperienza dell’o­peratore, le caratteristiche dell’area geografica da servire, la variabilità. E’ complesso definire gli standard di riferimento sulla base di modelli analitici di processo. Si è quindi proposto di uti­lizzare il machine learning per lo sviluppo di un modello predittivo della prestazione, a partire da determinate caratteristiche, e di impiegare tale modello come una black-box da impiegare per il confronto con la prestazione effettiva, ai fini della identificazione delle anomalie.

Questo è stato possibile perché l’azienda di­sponeva di una gran quantità di dati raccolti dal campo. Ogni operatore è infatti dotato del pro­prio dispositivo mobile (PDA), che viene usato sia per ricevere e visualizzare il pacchetto di ordini di lavoro della giornata, sia per registra­re – con una procedura guidata – i tempi di esecuzione (inizio e fine operazione) e il tipo di attività svolta. Questi dati sono raccolti nel database aziendale e possono quindi esse­re elaborati per la costruzione di un modello predittivo. La prestazione così stimata viene confrontata in tempo reale con quella effetti­va, al fine di rilevare i tempi anomali. Il gap di prestazione (i.e. prestazione stimata – pre­stazione effettiva) può essere impiegato anche per rideterminare gli scostamenti di costo e di tempo a finire del pro­gramma settimanale, e quindi le variazioni di marginalità del contratto di appalto. Per valutare in modo oggettivo i tempi di esecuzione, il valore di riferimento della prestazione deve considerare il maggior numero di caratteristiche. Data la varietà e la numerosità dei dati disponibili, si è deciso di adottare una specifica classe di algoritmi di Machine Learning: le cosiddette Macchine a Vettori di Supporto (Support Vector Machine, SVM). Nel seguito della memoria si illustra il procedimento applicativo di tale tecnologia al problema in oggetto, la cui sintesi è illustrata nella Figura 1.

Sviluppo dello strumento

Le SVM sono un popolare metodo di Machine Learning che trae origine dalla teoria statistica dell’apprendimento e che può essere utilizzato per scopi di classificazione, regressione ed altri compiti di apprendimento automatico. Lo scopo di un algoritmo di SVM è produrre un modello – la “macchina” – che, opportunamente addestrato, sia in grado di predire il valore di una variabile incognita a partire da un certo insieme di attributi (i.e. caratteristiche) che la caratterizzano: proprio come un manutentore analizza lo storico dei gua­sti della macchina per comprendere le cause e quindi prevenire simili futuri malfunzionamenti, così gli algoritmi di SVM utilizzano i valori noti assunti dalla variabile ed i suoi attributi per modellizzare e quindi prevedere il suo compor­tamento.

Il modello predittivo si ottiene con le seguenti fasi:

  • Stabilire gli attributi con cui si vuole caratterizzare la prestazione (variabili indipendenti);
  • Definire le metriche per la misura della prestazione (indicatori, o KPI) (va­riabili dipendenti);
  • A partire dai dati del database aziendale, produrre un dataset con i dati necessari sia per addestrare che per validare il modello SVM.
  • Sottoporre a test il modello SVM ottenuto.

Nel caso in esame, la metrica scelta per la misura della prestazione è il tempo ciclo complessivamente impiegato per svolgere l’attività: è dato dalla somma dei tempi di spostamento per recarsi – conclusa la precedente attività – pres­so il luogo in cui deve erogare il servizio, e di esecuzione dell’intervento. Per l’addestramento del modello, dopo un attento confronto con OM e direzione aziendale abbiamo deciso di usare la mediana dei tempi ciclo per caratte­rizzare la prestazione individuale di riferimento. Questo parametro è stato calcolato per ogni operatore, su un numero consistente di attività della stessa tipologia, stesso genere, stessa accessibilità al contatore e stesso esito. Sono quindi state selezionate le lavorazioni effettuate in un determinato periodo temporale, ed abbiamo estratto i dati su cui poi è stata calcolata la statistica in oggetto. Il risultante set di dati (circa 1200 record) è stato poi suddiviso in due parti, uno per l’addestramento ed uno per la validazione.

La scelta e composizione del primo (pari al 75% del totale) deve essere particolarmente accorta perché è uno dei fattori determinanti la sua capacità di ge­neralizzazione – cioè la capacità di fornire una ri­sposta corretta a nuovi dati di input – e per questo deve essere quanto più possibile rappresentativo delle prestazioni di riferimento che cerchiamo di ottenere con il modello SVM. L’altro fattore deter­minante è la scelta della combinazione ottimale dei parametri caratterizzanti il modello (validazione), che viene fatta valutando il modello associato ad ogni combinazione di parametri sulla seconda parte del set di dati: quando l’errore che contraddistingue la predizione dei dati per la validazione raggiunge un minimo, la combina­zione di parametri corrispondente è quella ottimale. Infine, con la fase di test si valuta la capacità predittiva del modello su nuovi dati di input. Nella tabella 1 si sintetizzano gli attributi impiegati per l’addestramento del modello, e che sulla base della esperienza del settore caratterizzano la pre­stazione.

Risultati

I risultati della fase di test sono illustrati in Tabella 2. Prendendo a riferi­mento il set di dati utilizzato per effettuare l’addestramento e validazione del modello (ovvero il campione di valori di tempo ciclo di riferimento) e definendo l’errore percentuale dei valori predetti come il rapporto della differenza tra il target predetto e quello effettivo rispetto a quest’ultimo, si può valutare oggettivamente la bontà del modello per determinati valori di soglia dell’errore di predizione: si può notare come per un valore di soglia pari al 20%, ovvero se si accettassero per buoni tutti quei valori predetti che si differenziano meno del 20% dal valore effettivo (valori predetti entro soglia) e non buoni gli altri (valori predetti fuori soglia), approssimativamente un valore su die­ci di quelli predetti con il modello SVM sarebbe da considerare un errato benchmark della pre­stazione; se invece decidessimo di tollerare una soglia del 30%, solo meno del 4% dei valori pre­detti sarebbe da considerare sbagliato.

Conclusioni

L’applicazione in oggetto si è rivelata estrema­mente semplice ed efficace per lo sviluppo di modelli predittivi di tipo black-box, anche a par­tire da dati “sporchi”, che possono essere rapi­damente estratti ed elaborati per caratterizzare la prestazione degli operatori di campo, per interventi manutentivi con elevata varibilità nei tempi e nelle caratteristiche esecutive. Il mo­dello consente di intercettare in modo adeguato (ad esempio, con circa un errore del 10%) le anomalie di prestazione rilevate (se è tollerabile una confidenza del 20%). Complessivamente, la bontà del modello deve essere giudicata in base al tipo di applicazione che se ne intende fare. Una soglia di accettabilità del 20% o del 30% si può ritenere am­missibile per individuare prestazioni anomale a livello complessivo di commessa, per cor­reggere il tiro con il committente nei successivi contratti o lotti di lavorazione. Per utilizzi più spinti, è certamente consigliato potenziare la fase di ad­destramento.

Un modello più “addestrato” può anche facilitare l’identificazione, sempre ex post, di esecuzioni non conformi. Un sistema di questo tipo può quindi facilitare i super­visori nel controllo quotidiano o settimanale delle prestazioni di commmessa, e nel controllo delle prestazioni individuali della forza di campo, senza necessità di modelli analitici o calcoli complessi. Le tecniche SVM possono gestire facilmente dati eterogenei e multidimensionali, senza che sia ne­cessario conoscere o discriminare il modo in cui il processo viene effettivamente condotto. Questo è particolarmente indicato per implementazioni in sistemi in cui vi è una elevata varietà e dinamicità delle specifiche di erogazione dei servizi. Infine, il modello può essere impiegato per supportare la schedulazione dinamica delle attività.

Cosimo Barbieri, Ricercatore, IBIS LAB, Scuola di Ingegneria dell’Università di Firenze

Mario Rapaccini, Prof. Associato, Gestione dell’Innovazione, Scuola di Ingegneria dell’Università di Firenze