Identificare la Causa & Effetto Causale Ragionamento
Ben Horsburgh — Jr Principali ML Ingegnere, QuantumBlack
Nel mese di dicembre, il QuantumBlack squadra sono stati la fortuna di partecipare a NeurIPS 2019 a Vancouver, dove abbiamo ospitato un expo workshop esplorare come distribuire causale inferenza e apprendimento di rinforzo per generare modelli che considerano causa ed effetto.
Questa sessione si è rivelata molto popolare e quindi abbiamo voluto condividere gli elementi chiave con coloro che non erano in grado di partecipare. Nei prossimi due articoli su Medium esploreremo come gli scienziati dei dati possono sfruttare sia il ragionamento causale che l’apprendimento per rinforzo per costruire modelli che rispettino causa ed effetto.
Il punto cieco causale
L’analisi avanzata viene spesso implementata per decidere dove effettuare un intervento al fine di influenzare un target. Tuttavia, molte metodologie ML tradizionali, dalla regressione lineare al deep learning, non considerano la causalità e invece solo la correlazione del modello tra i datapoint. Possono identificare che esiste una relazione tra le variabili senza definire quale sia questa relazione o come si influenzano a vicenda.
Ciò può avere un impatto drastico sull’intervento suggerito dal modello, diluendo l’efficacia degli interventi o addirittura producendo raccomandazioni del tutto irrilevanti. Ad esempio, un modello non causale che mira a mitigare la siccità può riconoscere che esiste una relazione tra l’aumento della siccità e l’aumento delle vendite di gelati, ma può concludere spuriosamente che vietare il gelato attenuerebbe la siccità.
Nella modellazione causale, ML viene utilizzato per creare una struttura iniziale, visualizzata come una rete grafica, che evidenzia la relazione percepita tra le caratteristiche. Questo viene quindi esaminato da esperti di dominio che possono aggiornare la struttura per evidenziare come ogni caratteristica influenza l’altra — nel nostro esempio, un esperto di irrigazione evidenzierebbe che l’acqua potabile accessibile sarebbe un driver molto più accurato per mitigare la siccità che vietare il gelato.
Questo processo è noto come Ragionamento causale e questo articolo coprirà ciascuna delle tre fasi necessarie per implementarlo.
Fase 1: Apprendimento della struttura
I modelli causali devono essere informati della struttura causale tra le caratteristiche. In un mondo ideale un esperto di dominio inserirebbe questa struttura, ma questo è spesso irrealizzabile — un modello con solo 50 variabili richiederebbe poco meno di 2.500 relazioni causa-effetto da considerare e spiegare.
Inoltre, le catene di causa ed effetto rendono ancora più complesso un processo già ad alta intensità di tempo: le modifiche a una funzione possono avere un impatto su un’altra, che a sua volta influenza un’altra. È facile trascurare queste catene quando si costruiscono strutture a mano, e ancora più facile creare erroneamente catene cicliche di uova di pollo che sono quindi difficili da risolvere.
I recenti progressi, in particolare la pubblicazione di DAG senza LACRIME a NeurIPS 2018, hanno migliorato l’efficienza e l’accuratezza degli algoritmi di apprendimento della struttura che costruiscono queste reti. Hanno semplificato il processo ed evitare strutture paradosso uovo di gallina. È importante sottolineare che non confermano la causalità — la stimano. Lavorando con dati non sperimentali, è necessario un processo iterativo e collaborativo per verificare le previsioni e gli esperti di dominio sono tenuti a rivedere e verificare la causalità della struttura, incrociando le relazioni con pubblicazioni specifiche del settore, sondaggi e opinioni di esperti più ampie. È l’aumento di dati e metodo con input da esperti di dominio che ci permettono di fare un passo verso un’interpretazione causale.
Questo processo aiuta a informare intuizioni — cause-effetti che gli scienziati di dati possono trovare sorprendenti sono spesso ben compresi dagli esperti, e anche quelli che sorprendono gli esperti sono a volte ben compresi da altri nel loro campo e possono essere verificati attraverso una ricerca di materiali più ampi.
Un tipo di dati strutturato includerà nodi (variabili che contengono informazioni) e bordi (connessioni dirette tra nodi che possono anche contenere informazioni). La maggior parte degli algoritmi di apprendimento della struttura emettono pesi di bordo, utili per indirizzare le conversazioni tra scienziati ed esperti di dati. Presentare i bordi dal peso più alto a quello più basso aiuta gli scienziati dei dati a guidare un processo di revisione ancora più efficiente, ma dovremmo fare attenzione a non attribuire troppa interpretazione ai pesi — di solito non sono probabilità o valori interpretabili dagli esseri umani. Inoltre, anche i bordi a basso peso possono a volte essere importanti, ma i test statistici sono difficili.
Una volta che abbiamo identificato quali sono le cause, possiamo progredire per imparare come si comportano.
Fase 2: Probabilità di apprendimento
Struttura di apprendimento può identificare che il prezzo del caffè è influenzato in qualche modo dalla densità di popolazione, ma non specificamente identificare come — non è in grado di indicare se un aumento della popolazione aumenta o diminuisce il prezzo, o se c’è una relazione più complessa in gioco.
Probability learning stima quanto ogni causa guida ogni effetto imparando le sottostanti distribuzioni di Probabilità condizionale (CPD). Ogni CPD descrive la probabilità di una causa, dato lo stato dei suoi effetti.
Abbiamo scoperto che i CPD discreti sono più pratici dei CPD continui. Le distribuzioni continue sono spesso limitate alle distribuzioni gaussiane e quindi faticano a descrivere molte relazioni. I CPD discreti possono descrivere qualsiasi forma di distribuzione, anche se con meno precisione, e sono ampiamente supportati da molte librerie.
Possiamo utilizzare gli esperti del dominio per fare una scelta. I data scientist e gli esperti del settore dovrebbero concordare fin dall’inizio una strategia di discretizzazione dei dati. Tenendo conto degli obiettivi del progetto, è necessario definire quale discretizzazione è richiesta. Ad esempio, se il tuo progetto richiede che vengano effettuati confronti, la discretizzazione percentile sarebbe probabilmente adatta.
Detto questo, fai attenzione a evitare di discretizzare i CPD, poiché tutte le stime di probabilità devono essere descritte e possono accumularsi rapidamente. Per un effetto binario con tre cause binarie, un CPD dovrebbe stimare 16 possibili eventualità. Per un effetto con 10 stati e tre cause, ciascuno con i propri 10 stati, 10.000 possibili eventualità devono essere stimati. Per piccoli set di dati con meno campioni rispetto alle possibilità, la maggior parte delle eventualità non verrà mai osservata e quelle che lo sono non saranno ben rappresentate. Ma anche con grandi set di dati, l’eccessiva discretizzazione significherà che i CPD includeranno molte eventualità altamente improbabili. Ciò diluirà la potenza del modello e aumenterà il tempo di calcolo.
Le probabilità apprese dovrebbero essere valutate sia da data scientist che da esperti di dominio. Per gli scienziati dei dati, trattalo come un problema di classificazione standard: impara le probabilità del modello utilizzando un set di allenamento e quindi valuta l’accuratezza delle previsioni probabilistiche per un dato nodo utilizzando il set di test.
Nel frattempo, gli esperti di dominio possono leggere le tabelle CPD e i valori di controllo del senso. Questo è spesso dove le probabilità più improbabili possono essere eliminate.
Fase 3: Inferenza
Ormai comprendiamo la struttura delle relazioni causa-effetto del nostro set di dati e come si comportano le relazioni. Questo ci permette di fare inferenze – essenzialmente testare azioni e teorie per valutare la risposta.
L’inferenza può essere suddivisa in osservazione e interventistica. Nell’inferenza osservazionale, possiamo osservare lo stato di qualsiasi variabile(s) e quindi interrogare come cambiare questo avrà un impatto sulla probabilità di qualsiasi altro stato di qualsiasi altra variabile. L’interrogazione della probabilità di altre variabili viene eseguita riproducendo tutte le relazioni di causa ed effetto, ottenute matematicamente marginalizzando le probabilità rispetto ai CPD. Un esempio di questo potrebbe essere quello di osservare un negozio di caffè del centro della città e concludere che è probabile che incorrere in costosi affitti commerciali-e che successivamente, il prezzo di un caffè è probabile che sia alto.
Nell’inferenza interventistica, possiamo intervenire sullo stato di qualsiasi variabile (s), cambiando la probabilità dei suoi stati a qualunque cosa scegliamo e chiedendo efficacemente ‘e se X fosse diverso?”Ad esempio, potremmo ipotizzare che i dipendenti lavorino una settimana di quattro giorni anziché cinque e quindi osservare l’effetto che questo ha sulla produttività.
Decidere dove è più opportuno intervenire può essere raggiunto attraverso l’analisi di sensibilità. Ogni volta che facciamo un’osservazione, possiamo vedere come questo influenza lo stato di un obiettivo che vogliamo cambiare. Se dovessimo fare migliaia di osservazioni separate e sottili su tutte le variabili, potremmo stimare a quali variabili il nostro obiettivo è più sensibile. Questa è la base dell’analisi di sensibilità, sebbene ci siano mezzi più efficienti per raggiungerlo.
L’analisi della sensibilità è uno strumento particolarmente potente in quanto ci aiuta a capire dove concentrare gli sforzi. Non è sempre possibile intervenire su cause sensibili — ad esempio, non ha senso modificare l’indirizzo di un cliente in quanto non c’è modo del nostro eventuale modello di controllarlo. Tuttavia, queste cause più sensibili possono svolgere un ruolo nel determinare gli interventi condizionali.
Gli sviluppi ML possono aver contribuito a semplificare la creazione della struttura, ma un processo di apprendimento collaborativo e ibrido tra gli esseri umani — in particolare scienziati di dati ed esperti di dominio — è ancora fondamentale quando si va oltre la correlazione per identificare la causalità.
Le sfide rimangono con il ragionamento causale e può essere difficile completare un progetto completo a causa dell’elevato numero di librerie software separate richieste durante la fase di test. Tuttavia, rimane una tecnica efficace quando si costruiscono modelli causali-per supportare questo, QuantumBlack ha recentemente rilasciato la nostra ultima offerta open source, CausalNex. Questa libreria software fornisce un processo molto più snello e aiuta i modelli a evitare conclusioni spurie e infine a produrre interventi di analisi più intelligenti e di impatto.
La causalità è sempre più sotto il microscopio ed è un argomento che ci impegniamo ad esplorare ulteriormente in futuro, sia con CausalNex che con ricerche più ampie. Ad esempio, presenteremo un documento a AISTATS a giugno, che modifica NO TEARS per apprendere la struttura delle variabili nel tempo oltre alle relazioni intra-temporali. Nel frattempo, rimani aggiornato con i prossimi sviluppi CausalNex.