Inferenza causale - modelli causali strutturali e scala della causalità
In questa pagina 6
Argomento del corso da 9 CFU (il corso da 6 CFU esclude Causal Inference). Si usano gli strumenti delle reti bayesiane: Incertezza - probabilità, regola di Bayes e indipendenza condizionataUn agente con osservazioni parziali non può usare regole logiche rigide ("mal di denti implica carie" è falso): usa la probabilità come grado di credenza e, con la teoria dell'utilità, sceglie l'azione con utilità attesa massima. Strumenti: distribuzione congiunta completa (tabella di $2^n$ valori), marginalizzazione $P(Y\mid e)=\alpha\sum_h P(Y,e,h)$ con costante di normalizzazione $\alpha=1/P(e)$, regola del prodotto $P(a,b)=P(a\mid b)P(b)$, regola di Bayes $P(\text{causa}\mid\text{effetto})=\frac{P(\text{effetto}\mid\text{causa})P(\text{causa})}{P(\text{effetto})}$ e indipendenza condizionata $P(a,b\mid c)=P(a\mid c)P(b\mid c)$, che permette di scomporre la congiunta in tabelle più piccole. Un test con sensibilità 73% e falsi positivi 12% su una malattia con prior 1/700 dà una probabilità a posteriori di appena 0,9%.Incertezza - probabilità, regola di Bayes e indipendenza condizionata → e Reti bayesiane - semantica, indipendenze e inferenza esattaUna rete bayesiana è un grafo diretto aciclico (DAG) con una variabile per nodo e una tabella delle probabilità condizionate (CPT) $P(X_i\mid\text{Parents}(X_i))$ per nodo; rappresenta la congiunta come prodotto $P(x_1,\dots,x_n)=\prod_i P(x_i\mid\text{parents}(X_i))$, con molti meno numeri della tabella completa (rete dell'allarme: 10 contro 31). Tre strutture elementari: catena $X\to Y\to Z$ e fork $Y\leftarrow X\to Z$ (estremi indipendenti dato il centro), collider $X\to Z\leftarrow Y$ (indipendenti, ma dipendenti se si osserva $Z$ o un suo discendente). Modelli causali (genitori = cause) danno reti più piccole. Inferenza esatta per enumerazione: $\mathbf P(X\mid\mathbf e)=\alpha\sum_{\mathbf y}\mathbf P(X,\mathbf e,\mathbf y)$ calcolata come somma di prodotti, in profondità e da sinistra a destra; per l'allarme $\mathbf P(B\mid j,m)=\langle0{,}284;\ 0{,}716\rangle$. Molti prodotti si ripetono: l'eliminazione di variabili li salva come fattori e li riusa.Reti bayesiane - semantica, indipendenze e inferenza esatta →. Prosegue con Interventi e operatore do - criterio backdoor e aggiustamentoOsservare $X=x$ e forzare $X=x$ sono cose diverse: $P(y\mid x)\ne P(y\mid do(x))$ quando c'è un confondente. L'intervento $do(X=x)$ si calcola con la «chirurgia» del grafo (si tolgono le frecce entranti in X) e si traduce in probabilità osservazionali con la formula di aggiustamento $P(y\mid do(x))=\sum_z P(y\mid x,z)P(z)$, dove $Z$ sono i genitori di X, o più in generale un insieme S che soddisfa il criterio backdoor: blocca ogni cammino backdoor (cammino da X a Y che inizia con una freccia entrante in X) e non contiene discendenti di X. Effetto causale medio $ACE=P(y\mid do(x))-P(y\mid do(\neg x))$. Se il confondente non è osservabile ma c'è un mediatore Z con X→Z→Y, vale il front-door $P(y\mid do(x))=\sum_z P(z\mid x)\sum_{x'}P(y\mid x',z)P(x')$. Mediazione: effetto diretto controllato CDE con $do(x),do(z)$. Se due insiemi backdoor danno risultati diversi sui dati, il modello è sbagliato. Argomento del corso da 9 CFU.Interventi e operatore do - criterio backdoor e aggiustamento → e Controfattuali e scoperta causaleUn controfattuale chiede «cosa sarebbe successo a questo individuo se X fosse stato x?»: $Y_x(u)$ è il valore di Y nel modello $M_x$ (equazione di X sostituita da X=x) con le esogene fissate al valore $u$ dell'individuo. Si calcola in tre passi: abduzione (aggiornare $P(U)$ con l'evidenza, nel caso deterministico ricavare $u$ dai dati), azione (sostituire l'equazione di X con la costante), predizione (calcolare Y in $M_x$). Differenza con gli interventi: $P(Y\mid do(x))\equiv P(Y_x)$ è a livello di popolazione, ma in generale $P(Y\mid do(x),z)\ne P(Y_x\mid z)$ perché nel secondo il condizionamento è prima dell'intervento. Nei modelli lineari gaussiani i coefficienti di regressione di ogni variabile sui suoi genitori sono i coefficienti strutturali, e l'effetto causale totale è la somma dei prodotti dei coefficienti lungo i cammini non backdoor. Scoperta causale (algoritmo PC): si parte dal grafo completo non orientato, si toglie ogni arco X−Y con $X\perp!!!\perp Y\mid Z$ a $|Z|$ crescente (test di Fisher), si orientano i collider (Z mai nell'insieme separatore), poi si propaga l'orientamento; catena e fork non sono distinguibili (stessa classe di equivalenza di Markov). Assunzioni: aciclicità, sufficienza, Markov, fedeltà. Argomento del corso da 9 CFU.Controfattuali e scoperta causale →.
1. Perché serve la causalità
I metodi basati sui dati (deep learning, big data) sanno dire come sono distribuite le variabili, non perché valgono certi valori. Il perché serve per validare un farmaco, prevedere l'effetto di una politica economica, capire un comportamento.
Correlazione non implica causazione. Il gallo canta quando sorge il sole (correlazione fortissima), ma il sole non sorge perché il gallo canta. Gli annegamenti aumentano con il consumo di gelati, ma c'è una causa comune (la stagione): vietare i gelati non salverebbe nessuno. Lo stesso vale per lo studio osservazionale che lega il consumo nazionale di cioccolato al numero di premi Nobel, e per i sistemi di raccomandazione, che vedono solo ciò che gli utenti hanno già scelto.
Una causa comune di due variabili (un confondente, confounder) produce una correlazione che non è un effetto di una variabile sull'altra. Distinguere i due casi con i soli dati è impossibile, come mostrano i due paragrafi seguenti.
Il paradosso di Simpson
A 700 pazienti (357 uomini e 343 donne) viene offerta una medicina: 350 scelgono di prenderla, 350 no. Guariscono:
| Medicina | Nessuna medicina | |
|---|---|---|
| Uomini | 81 su 87 (93%) | 234 su 270 (87%) |
| Donne | 192 su 263 (73%) | 55 su 80 (69%) |
| Totale | 273 su 350 (78%) | 289 su 350 (83%) |
La medicina funziona in entrambi i sottogruppi (93% > 87% e 73% > 69%) ma sembra peggiorare la popolazione (78% < 83%). Non è un errore di calcolo: la proporzione di uomini è molto diversa nei due gruppi. Tra chi prende la medicina gli uomini sono 87 su 350 (25%), tra chi non la prende sono 270 su 350 (77%). Gli uomini guariscono di più in ogni caso, quindi il gruppo «senza medicina», pieno di uomini, parte avvantaggiato: il sesso è un confondente (influenza sia la scelta della medicina sia la guarigione). I numeri aggregati mescolano l'effetto della medicina con l'effetto del sesso.
Quale tabella usare, quella aggregata o quelle separate, non si decide con la matematica ma con il modello causale del processo che ha generato i dati: se il sesso è causa della scelta (grafo , , ) si guarda per sottogruppi e si pesa con la frequenza del sesso (aggiustamento: Interventi e operatore do - criterio backdoor e aggiustamentoOsservare $X=x$ e forzare $X=x$ sono cose diverse: $P(y\mid x)\ne P(y\mid do(x))$ quando c'è un confondente. L'intervento $do(X=x)$ si calcola con la «chirurgia» del grafo (si tolgono le frecce entranti in X) e si traduce in probabilità osservazionali con la formula di aggiustamento $P(y\mid do(x))=\sum_z P(y\mid x,z)P(z)$, dove $Z$ sono i genitori di X, o più in generale un insieme S che soddisfa il criterio backdoor: blocca ogni cammino backdoor (cammino da X a Y che inizia con una freccia entrante in X) e non contiene discendenti di X. Effetto causale medio $ACE=P(y\mid do(x))-P(y\mid do(\neg x))$. Se il confondente non è osservabile ma c'è un mediatore Z con X→Z→Y, vale il front-door $P(y\mid do(x))=\sum_z P(z\mid x)\sum_{x'}P(y\mid x',z)P(x')$. Mediazione: effetto diretto controllato CDE con $do(x),do(z)$. Se due insiemi backdoor danno risultati diversi sui dati, il modello è sbagliato. Argomento del corso da 9 CFU.Interventi e operatore do - criterio backdoor e aggiustamento →); se invece la variabile che divide in gruppi fosse una conseguenza della medicina (un mediatore), si userebbe la tabella aggregata. L'esercizio svolto è Esercizio - Paradosso di Simpson ed effetto causale della medicina (slide del corso).
La congiunta non basta
La distribuzione congiunta si può scrivere con più reti bayesiane, tutte corrette: quindi i grafi e rappresentano la stessa distribuzione e, dai soli dati, sono indistinguibili. Anche con tre variabili la fattorizzazione cambia con l'ordine delle variabili. Una rete bayesiana codifica indipendenze, non il verso delle cause (Reti bayesiane - semantica, indipendenze e inferenza esattaUna rete bayesiana è un grafo diretto aciclico (DAG) con una variabile per nodo e una tabella delle probabilità condizionate (CPT) $P(X_i\mid\text{Parents}(X_i))$ per nodo; rappresenta la congiunta come prodotto $P(x_1,\dots,x_n)=\prod_i P(x_i\mid\text{parents}(X_i))$, con molti meno numeri della tabella completa (rete dell'allarme: 10 contro 31). Tre strutture elementari: catena $X\to Y\to Z$ e fork $Y\leftarrow X\to Z$ (estremi indipendenti dato il centro), collider $X\to Z\leftarrow Y$ (indipendenti, ma dipendenti se si osserva $Z$ o un suo discendente). Modelli causali (genitori = cause) danno reti più piccole. Inferenza esatta per enumerazione: $\mathbf P(X\mid\mathbf e)=\alpha\sum_{\mathbf y}\mathbf P(X,\mathbf e,\mathbf y)$ calcolata come somma di prodotti, in profondità e da sinistra a destra; per l'allarme $\mathbf P(B\mid j,m)=\langle0{,}284;\ 0{,}716\rangle$. Molti prodotti si ripetono: l'eliminazione di variabili li salva come fattori e li riusa.Reti bayesiane - semantica, indipendenze e inferenza esatta →).
Per rispondere a «perché il gallo canta?», «da cosa dipende l'aumento di annegamenti?», «la medicina funziona davvero?» serve un modello causale, ricavato da conoscenza di dominio o da esperimenti, che spieghi come sono stati generati i dati.
2. Modelli causali strutturali (SCM)
Definizione (SCM, structural causal model). Un SCM è formato da
- un insieme di variabili esogene : non dipendono da nessun'altra variabile del modello (sono i fattori esterni, il «rumore»);
- un insieme di variabili endogene : ciascuna è determinata dalle altre;
- un insieme di funzioni , una per ogni variabile endogena, ;
e (implicitamente) da un grafo con una freccia da ogni variabile che compare in verso .
Esempio. Stipendio in funzione di istruzione ed esperienza : , , con . Il grafo è .
Definizione (causa). è causa diretta di se compare nella funzione . è causa di se è causa diretta di o di un'altra causa di (definizione ricorsiva).
Nell'esempio e sono entrambe cause di . Il verso conta: la funzione non si può leggere come nel senso causale, perché cambiare lo stipendio non cambia l'istruzione.
Reti causali
Le equazioni esatte spesso non sono note e a volte nemmeno le variabili. Esempio: prestazione a basket in funzione di altezza e sesso , con termini di errore . Le rappresentano fattori non osservati, indipendenti tra loro, e in tal caso si omettono dal grafo. Anche senza le equazioni, il solo grafo (la rete causale) contiene l'informazione qualitativa che basta per molte inferenze causali.
I tre modelli sono nidificati: gli SCM (grafo più funzioni) contengono le reti causali (grafo con frecce che sono cause), che sono particolari reti bayesiane (una rete bayesiana ha frecce qualsiasi purché la fattorizzazione sia corretta; una rete causale ha frecce che indicano cause).
L'esempio sprinkler come SCM
Variabili: nuvoloso , pioggia , irrigatore acceso , erba bagnata (nei laboratori , GrassWet). Con quattro esogene uniformi in e le tabelle di probabilità del laboratorio, le funzioni sono soglie:
con , ; , ; per . Il grafo è
Grafico interattivo: Rete causale dello sprinkler: C → R, C → S, R → W, S → W
Le funzioni dicono qualcosa in più della rete: dicono cosa succederebbe se si cambiasse una variabile. Questo è il punto di partenza degli interventi (Interventi e operatore do - criterio backdoor e aggiustamentoOsservare $X=x$ e forzare $X=x$ sono cose diverse: $P(y\mid x)\ne P(y\mid do(x))$ quando c'è un confondente. L'intervento $do(X=x)$ si calcola con la «chirurgia» del grafo (si tolgono le frecce entranti in X) e si traduce in probabilità osservazionali con la formula di aggiustamento $P(y\mid do(x))=\sum_z P(y\mid x,z)P(z)$, dove $Z$ sono i genitori di X, o più in generale un insieme S che soddisfa il criterio backdoor: blocca ogni cammino backdoor (cammino da X a Y che inizia con una freccia entrante in X) e non contiene discendenti di X. Effetto causale medio $ACE=P(y\mid do(x))-P(y\mid do(\neg x))$. Se il confondente non è osservabile ma c'è un mediatore Z con X→Z→Y, vale il front-door $P(y\mid do(x))=\sum_z P(z\mid x)\sum_{x'}P(y\mid x',z)P(x')$. Mediazione: effetto diretto controllato CDE con $do(x),do(z)$. Se due insiemi backdoor danno risultati diversi sui dati, il modello è sbagliato. Argomento del corso da 9 CFU.Interventi e operatore do - criterio backdoor e aggiustamento →).
3. La scala della causalità
Pearl (The Book of Why, indicato nelle risorse del corso) distingue tre livelli di domande, ciascuno non risolvibile con gli strumenti del precedente:
- Associazione (vedere): , «cosa vedo di se osservo ?». Bastano i dati e la congiunta (Incertezza - probabilità, regola di Bayes e indipendenza condizionataUn agente con osservazioni parziali non può usare regole logiche rigide ("mal di denti implica carie" è falso): usa la probabilità come grado di credenza e, con la teoria dell'utilità, sceglie l'azione con utilità attesa massima. Strumenti: distribuzione congiunta completa (tabella di $2^n$ valori), marginalizzazione $P(Y\mid e)=\alpha\sum_h P(Y,e,h)$ con costante di normalizzazione $\alpha=1/P(e)$, regola del prodotto $P(a,b)=P(a\mid b)P(b)$, regola di Bayes $P(\text{causa}\mid\text{effetto})=\frac{P(\text{effetto}\mid\text{causa})P(\text{causa})}{P(\text{effetto})}$ e indipendenza condizionata $P(a,b\mid c)=P(a\mid c)P(b\mid c)$, che permette di scomporre la congiunta in tabelle più piccole. Un test con sensibilità 73% e falsi positivi 12% su una malattia con prior 1/700 dà una probabilità a posteriori di appena 0,9%.Incertezza - probabilità, regola di Bayes e indipendenza condizionata →).
- Intervento (fare): , «cosa accade a se forzo ?». Serve la rete causale (Interventi e operatore do - criterio backdoor e aggiustamentoOsservare $X=x$ e forzare $X=x$ sono cose diverse: $P(y\mid x)\ne P(y\mid do(x))$ quando c'è un confondente. L'intervento $do(X=x)$ si calcola con la «chirurgia» del grafo (si tolgono le frecce entranti in X) e si traduce in probabilità osservazionali con la formula di aggiustamento $P(y\mid do(x))=\sum_z P(y\mid x,z)P(z)$, dove $Z$ sono i genitori di X, o più in generale un insieme S che soddisfa il criterio backdoor: blocca ogni cammino backdoor (cammino da X a Y che inizia con una freccia entrante in X) e non contiene discendenti di X. Effetto causale medio $ACE=P(y\mid do(x))-P(y\mid do(\neg x))$. Se il confondente non è osservabile ma c'è un mediatore Z con X→Z→Y, vale il front-door $P(y\mid do(x))=\sum_z P(z\mid x)\sum_{x'}P(y\mid x',z)P(x')$. Mediazione: effetto diretto controllato CDE con $do(x),do(z)$. Se due insiemi backdoor danno risultati diversi sui dati, il modello è sbagliato. Argomento del corso da 9 CFU.Interventi e operatore do - criterio backdoor e aggiustamento →).
- Controfattuali (immaginare): «cosa sarebbe successo a questo individuo se fosse stato ?». Serve l'SCM completo con le funzioni (Controfattuali e scoperta causaleUn controfattuale chiede «cosa sarebbe successo a questo individuo se X fosse stato x?»: $Y_x(u)$ è il valore di Y nel modello $M_x$ (equazione di X sostituita da X=x) con le esogene fissate al valore $u$ dell'individuo. Si calcola in tre passi: abduzione (aggiornare $P(U)$ con l'evidenza, nel caso deterministico ricavare $u$ dai dati), azione (sostituire l'equazione di X con la costante), predizione (calcolare Y in $M_x$). Differenza con gli interventi: $P(Y\mid do(x))\equiv P(Y_x)$ è a livello di popolazione, ma in generale $P(Y\mid do(x),z)\ne P(Y_x\mid z)$ perché nel secondo il condizionamento è prima dell'intervento. Nei modelli lineari gaussiani i coefficienti di regressione di ogni variabile sui suoi genitori sono i coefficienti strutturali, e l'effetto causale totale è la somma dei prodotti dei coefficienti lungo i cammini non backdoor. Scoperta causale (algoritmo PC): si parte dal grafo completo non orientato, si toglie ogni arco X−Y con $X\perp!!!\perp Y\mid Z$ a $|Z|$ crescente (test di Fisher), si orientano i collider (Z mai nell'insieme separatore), poi si propaga l'orientamento; catena e fork non sono distinguibili (stessa classe di equivalenza di Markov). Assunzioni: aciclicità, sufficienza, Markov, fedeltà. Argomento del corso da 9 CFU.Controfattuali e scoperta causale →).
Il corso arriva fino al terzo livello e poi tratta la scoperta causale (ricavare il grafo dai dati).
4. Strutture elementari e d-separazione
Il grafo di una rete causale decide quali variabili sono indipendenti. Tre configurazioni di tre nodi bastano per costruire tutto. Si ricorda che significa (Eventi indipendenti e indipendenza condizionataA e B sono indipendenti se P(AB) = P(A)P(B), cioè (se P(B) > 0) P(A | B) = P(A): sapere B non cambia la probabilità di A. Se A, B sono indipendenti lo sono anche A e Bᶜ. Tre eventi sono indipendenti se lo sono a coppie E P(ABC) = P(A)P(B)P(C): l'indipendenza a coppie non basta. Prove ripetute indipendenti: le probabilità si moltiplicano. Indipendenza condizionata a F: P(AB | F) = P(A | F)P(B | F); non implica l'indipendenza (due lanci della stessa moneta scelta a caso). Eventi disgiunti con probabilità positive non sono mai indipendenti.Eventi indipendenti e indipendenza condizionata →).
| Struttura | Grafo | Senza osservare B | Osservando B |
|---|---|---|---|
| Catena (chain) | A e C dipendenti (A causa B causa C) | indipendenti: | |
| Fork (causa comune) | dipendenti (correlazione spuria) | indipendenti: | |
| Collider (effetto comune) | indipendenti: | dipendenti (anche osservando un discendente di B) |
Nello sprinkler: catena (osservata , non dipende più da attraverso questo cammino), fork (dato , e sono indipendenti), collider (se osservo , e diventano dipendenti).
Verifica numerica del collider (explaining away). Con le tabelle sopra:
- non dato : , cioè (fork);
- osservata vero e vero: , ma se si sa anche che l'irrigatore era acceso e se era spento .
L'erba bagnata ha due spiegazioni; sapere che una c'è (irrigatore acceso) rende meno necessaria l'altra (pioggia): l'informazione su cambia la probabilità di , quindi sono dipendenti dato . Senza condizionare su si ha lo stesso effetto in forma più marcata: , , .
d-separazione
Definizione (d-separazione). Sia l'insieme delle variabili condizionanti. e sono d-separate da se ogni cammino tra loro (di qualunque verso delle frecce) soddisfa almeno una condizione:
- contiene una catena o un fork con ;
- contiene un collider e né né i suoi discendenti sono in .
In tal caso .
Un cammino che soddisfa una condizione è bloccato; se almeno un cammino non è bloccato, X e Y sono d-connesse e in generale dipendenti.
Esempio (allarme antifurto). Grafo: (furto e terremoto attivano l'allarme ), e (chiamate dei vicini John e Mary).
- ? L'unico cammino ha un collider non osservato: bloccato, quindi sì.
- ? Il collider è osservato: cammino aperto, quindi no (explaining away).
- ? Il cammino è una catena con : bloccato, quindi sì.
- ? è un fork con : sì. Senza condizionare, e sono invece dipendenti (hanno la causa comune ).
- ? è un discendente del collider e sta in : il cammino si apre, quindi no.
def d_separati(archi, x, y, Z):
nodi = {n for e in archi for n in e}
pa = lambda v: {a for a, b in archi if b == v}
ch = lambda v: {b for a, b in archi if a == v}
def disc(v): # discendenti di v
out, pila = set(), [v]
while pila:
for c in ch(pila.pop()):
if c not in out: out.add(c); pila.append(c)
return out
def cammini(p): # cammini semplici x..y, frecce in ogni verso
if p[-1] == y: yield p; return
for n in (pa(p[-1]) | ch(p[-1])) - set(p): yield from cammini(p + [n])
def bloccato(p):
for a, b, c in zip(p, p[1:], p[2:]):
if (a, b) in archi and (c, b) in archi: # collider
if not ({b} | disc(b)) & Z: return True
elif b in Z: return True # catena o fork
return False
return all(bloccato(p) for p in cammini([x]))
allarme = {("B", "A"), ("E", "A"), ("A", "J"), ("A", "M")}
print(d_separati(allarme, "B", "E", set()), d_separati(allarme, "B", "E", {"A"}),
d_separati(allarme, "B", "J", {"A"}), d_separati(allarme, "J", "M", {"A"}),
d_separati(allarme, "B", "E", {"J"}))Output: True False True True False, in accordo con le cinque risposte. Per grafi grandi i cammini si enumerano in modo più efficiente (BFS e DFS: Visite di grafi - BFS e DFSVisite in ampiezza (BFS) e in profondità (DFS) come design pattern; etichette discovery, cross e back edge; BFS tree e distanze; complessità Theta(n+m) con liste di adiacenza; applicazioni (connettività, componenti, spanning tree, cammini minimi non pesati, cicli, vertici a distanza al più d); esempio svolto su un grafo di 7 vertici.Visite di grafi - BFS e DFS →), ma il criterio è lo stesso.
5. Dalla rete bayesiana alla rete causale
Una rete bayesiana qualsiasi è consistente con la congiunta ma i suoi archi possono andare in qualunque verso compatibile; una rete causale impone che le frecce siano le cause reali. La conseguenza decisiva (sviluppata nella nota sugli interventi): se intervengo su una variabile, le frecce entranti in quella variabile scompaiono, mentre quelle uscenti restano. Con la sola rete bayesiana questa operazione non ha senso perché le frecce non sono cause; con una rete causale sì. Per apprendere la struttura dai dati si veda anche Apprendimento delle reti bayesiane - parametri e strutturaImparare una rete bayesiana significa stimare i parametri (le CPT) con la struttura nota, oppure trovare la struttura stessa dai dati. Con dati completi la stima di massima verosimiglianza (ML) è una frequenza: $P(B_i\mid A_j,C_k)\approx N_{ijk}/N_{jk}$. Per evitare probabilità zero si usa lo smoothing di Laplace: $P(x_i)=(1+m)/(k+N)$ ($k$ valori, $N$ campioni, $m$ occorrenze). Con valori mancanti si inferisce il valore più probabile dagli altri della riga e si ristimano i parametri; con variabili nascoste si usa l'algoritmo EM (passo E: stima dei dati mancanti con i parametri correnti; passo M: aggiornamento dei parametri), da inizializzazione casuale fino a convergenza. L'apprendimento della struttura è difficile (numero di DAG superesponenziale): metodi globali (ricerca con punteggio, ad esempio BIC $=\log P(D\mid m)-|m|\log|D|/2$ con hill climbing) e metodi locali (test di indipendenza, algoritmo PC).Apprendimento delle reti bayesiane - parametri e struttura →, ricordando che i dati osservazionali determinano il grafo solo fino all'equivalenza di Markov (Controfattuali e scoperta causaleUn controfattuale chiede «cosa sarebbe successo a questo individuo se X fosse stato x?»: $Y_x(u)$ è il valore di Y nel modello $M_x$ (equazione di X sostituita da X=x) con le esogene fissate al valore $u$ dell'individuo. Si calcola in tre passi: abduzione (aggiornare $P(U)$ con l'evidenza, nel caso deterministico ricavare $u$ dai dati), azione (sostituire l'equazione di X con la costante), predizione (calcolare Y in $M_x$). Differenza con gli interventi: $P(Y\mid do(x))\equiv P(Y_x)$ è a livello di popolazione, ma in generale $P(Y\mid do(x),z)\ne P(Y_x\mid z)$ perché nel secondo il condizionamento è prima dell'intervento. Nei modelli lineari gaussiani i coefficienti di regressione di ogni variabile sui suoi genitori sono i coefficienti strutturali, e l'effetto causale totale è la somma dei prodotti dei coefficienti lungo i cammini non backdoor. Scoperta causale (algoritmo PC): si parte dal grafo completo non orientato, si toglie ogni arco X−Y con $X\perp!!!\perp Y\mid Z$ a $|Z|$ crescente (test di Fisher), si orientano i collider (Z mai nell'insieme separatore), poi si propaga l'orientamento; catena e fork non sono distinguibili (stessa classe di equivalenza di Markov). Assunzioni: aciclicità, sufficienza, Markov, fedeltà. Argomento del corso da 9 CFU.Controfattuali e scoperta causale →).
Domande d'esame
- Nel paradosso di Simpson con medicina, guarigione, sesso e grafo , , , quale tabella si usa per l'effetto causale? Quelle per sottogruppi, pesate con : è un confondente. La tabella aggregata mescola effetto della medicina ed effetto del sesso.
- Nel grafo con figlio di , e sono indipendenti dato ? No: è discendente del collider e osservarlo apre il cammino.
- Nello sprinkler, e sono indipendenti dato ? Sì, il cammino è un fork con osservato. Dato (e non ) non lo sono.
- Differenza tra rete bayesiana e rete causale? Nella rete causale le frecce sono cause: permette di rispondere a domande di intervento, perché tagliando le frecce entranti si ottiene il modello dopo l'intervento.
Versione ripasso
Argomento del corso da 9 CFU; si appoggia a Reti bayesiane - semantica, indipendenze e inferenza esattaUna rete bayesiana è un grafo diretto aciclico (DAG) con una variabile per nodo e una tabella delle probabilità condizionate (CPT) $P(X_i\mid\text{Parents}(X_i))$ per nodo; rappresenta la congiunta come prodotto $P(x_1,\dots,x_n)=\prod_i P(x_i\mid\text{parents}(X_i))$, con molti meno numeri della tabella completa (rete dell'allarme: 10 contro 31). Tre strutture elementari: catena $X\to Y\to Z$ e fork $Y\leftarrow X\to Z$ (estremi indipendenti dato il centro), collider $X\to Z\leftarrow Y$ (indipendenti, ma dipendenti se si osserva $Z$ o un suo discendente). Modelli causali (genitori = cause) danno reti più piccole. Inferenza esatta per enumerazione: $\mathbf P(X\mid\mathbf e)=\alpha\sum_{\mathbf y}\mathbf P(X,\mathbf e,\mathbf y)$ calcolata come somma di prodotti, in profondità e da sinistra a destra; per l'allarme $\mathbf P(B\mid j,m)=\langle0{,}284;\ 0{,}716\rangle$. Molti prodotti si ripetono: l'eliminazione di variabili li salva come fattori e li riusa.Reti bayesiane - semantica, indipendenze e inferenza esatta → e Incertezza - probabilità, regola di Bayes e indipendenza condizionataUn agente con osservazioni parziali non può usare regole logiche rigide ("mal di denti implica carie" è falso): usa la probabilità come grado di credenza e, con la teoria dell'utilità, sceglie l'azione con utilità attesa massima. Strumenti: distribuzione congiunta completa (tabella di $2^n$ valori), marginalizzazione $P(Y\mid e)=\alpha\sum_h P(Y,e,h)$ con costante di normalizzazione $\alpha=1/P(e)$, regola del prodotto $P(a,b)=P(a\mid b)P(b)$, regola di Bayes $P(\text{causa}\mid\text{effetto})=\frac{P(\text{effetto}\mid\text{causa})P(\text{causa})}{P(\text{effetto})}$ e indipendenza condizionata $P(a,b\mid c)=P(a\mid c)P(b\mid c)$, che permette di scomporre la congiunta in tabelle più piccole. Un test con sensibilità 73% e falsi positivi 12% su una malattia con prior 1/700 dà una probabilità a posteriori di appena 0,9%.Incertezza - probabilità, regola di Bayes e indipendenza condizionata →.
- Perché i dati non bastano. Correlazione non implica causazione: una causa comune (confondente) crea correlazione senza effetto (gelati e annegamenti: la stagione). La congiunta si scrive con più reti, , quindi e sono indistinguibili dai soli dati: serve un modello causale.
- Simpson. Medicina 93% > 87% (uomini) e 73% > 69% (donne), ma 78% < 83% sul totale. Perché: tra chi prende la medicina gli uomini sono , tra chi non la prende , e gli uomini guariscono di più comunque. Il sesso è confondente (, , ): si usano i sottogruppi pesati con (Interventi e operatore do - criterio backdoor e aggiustamentoOsservare $X=x$ e forzare $X=x$ sono cose diverse: $P(y\mid x)\ne P(y\mid do(x))$ quando c'è un confondente. L'intervento $do(X=x)$ si calcola con la «chirurgia» del grafo (si tolgono le frecce entranti in X) e si traduce in probabilità osservazionali con la formula di aggiustamento $P(y\mid do(x))=\sum_z P(y\mid x,z)P(z)$, dove $Z$ sono i genitori di X, o più in generale un insieme S che soddisfa il criterio backdoor: blocca ogni cammino backdoor (cammino da X a Y che inizia con una freccia entrante in X) e non contiene discendenti di X. Effetto causale medio $ACE=P(y\mid do(x))-P(y\mid do(\neg x))$. Se il confondente non è osservabile ma c'è un mediatore Z con X→Z→Y, vale il front-door $P(y\mid do(x))=\sum_z P(z\mid x)\sum_{x'}P(y\mid x',z)P(x')$. Mediazione: effetto diretto controllato CDE con $do(x),do(z)$. Se due insiemi backdoor danno risultati diversi sui dati, il modello è sbagliato. Argomento del corso da 9 CFU.Interventi e operatore do - criterio backdoor e aggiustamento →). Se la variabile di divisione fosse una conseguenza della medicina (mediatore) si userebbe invece il dato aggregato. La scelta viene dal modello causale, non dalla matematica.
- SCM. Esogene (non dipendono da nulla), endogene , funzioni , più il grafo. Esempio . causa diretta di se compare in ; causa se lo è di una causa di . Le indipendenti si omettono dal grafo e resta la rete causale. SCM rete causale rete bayesiana (frecce = cause).
- Sprinkler come SCM. , , , con , (per vero/falso) e .
- Scala della causalità (Pearl). (1) Associazione : vedere; (2) intervento : fare; (3) controfattuali: immaginare (Controfattuali e scoperta causaleUn controfattuale chiede «cosa sarebbe successo a questo individuo se X fosse stato x?»: $Y_x(u)$ è il valore di Y nel modello $M_x$ (equazione di X sostituita da X=x) con le esogene fissate al valore $u$ dell'individuo. Si calcola in tre passi: abduzione (aggiornare $P(U)$ con l'evidenza, nel caso deterministico ricavare $u$ dai dati), azione (sostituire l'equazione di X con la costante), predizione (calcolare Y in $M_x$). Differenza con gli interventi: $P(Y\mid do(x))\equiv P(Y_x)$ è a livello di popolazione, ma in generale $P(Y\mid do(x),z)\ne P(Y_x\mid z)$ perché nel secondo il condizionamento è prima dell'intervento. Nei modelli lineari gaussiani i coefficienti di regressione di ogni variabile sui suoi genitori sono i coefficienti strutturali, e l'effetto causale totale è la somma dei prodotti dei coefficienti lungo i cammini non backdoor. Scoperta causale (algoritmo PC): si parte dal grafo completo non orientato, si toglie ogni arco X−Y con $X\perp!!!\perp Y\mid Z$ a $|Z|$ crescente (test di Fisher), si orientano i collider (Z mai nell'insieme separatore), poi si propaga l'orientamento; catena e fork non sono distinguibili (stessa classe di equivalenza di Markov). Assunzioni: aciclicità, sufficienza, Markov, fedeltà. Argomento del corso da 9 CFU.Controfattuali e scoperta causale →).
- Tre strutture.
- Catena e fork : dipendenti; indipendenti dato , .
- Collider : indipendenti; dipendenti se si osserva o un suo discendente (explaining away).
- d-separazione. sono d-separati da se ogni cammino contiene una catena/fork con nodo centrale in , oppure un collider con né esso né i discendenti in ; allora . Un solo cammino aperto basta per la d-connessione.
- Explaining away (sprinkler). (fork), ma dato il collider : , , . Senza : , , . L'irrigatore acceso spiega l'erba bagnata e rende meno necessaria la pioggia.
- Allarme (, , ):
- : sì (collider non osservato);
- : no (collider osservato);
- : sì (catena bloccata da );
- : sì (fork bloccato);
- : no ( discendente del collider).
- Algoritmo. Si enumerano i cammini semplici tra e (frecce in ogni verso) e per ogni terna consecutiva si controlla se il nodo centrale è un collider, con i suoi discendenti, oppure catena/fork. Il risultato è
Truese tutti i cammini sono bloccati. - Errori tipici: pensare che condizionare su un collider renda indipendenti (li rende dipendenti); leggere una correlazione come causa; scegliere tra tabella aggregata e per gruppi senza un modello causale; dimenticare i discendenti del collider.
Esercizi su questo argomento
- Esercizio - Algoritmo PC sul grafo con cinque variabili (slide del corso)
- Esercizio - Cammini backdoor e insiemi di aggiustamento validi (laboratorio 8)
- Esercizio - Effetto causale di pioggia e irrigatore sul prato bagnato (laboratorio 7)
- Esercizio - Effetto causale medio della medicina con il criterio backdoor (esempio d'esame 1)
- Esercizio - Modello causale strutturale e insiemi backdoor (esempio d'esame 2)
- Esercizio - Paradosso di Simpson con pyAgrum (laboratorio 7)
- Esercizio - Paradosso di Simpson ed effetto causale della medicina (slide del corso)
- Esercizio - Rete causale con CausalGraphicalModels, cammini backdoor e insiemi validi (esempio d'esame 2)