L’annoso problema della previsione
Se il mio modello mi predice il guasto e io intervengo, come faccio ad essere sicuro che si sarebbe presentato? Se vado a fare un’ispezione ma non trovo nessuna anomalia, ha sbagliato il modello o sono io che non ho cercato bene perché il modello è troppo sensibile?
Queste domande saltano sempre fuori dopo che i modelli di manutenzione predittiva sono online e pronti per essere usati, e rischiano di affondare progetti promettenti perché non si sa bene come rispondere.
In questo post, cercherò di fare ordine, proponendo l’interpretazione maturata nei vari progetti degli ultimi anni.
Valutare la performance
Per valutare se un modello funziona, abbiamo uno strumento molto potente a disposizione: le metriche! Essendo il sistema di manutenzione predittiva sempre un algoritmo ad apprendimento supervisionato, è necessario che ci siano guasti nel dataset di storico, su cui è possibile costruire casistiche ipotetiche e scenari what if. Ci concentreremo in questa sede sui modelli di manutenzione predittiva veri, ovvero i classificatori binari e multi classe.
Per capire le metriche, introduciamo il concetto di classe positiva e classe negativa, ovvero il modo con cui si differenziano le due classi nei classificatori binari, o ci si concentra su una singola classe nei multi classe. In base a queste classi, si riconoscono quattro tipologie di predizione: quando i modelli indovinano si parla di veri positivi e veri negativi, quando non ci azzeccano si parla invece di falsi positivi e falsi negativi.
Questa differenziazione è utile per definire alcune delle metriche, che si basano sulla valutazione rispetto alla classe positiva.
Esploriamo ora 4 metriche di riferimento, cercando di capire quando usarle.
Accuracy
L’accuracy rappresenta quante predizioni giuste fa il modello su tutte le classi. Funziona bene se le classi sono bilanciate, ovvero sono simili in termini di numero di osservazioni. La vita reale però non si presenta mai in modo equilibrato, per cui l’accuracy spesso non è una buona idea. Infatti, se avessi 1000 osservazioni di cui 700 negative e 300 positive, e il modello predicesse sempre negativo, avrei un’accuracy del 70% ma non intercetterei mai classi positive.
Precision
La precision rappresenta la quantità di predizioni positive corrette (veri positivi) rispetto alla totalità delle previsioni positive (veri+falsi positivi).
Un modello che è stato allenato massimizzando la precision genererà pochi falsi positivi. Di solito in manutenzione la classe positiva è rappresentata dallo stato di guasto. Avere pochi falsi positivi vuol dire che raramente il modello mi dirà hey, c’è un problema, vai a fare un’ispezione ma poi il problema non c’è. Il rovescio della medaglia è che succederà molto più spesso che il modello mi dica no worries, tutto bene, quando in realtà c’è un probabile guasto.
La precision si utilizza come riferimento quando è meno costoso un guasto non gestito che un’uscita a vuoto. Ad esempio in asset distribuiti come pompe di sollevamento, cabine di telecomunicazione o altro, in cui se si guasta qualcosa non è gravissimo ma mandare qualcuno a vuoto può diventare oneroso.
Recall
La recall è la cugina della precision, e spinge nella direzione opposta. E’ infatti il rapporto tra veri positivi e veri positivi+falsi negativi, ovvero il totale delle osservazioni effettivamente positive nel dataset.
Modelli con recall massimizzata non mancheranno un colpo nel predire il guasto, però potrebbero essere un po’ indugenti nelle segnalazioni, generando falsi positivi più spesso.
Questa metrica si utilizza in manutenzione nei casi in cui il costo di un’ispezione è basso, mentre un guasto non previsto potrebbe causare gravi danni. Ad esempio, si utilizza nei processi in cui i manutentori sono in sito.
F1 Score
A fare da mediatore tra precision e recall, che fanno a cazzotti, c’è l’F1 Score. Questa metrica valuta la capacità del modello nel suo insieme, in modo simile all’accuracy. A differenza dell’accuracy però gestisce molto bene le classi non bilanciate.
L’F1 Score è strutturato per bilanciare recall e precision: massimizzarlo significa creare un modello che ha circa la stessa probabilità di generare un falso positivo o un falso negativo.
Normalmente questa è la metrica che più spesso viene ottimizzata, per generare modelli più equilibrati possibili ed evitare di generare troppi falsi positivi o negativi.
Dalle metriche al campo
Una volta che in fase di allenamento si verificano le metriche, si utilizzano i guasti dello storico per calibrare il potere predittivo in modo che il ticket venga generato abbastanza presto, ma non così presto da rendere difficile una risoluzione e una registrazione dell’effettivo stato anomalo.
I modelli online devono poi essere riallenati ogni 6 o 12 mesi. Su cosa? Utilizzando i risultati delle ispezioni fatte dai manutentori quando il modello lo ha richiesto, oltre alla segnalazione di eventuali guasti non segnalati dal modello. Questo processo si chiama strategia Human In The Loop, quando le persone in campo e i modelli collaborano fornendo strumenti per migliorare la performance reciprocamente.