La squisita capacità dell’AI di intercettare la correlazione
L’intelligenza artificiale, e in particolare il sottoinsieme dell’IA chiamato apprendimento automatico (machine learning, mai sentito nominare?) è in grado di imparare dal passato a prevedere il futuro. Il machine learning impara in molti modi, tutti accomunati da una cosa: i dati storici. I dati possono essere parametri di campo, dati dai software di controllo o di gestione, immagini, e-mail e qualsiasi altra informazione registrata da qualche parte. Il sistema di apprendimento automatico guarda tutti i dati registrati, e capisce come questi dati si associano, cambiano comportamento insieme, si presentano o meno in determinati contesti comuni – insomma, si correlano.
Ma cosa significa correlazione?
In statistica, una correlazione è una relazione tra due variabili tale che a ciascun valore della prima corrisponda un valore della seconda, seguendo una certa regolarità.[1][2] La correlazione non dipende da un rapporto di causa-effetto quanto dalla tendenza di una variabile a cambiare in funzione di un’altra.
Dalla pagina Wikipedia dedicata alla correlazione
Quindi, il machine learning è molto – molto – bravo a capire come le variabili in un dataset cambiano comportamento insieme. Ad esempio, se a determinate condizioni operative negli ultimi 4 anni si è sempre presentato un guasto in un certo modo. Oppure se determinati pixel organizzati in determinate forme nelle immagini passate erano presenti in foto di difetto superficiale o surriscaldamento identificabile tramite termocamera. D’altronde, l’intelligenza artificiale replica le capacità cognitive tipiche dell’uomo, e anche noi siamo squisitamente bravi a intercettare la correlazione, spesso anche quando questa non c’è – avete presente le superstizioni o l’oroscopo?
Il problema della correlazione è che non sempre è legata a causalità. I sistemi di machine learning e deep learning imparano dai dati storici a dare una risposta realistica per il futuro, ovvero allineata a come si è comportato il sistema o il dato nel passato. Ma saper replicare un comportamento è molto diverso dall’imparare perchè quel comportamento si presenza così. I modelli imparano bene il come e il quando, il perché però non hanno ancora modo di capirlo. E questo vale sia per un semplice modello di rete neurale feedforward, sia per un GPT con miliardi di parametri come ChatGPT: uno dei più grandi problemi dei large language models è la loro tendenza alle allucinazioni – dare risposte realistiche che sono però completamente sbagliate – in presenza di prompt che non capiscono appieno o che interpretano male.
Differenza tra correlazione e causalità
Beh, ma io sono una persona con intelletto, ovviamente riconosco la causalità dalla correlazione.
Utente piccato che legge questo blog
La realtà delle cose è che anche la mente umana soffre di bias legato all’interpretazione dei dati. Lo studioso Daniel Kahneman nella prima parte del libro Pensieri lenti e veloci spiega tra le altre cose il concetto di bias cognitivo e dell’approccio what you see is all there is: spesso cadiamo in interpretazioni errate del mondo, perché i dati che analizziamo non sono completi ma ci portano comunque ad una conclusione – spesso errata.
In questo interessante articolo di Harvard Business Review vengono citati tre esempi in cui la sola analisi di correlazione da parte di studiosi dei trend di mercato porta a conclusioni fuorvianti, in alcuni casi opposte alla realtà.
I sistemi data-driven si comportano nello stesso modo: guardando dei dati storici, imparano come questi cambiano uno in funzione dell’altro, e replicano quella modalità di comportamento in base ai dati futuri. Per spiegare la differenza tra correlazione (due valori si presentano sempre contemporaneamente) e la causalità (un valore si presenta perché l’altro si è presentato), facciamo due esempi semplici.
- Il consumo di una pompa e la sua portata sono correlate da una relaziona causale: la portata aumenta quando l’assorbimento aumenta, perché il motore spinge più fluido.
- La temperatura della linea 1 e la temperatura della linea 2 sono correlate da una correlazione causale indiretta: entrambe sono influenzate dalla temperatura esterna, quando questa aumenta, le due temperature aumenteranno di conseguenza.
- Il numero di pezzi prodotti e il numero di chiamate ricevute dal call center, se sono correlate, è probabile che siano correlate da una correlazione spuria: si sono trovate per caso nel posto giusto al momento giusto.
E dove sta il problema?
Il problema è che i sistemi data-driven non hanno nessuna concezione della differenza tra i tre tipi di correlazione: per loro, se due dati sono correlati, lo saranno sempre e per sempre nel bene e nel male. Facciamo un esempio pratico, sulla scia degli esempi portati prima.
- Alleno un modello a prevedere l’assorbimento della pompa in funzione del consumo (qui stiamo sviluppando navi spaziali, tenetevi forte!). Quando l’assorbimento reale aumenterà per un’anomalia al motore, il mio modello basato sulla portata mi suggerirà un consumo più basso atteso per quelle condizioni. Quindi facendo la differenza tra i due, posso intercettare l’anomalia. Promozione, gioia e gaudio. Infatti se la pompa ha un problema, a parità di portata consumerà di più perchè ho una correlazione causale tra le due.
- Alleno un modello a prevedere la temperatura 1 in funzione della temperatura 2 delle linee di cui sopra. Il mio obiettivo è trovare guasti alla linea 1. Le linee lavorano, i modelli anche, finché non ci sono guasti tutto fila liscio. Ad un certo punto la linea 2 si guasta, e la sua temperatura aumenta. Il modello si aspetta che anche la temperatura 1 aumenti, ma visto che non lo fa, segnala un problema. Il manutentore esce, cerca, analizza, ma non trova nulla di sbagliato, rientra brontolando e cancella l’allarme. Dopo 3 giorni si rompe la linea 2. Disonore e disprezzo.
- Il modello trova una correlazione tra il numero di chiamate al call center e i pezzi prodotti. La CEO richiede un’ispezione approfondita di tutte le procedure di verifica qualità perché secondo lei è colpa della produzione se sono aumentate le chiamate al call center all’aumentare dei pezzi prodotti. In realtà era colpa del sito.
Come si nota in questo fazioso e guidatissimo esempio, solo il modello costruito con attenzione alla causalità riesce nell’obiettivo di fare una previsione corretta, gli altri portano a problemi o disagi.
Industrial AI: rappresentare la causa-effetto con la correlazione
Il gioco dell’AI applicata al campo industriale è sottile e necessita di alcune attenzioni, proprio perché l’AI trova correlazioni dove noi cerchiamo causalità. Come garantire che il modello che rappresenta solo correlazioni matematiche possa essere rappresentativo di un collegamento causale? Come sempre – grazie alla competenza di dominio. Un’ingegnera o un tecnico di processo, almeno a livello qualitativo, sanno indicare se una correlazione può rappresentare una causa-effetto o se invece è spuria o casuale. Soprattutto nello sviluppo di modellistica a servizio dell’industria, quindi, la competenza di dominio è l’anello di congiunzione tra il mondo fisico e la matematica, e lo strumento per assicurare modelli solidi e rappresentativi.
Quindi come progettare i modelli?
Nella fase di design ed esplorazione dei dati la competenza di dominio supporta nella definizione delle ipotesi rispetto a quali dati includere o escludere per uno specifico obiettivo. Infatti, il suggerimento per evitare di cadere nella trappola della correlazione è fare un ragionamento su come rappresentare al meglio il sistema prima di guardare i dati disponibili. Definire il perimetro su cui si definirà il modello ci da la possibilità di chiederci quali dati servono per rappresentare al meglio le interazioni. Da li è poi possibile mappare cosa c’è, cosa manca e cosa è superfluo.
Una volta identificati i parametri di interesse e disponibili, si passa alla progettazione della strategia algoritmica: input, output, tipo di algoritmo, metriche, modalità di interazione con i risultati, set di test e validazione.
In alcuni casi, si vogliono esplorare correlazioni non note a priori, per capire quale dato o parametro è correlato ad esempio ad un modo di guasto o ad un fenomeno. Ci sono diversi strumenti di eXplainable AI per supportarci in questa analisi, come la principal component analysis (PCA) o la shap analysis, che devono però essere sempre approfonditi con la lente della competenza di dominio.
Suggerimenti pratici per la strategia algoritmica
Nella progettazione del modello, è importante tenere in considerazione sempre che la causalità vince sulla correlazione, e che di solito la causalità ha una direzione (c’è una causa e c’è un effetto, mai il contrario).
Ecco quindi qualche spunto quindi per evitare di confondere causalità e correlazione e aumentare la solidità dei modelli che sviluppiamo:
- Considera se ci sono dei parametri che rappresentano un effetto comune. Ad esempio, 20 ventilatori su un condensatore a ventilazione forzata raramente saranno sempre tutti accesi. Il parametro importante per rappresentare il fenomeno della condensazione è la portata d’aria totale, non quella del singolo ventilatore. Quindi, in questo caso, è consigliabile creare una variabile di appoggio che sommi tutte le portate dei ventilatori. In questo modo, anche se nel dataset di allenamento solo i primi 10 ventilatori sono stati in funzione, il modello è solido anche se in fase di esecuzione si dovessero accendere gli altri 10 ventilatori che il modello non ha visto accesi.
- Non scambiare la causa con l’effetto! Altrimenti si rischia di intercettare la cosa sbagliata. Ad esempio, rimanendo nello use case del condensatore, se si vuole rappresentare la pressione di condensazione per intercettarne anomalie, non si può usare la temperatura di condensazione come input. La temperatura di condensazione infatti è influenzata dalla pressione: se uso la temperatura per prevedere la pressione, le perdite di pressione saranno mascherate e non saremo in grado di intercettarle.
- Posso sfruttare le correlazioni causali per costruire modelli anche quando mi mancano dei dati mappati: ad esempio, assorbimento e portata di una pompa o un compressore sono direttamente proporzionali, quindi la loro correlazione è molto forte. Se ho il valore di assorbimento della pompa, posso utilizzarlo come input del modello al posto della portata – con la forte ipotesi che la pompa non si guasti nel mezzo.
Be aware
Quindi.
In ambito industriale, distinguere tra correlazione e causalità è cruciale per lo sviluppo di modelli AI efficaci. La correlazione, il cambiamento congiunto di due variabili, non implica una relazione causale, ovvero che una variabile sia la causa diretta dell’altra. Ad esempio, la relazione tra assorbimento e portata di una pompa è causale: un aumento dell’assorbimento causa un aumento della portata. Al contrario, la correlazione tra il numero di pezzi prodotti e le chiamate al call center potrebbe essere spuria, senza una relazione causale diretta. La sfida per l’AI industriale è che i sistemi data-driven spesso non riconoscono la differenza tra questi tipi di correlazioni, portando a interpretazioni errate. Qui entra in gioco la competenza di dominio: gli esperti possono determinare se una correlazione rappresenta una relazione causale o è coincidente. Durante la progettazione dei modelli, è essenziale definire ipotesi e dati pertinenti prima dell’analisi, selezionare parametri che rappresentino al meglio le relazioni causa-effetto, e sviluppare strategie algoritmiche appropriate. Strumenti di AI spiegabile come la PCA o la Shap analysis, supportati dalla competenza di dominio, aiutano nell’esplorazione di correlazioni. Infine, è fondamentale non confondere causa ed effetto e sfruttare correlazioni causali note per costruire modelli solidi. In conclusione, l’integrazione di competenza di dominio e analisi data-driven è la chiave per evitare le trappole della correlazione e assicurare modelli AI affidabili nel settore industriale.