Interventi e operatore do - criterio backdoor e aggiustamento
In questa pagina 8
Argomento del corso da 9 CFU. Prerequisiti: Inferenza causale - modelli causali strutturali e scala della causalitàI dati e la distribuzione congiunta da soli non dicono quali variabili causano quali: lo mostrano il paradosso di Simpson (la medicina funziona in ogni sottogruppo ma sembra peggiorare la popolazione) e il fatto che reti bayesiane diverse (A→B e B→A) descrivono la stessa congiunta. Serve un modello causale: un modello causale strutturale (SCM) ha variabili esogene U, endogene V e funzioni $v_i=f_i(\text{genitori},u_i)$; il suo grafo è la rete causale, e una rete causale è una rete bayesiana in cui le frecce sono cause. Le tre strutture elementari decidono l'indipendenza: catena $A\to B\to C$ e fork $A\leftarrow B\to C$ si bloccano osservando B, il collider $A\to B\leftarrow C$ si blocca se B e i suoi discendenti NON sono osservati (osservarlo crea dipendenza, explaining away). d-separazione: X e Y sono separati da Z se ogni cammino è bloccato; allora $X\perp!!!\perp Y\mid Z$. La scala della causalità (Pearl): associazione $P(y\mid x)$, intervento $P(y\mid do(x))$, controfattuali. Argomento del corso da 9 CFU.Inferenza causale - modelli causali strutturali e scala della causalità → (SCM, d-separazione) e Formula delle probabilità totali e formula di BayesSe (A_i) è una partizione di Ω, P(B) = Σ P(B ∣ A_i) P(A_i) (probabilità totali); la formula di Bayes inverte il condizionamento: P(A_k ∣ B) = P(B ∣ A_k) P(A_k) / P(B).Formula delle probabilità totali e formula di Bayes →. Segue 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. Osservare non è intervenire
Un esempio: incidenti stradali. L'ubriachezza e la velocità sono cause di incidente ; inoltre chi è ubriaco tende ad andare più forte ().
Grafico interattivo: Incidenti: l'ubriachezza Z è causa comune di velocità X e incidenti Y; X → Y è l'effetto che si vuole misurare
Qual è la probabilità che andare forte da solo causi un incidente? non la dà: tra i guidatori veloci ci sono molti ubriachi, quindi include un'influenza spuria di . Serve la probabilità di se si fa , non solo se lo si osserva:
Definizione (operatore do). indica che si forza al valore (per esempio con un esperimento), indipendentemente da ciò che avrebbe fatto spontaneamente. è la probabilità di nel mondo in cui è stato imposto.
Nei dati le due operazioni sono diverse:
- condizionare a significa selezionare le righe in cui si osserva ;
- intervenire significa riscrivere l'intera colonna con il valore , e questo cambia la tabella.
Esempio (sprinkler, 10 righe). La tabella della slide ha 5 righe con irrigatore acceso, di cui 2 con erba bagnata: . Ma forza tutte le 10 righe ad avere l'irrigatore acceso, scenario molto diverso: in particolare non si guarda più se era nuvoloso, che di solito spegne l'irrigatore.
Con le tabelle dello sprinkler dei laboratori: , mentre (calcolo al paragrafo 3).
2. La chirurgia del grafo
Definizione (intervento come chirurgia). L'intervento trasforma l'SCM in un modello in cui la funzione di è sostituita dalla costante e tutte le frecce entranti in sono tolte. Le altre funzioni restano invariate. Si ha
Grafico interattivo: Chirurgia del grafo dello sprinkler: a sinistra il modello originale, a destra quello dopo do(S = vero): la freccia C → S è tolta
Ragione: se forzo , il valore di non dipende più dai suoi genitori ( non influenza più ) ma continua a influenzare i suoi figli ( resta).
Equivalente in termini di probabilità: la congiunta della rete è il prodotto delle tabelle ; dopo l'intervento si toglie il fattore di e si pone negli altri:
Tre regole pratiche (laboratorio 8) per capire se l'intervento su ha effetto su :
- può avere effetto su solo se esiste almeno un cammino orientato da a . Altrimenti, nel grafo dopo l'intervento ( senza genitori) .
- Se tra e ci sono solo cammini orientati, : il grafo dopo la chirurgia ha gli stessi cammini del grafo originale.
- Se esiste un cammino non completamente orientato e non bloccato, e hanno un antenato comune (confondente) e stimare con dà una stima distorta.
Le probabilità condizionate tra due variabili non toccate dall'intervento non cambiano: nel modello a cinque variabili del laboratorio 8 (nuvoloso, pioggia, irrigatore, bagnato, scivoloso) resta uguale dopo un intervento sulla pioggia, mentre no (il cammino nuvoloso → pioggia → bagnato è stato tagliato).
3. Formula di aggiustamento
Si vuole calcolare a partire dalle probabilità osservazionali, cioè «togliere» il . Nel modello degli incidenti (, , ), con valori :
L'ultimo passaggio usa due fatti: (la chirurgia non cambia la distribuzione di , che non ha frecce toccate) e (la funzione di è intatta, e dati e il valore di dipende solo da loro).
Formula di aggiustamento (regola dell'effetto causale). con l'insieme dei genitori di .
È la media dei valori pesata con la frequenza di nella popolazione intera, e non con la frequenza di tra chi ha (la differenza è proprio il confondente: nei dati osservati cambia con ).
Esempio (sprinkler, laboratorio 7). : l'unico genitore di è . è nella rete. si ottiene con l'enumerazione (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 →), sommando sulla variabile nascosta : (il prodotto non dipende da e finisce nel fattore di normalizzazione ). Con le tabelle: e . Quindi Si confronti con osservazionale. Il calcolo completo con il codice è in Esercizio - Effetto causale di pioggia e irrigatore sul prato bagnato (laboratorio 7), la versione con pyAgrum in Esercizio - Effetto causale della pioggia con pyAgrum (esempio sprinkler). Verificato anche simulando l'SCM dello sprinkler con un milione di campioni: .
Effetto causale medio (ACE)
Definizione (ACE). Per un trattamento e un esito , : il trattamento ha effetto positivo; negativo; neutro.
Esempio (Simpson). Il grafo è quello degli incidenti con medicina, guarigione, sesso. (uomini), donne. : la medicina migliora la guarigione, in accordo con i sottogruppi e in contrasto con il dato aggregato . Le slide usano percentuali arrotondate; con le frazioni esatte (, ecc.) si ottiene . Svolto in Esercizio - Paradosso di Simpson ed effetto causale della medicina (slide del corso) e, con pyAgrum e un secondo insieme di dati, in Esercizio - Paradosso di Simpson con pyAgrum (laboratorio 7).
Esempio (sprinkler). ACE dell'irrigatore su : , , ; per la pioggia .
4. Confondenti non osservati: cammini backdoor
Il confondente non è sempre osservabile (il sesso dei pazienti, l'alcol dei guidatori): non si può aggiustare su e l'effetto causale resta confuso con la correlazione spuria. Ma altre variabili possono bloccare il cammino.
Definizione (cammino backdoor). Un cammino backdoor tra e è un qualunque cammino da a che inizia con una freccia entrante in (passa per i genitori di ). Si blocca condizionando su una catena o un fork, oppure è già bloccato da un collider non condizionato (d-separazione: Inferenza causale - modelli causali strutturali e scala della causalitàI dati e la distribuzione congiunta da soli non dicono quali variabili causano quali: lo mostrano il paradosso di Simpson (la medicina funziona in ogni sottogruppo ma sembra peggiorare la popolazione) e il fatto che reti bayesiane diverse (A→B e B→A) descrivono la stessa congiunta. Serve un modello causale: un modello causale strutturale (SCM) ha variabili esogene U, endogene V e funzioni $v_i=f_i(\text{genitori},u_i)$; il suo grafo è la rete causale, e una rete causale è una rete bayesiana in cui le frecce sono cause. Le tre strutture elementari decidono l'indipendenza: catena $A\to B\to C$ e fork $A\leftarrow B\to C$ si bloccano osservando B, il collider $A\to B\leftarrow C$ si blocca se B e i suoi discendenti NON sono osservati (osservarlo crea dipendenza, explaining away). d-separazione: X e Y sono separati da Z se ogni cammino è bloccato; allora $X\perp!!!\perp Y\mid Z$. La scala della causalità (Pearl): associazione $P(y\mid x)$, intervento $P(y\mid do(x))$, controfattuali. Argomento del corso da 9 CFU.Inferenza causale - modelli causali strutturali e scala della causalità →).
Definizione (criterio backdoor). Un insieme di variabili soddisfa il criterio backdoor per se
- blocca ogni cammino backdoor tra e ;
- non contiene alcun discendente di .
La seconda condizione impedisce di condizionare su conseguenze di (che assorbirebbero parte dell'effetto o aprirebbero nuovi cammini).
Grafico interattivo: Esempio backdoor: X → A → Y, X → Y, B → X, B → C ← D, D → Y. L'unico cammino backdoor è X ← B → C ← D → Y
Nel grafo della figura l'unico cammino backdoor è . Insiemi validi: (il collider blocca già il cammino), , , , , , . Non validi: da solo (condizionare sul collider apre il cammino) e qualunque insieme con (discendente di ). Svolto con il codice in Esercizio - Cammini backdoor e insiemi di aggiustamento validi (laboratorio 8).
Formula di aggiustamento con il criterio backdoor. Se soddisfa il criterio backdoor, con che varia su tutte le combinazioni di valori delle variabili di .
Generalizza la formula con i genitori (l'insieme la soddisfa sempre).
Esempi della lezione
Variabili booleane salvo dove detto; i confondenti non osservati sono indicati esplicitamente.
- , , ; non osservato. Un cammino backdoor ; insiemi validi . Se si osserva solo :
- , , (collider in ). Cammino ; validi e ( no: apre il collider ed è un discendente di tramite ). Con : , perché togliere la freccia non influenza .
- , , , , ; a tre valori. Backdoor: e . Validi: . Se si osserva : (sei termini: per ).
- , , , , , , ; non osservato. Quattro cammini backdoor: , , , . Validi: ; con non osservato resta e (quattro termini). Nota che da solo non basta: condizionare sul collider nel cammino lo apre, e serve (o ) per richiuderlo.
Tutti gli insiemi elencati sono stati verificati con una piccola funzione che enumera i cammini e applica il criterio (lo stesso controllo dell'esercizio del laboratorio 8). L'esempio 1 e l'esempio 2, con numeri e simulazione, sono in Esercizio - Aggiustamento backdoor con un confondente non osservato e con un collider (slide del corso).
Verifica del modello. Se più insiemi bloccano i cammini backdoor (per esempio e nell'esempio 1), la formula deve dare lo stesso con entrambi. Se con i dati reali i due risultati sono diversi, il modello causale è sbagliato: non è coerente con i dati. È un test per scartare ipotesi sul mondo.
5. Front-door
Se nessun confondente è osservabile ma tra e c'è una variabile intermedia, si può comunque stimare l'effetto. Esempio: fumo → catrame nei polmoni → cancro , con il «gene del fumo» non osservato causa comune di e .
Grafico interattivo: Front-door: il gene U (non osservato, tratteggiato) è causa comune di X (fumo) e Y (cancro); Z (catrame) è osservato
Si applica il criterio backdoor due volte e si combina:
- : nessun cammino backdoor aperto (l'unico, , ha il collider ), quindi ;
- : il cammino backdoor è bloccato da , quindi ;
- (probabilità totale su ).
Formula front-door. Criterio: soddisfa il front-door per se (1) blocca ogni cammino diretto da a ; (2) non ci sono cammini backdoor non bloccati da a ; (3) tutti i cammini backdoor da a sono bloccati da . L'espressione non dipende da .
Esempi (slide): con : ; : ; e : serve (un solo mediatore lascia aperto l'altro cammino diretto); se è causa anche di : impossibile, perché il cammino backdoor da a () non è bloccato da . Con i dati del laboratorio 8 (400 fumatori, 400 non fumatori) si ottiene : Esercizio - Aggiustamento front-door ed effetto del fumo sul cancro (laboratorio 8).
6. Mediazione: effetto diretto e indiretto
Spesso si vuole separare l'effetto diretto () da quello indiretto o mediato (). Esempio: genere del candidato, qualifiche, assunzione. Per isolare l'effetto diretto di si potrebbe condizionare su : . Ma non sempre si può: se esiste anche = reddito con e , condizionare su (collider in ) crea una dipendenza spuria tra e , quindi tra e .
Grafico interattivo: Mediazione: effetto diretto X → Y ed effetto mediato X → Z → Y; W è causa di Z e di Y
Si interviene invece anche sul mediatore e si definisce l'effetto diretto controllato.
Definizione (CDE). Per un valore fissato : L'effetto diretto medio (ADE) si ottiene mediando i sui valori di .
Si risolve il doppio nel grafo con : Primo passaggio: perché non ci sono cammini backdoor da a . Secondo: per ci sono due cammini backdoor da a , uno chiuso dal condizionamento (), l'altro () da chiudere aggiustando su . Dunque
Condizione generale. Il di su mediato da si calcola se (1) esiste un insieme che blocca tutti i cammini backdoor da a ; (2) esiste un insieme che blocca tutti i cammini backdoor da a dopo aver tolto le frecce entranti in . Con : .
Verifica numerica (SCM booleano con tabelle inventate da me, , ): la formula dà e , esattamente come il calcolo dal modello strutturale. Condizionare su senza aggiustare su darebbe e : errore dovuto al collider.
7. Librerie
Nei laboratori si usano due librerie; qui i numeri dei laboratori sono ricalcolati con numpy.
# pyAgrum: modello bayesiano + CausalModel, calcolo di P(Y | do(X))
import pyagrum as gum, pyagrum.causal as csl, pyagrum.causal.notebook as cslnb
m = gum.fastBN("Cloudy{T|F}->Rain{T|F}->GrassWet{T|F}<-Sprinkler{T|F}<-Cloudy")
d = csl.CausalModel(m)
cslnb.getCausalImpact(d, "GrassWet", doing="Rain", values={"Rain": "T"}) # P(GrassWet | do(Rain=T))# CausalGraphicalModels: solo la struttura del grafo (nessuna probabilità)
from causalgraphicalmodels import CausalGraphicalModel
g = CausalGraphicalModel(nodes=["X", "Y", "Z", "W"],
edges=[("X", "Y"), ("Z", "X"), ("Z", "W"), ("W", "Y")])
g.get_all_backdoor_paths("X", "Y") # [['X','Z','W','Y']]
g.get_all_backdoor_adjustment_sets("X", "Y") # insiemi validi
g.do("X").draw() # grafo dopo la chirurgia
# latent_edges=[("X","Y")] aggiunge una causa comune non osservata
# g.get_all_frontdoor_adjustment_sets("X", "Y")pyAgrum calcola trovando da solo un insieme di aggiustamento (lo scrive nella spiegazione: backdoor ['Gender'] found); CausalGraphicalModels non ha probabilità e dice solo quali insiemi sono validi, come nei calcoli a mano sopra.
Domande d'esame
- e sono uguali quando? Quando non ci sono cammini backdoor non bloccati (nessun confondente), per esempio quando tra e ci sono solo cammini orientati.
- Calcola per , , con , , . (si pesa con , non con ).
- Nel grafo , , , , è un insieme backdoor valido? No: è un collider e condizionarci apre il cammino .
- Quando si usa il front-door? Quando il confondente non è osservato ma c'è un mediatore che intercetta tutti i cammini diretti , senza backdoor e con i backdoor bloccati da : .
Versione ripasso
Argomento del corso da 9 CFU; prerequisiti: Inferenza causale - modelli causali strutturali e scala della causalitàI dati e la distribuzione congiunta da soli non dicono quali variabili causano quali: lo mostrano il paradosso di Simpson (la medicina funziona in ogni sottogruppo ma sembra peggiorare la popolazione) e il fatto che reti bayesiane diverse (A→B e B→A) descrivono la stessa congiunta. Serve un modello causale: un modello causale strutturale (SCM) ha variabili esogene U, endogene V e funzioni $v_i=f_i(\text{genitori},u_i)$; il suo grafo è la rete causale, e una rete causale è una rete bayesiana in cui le frecce sono cause. Le tre strutture elementari decidono l'indipendenza: catena $A\to B\to C$ e fork $A\leftarrow B\to C$ si bloccano osservando B, il collider $A\to B\leftarrow C$ si blocca se B e i suoi discendenti NON sono osservati (osservarlo crea dipendenza, explaining away). d-separazione: X e Y sono separati da Z se ogni cammino è bloccato; allora $X\perp!!!\perp Y\mid Z$. La scala della causalità (Pearl): associazione $P(y\mid x)$, intervento $P(y\mid do(x))$, controfattuali. Argomento del corso da 9 CFU.Inferenza causale - modelli causali strutturali e scala della causalità → e Formula delle probabilità totali e formula di BayesSe (A_i) è una partizione di Ω, P(B) = Σ P(B ∣ A_i) P(A_i) (probabilità totali); la formula di Bayes inverte il condizionamento: P(A_k ∣ B) = P(B ∣ A_k) P(A_k) / P(B).Formula delle probabilità totali e formula di Bayes →.
forza . se c'è un confondente: condizionare = selezionare le righe con ; intervenire = riscrivere l'intera colonna con . Sprinkler: sulle 10 righe della slide; forza tutte le righe.
Chirurgia. : l'equazione di diventa la costante e le frecce entranti in sono tolte (quelle uscenti restano). Nella congiunta si toglie il fattore : . Regole: nessun cammino orientato da a nessun effetto; solo cammini orientati ; cammino non orientato aperto confondente e stima distorta.
Aggiustamento (genitori di ). Passi:
- (definizione);
- (probabilità totale);
- (in la freccia non c'è, );
- , perché e .
Si pesa con della popolazione, non con .
Sprinkler . ; per : . Risultato (osservazionale ).
ACE ; positivo, negativo, neutro. Sprinkler: pioggia , irrigatore . Simpson (): , , ACE (frazioni esatte: ): la medicina migliora la guarigione.
Backdoor. Cammino backdoor: da a con freccia entrante in . valido se blocca ogni backdoor e non contiene discendenti di : . Un collider blocca da solo, ma condizionarci lo apre.
Esempi.
- , , , , : validi ; non validi e quelli con .
- (1) , : ; con solo osservato .
- (2) collider (): o , non .
- (3) , sei termini.
- (4) con non osservato: , quattro termini; da solo no.
Verifica del modello. Se due insiemi validi danno risultati diversi sui dati, il modello causale è sbagliato.
Front-door ( non osservato, ): , , quindi Criterio: blocca i cammini diretti ; nessun backdoor ; backdoor bloccati da . Impossibile se causa anche . Fumo: (Esercizio - Aggiustamento front-door ed effetto del fumo sul cancro (laboratorio 8)).
Mediazione. ; ADE = media dei CDE. Condizionare sul mediatore (collider ) crea dipendenza spuria. Condizione: blocca i backdoor , quelli senza le frecce entranti in . Numeri: , , mentre condizionando su si avrebbe e .
Errori tipici: pesare con ; includere un discendente di ; condizionare sul collider; confondere con l'osservazione di .
Esercizi su questo argomento
- Esercizio - Aggiustamento backdoor con un confondente non osservato e con un collider (slide del corso)
- Esercizio - Aggiustamento front-door ed effetto del fumo sul cancro (laboratorio 8)
- Esercizio - Cammini backdoor e insiemi di aggiustamento validi (laboratorio 8)
- Esercizio - Controfattuali di Joe e della tabella di U (slide del corso)
- Esercizio - Effetto causale della pioggia con pyAgrum (esempio sprinkler)
- 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 bayesiana dell'offerta di lavoro e intervento do (esempio di forma d'esame)
- Esercizio - Rete causale con CausalGraphicalModels, cammini backdoor e insiemi validi (esempio d'esame 2)