Salta al contenuto
Note per Studenti Esercizio - Rete causale con CausalGraphicalModels, cammini backdoor e insiemi validi (esempio d'esame 2)

Esercizio - Rete causale con CausalGraphicalModels, cammini backdoor e insiemi validi (esempio d'esame 2)

Teoria: 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 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à →. Esercizi collegati: Esercizio - Cammini backdoor e insiemi di aggiustamento validi (laboratorio 8) e Esercizio - Rete bayesiana dell'offerta di lavoro e intervento do (esempio di forma d'esame). Domanda 3 del quiz da 9 CFU (la causale non è nel programma da 6 CFU).

Testo. Rete causale della figura, con archi A→XA\to X, B→XB\to X, B→CB\to C, X→CX\to C, C→YC\to Y, A→YA\to Y, Y→DY\to D.

python
bdnet1 = cgm.CausalGraphicalModel(
    nodes = ['X', 'C', 'Y', 'D', 'B', 'A'],
    edges = [('X', Blank1), ('C', 'Y'), ('Y', 'D'), ('B', 'C'),
             ('A', 'X'), ('B', 'X'), ('A', 'Y')])
  • Q1. Completare l'arco ('X', ...). Menu: A, B, C, D.
  • Q2. Come si ottengono tutti i cammini backdoor tra XX e YY con CausalGraphicalModels? Menu: bdnet1.get_all_backdoor_paths("X","Y"), bdnet1.backdoor_paths("X","Y"), bdnet1.all_backdoor_paths("X","Y"), bdnet1.find_backdoor_paths("X","Y").
  • Q3. Quale opzione contiene tutti i cammini backdoor tra XX e YY? Menu: ['X','A','Y']; ['X','B','C','Y']; [['X','B','C','Y'], ['X','A','Y']]; ['X','C','Y','D']. Le opzioni sono trascritte dal sistema con parentesi sbilanciate nelle prime due: il senso è un cammino solo contro due cammini.
  • Q4. Quale opzione contiene tutti gli insiemi validi per la formula di aggiustamento con il criterio backdoor? Menu: {'A','B'}; {'A','B'}, {'A'}, {'B'}; {'A','B'}, {'A'}; {'A','B'}, {'A'}, {'B'} (la seconda e la quarta compaiono identiche nella trascrizione).

Soluzione

Q1: C. Nella figura la freccia esce da XX ed entra in CC (X→C→YX\to C\to Y, e B→CB\to C). A e B sono già genitori di XX (('A','X'), ('B','X'): aggiungere ('X','A') creerebbe un ciclo, che un grafo aciclico non ammette); ('X','D') non c'è: DD è figlio di YY.

Q2: bdnet1.get_all_backdoor_paths("X", "Y"). È il nome del metodo della libreria (insieme a get_all_backdoor_adjustment_sets e is_valid_backdoor_adjustment_set); gli altri nomi non esistono.

Q3: [['X','B','C','Y'], ['X','A','Y']]. Un cammino backdoor è un cammino da XX a YY il cui primo arco entra in XX. Dei quattro cammini senza ripetizioni:

  • X→C→YX\to C\to Y: causale (il primo arco esce da XX), non backdoor;
  • X←A→YX\leftarrow A\to Y: backdoor;
  • X←B→C→YX\leftarrow B\to C\to Y: backdoor, BB è causa di XX e, tramite CC, di YY;
  • X→C←B→…X\to C\leftarrow B\to\dots: non arriva a YY senza tornare su XX.

X→C→Y→DX\to C\to Y\to D (ultima opzione) è causale e comprende il discendente DD. Le prime due opzioni contengono un cammino solo.

Q4: {'A','B'}. Occorre bloccare i due cammini backdoor senza includere discendenti di XX.

  • X←A→YX\leftarrow A\to Y: AA è una biforcazione, si blocca condizionando su AA (obbligatorio).
  • X←B→C→YX\leftarrow B\to C\to Y: si blocca condizionando su BB (biforcazione) o su CC (catena). Ma CC è discendente di XX (mediatore X→C→YX\to C\to Y): condizionare su CC bloccherebbe parte dell'effetto causale, quindi non è ammesso. Resta BB.
  • DD è discendente di YY, quindi di XX: escluso.

Gli insiemi che bloccano entrambi i cammini devono contenere AA e BB: l'unico valido è {A,B}\{A,B\}. {A}\{A\} lascia aperto il cammino X←B→C→YX\leftarrow B\to C\to Y, {B}\{B\} lascia aperto X←A→YX\leftarrow A\to Y. Controllato con un programma che enumera tutti i sottoinsiemi dei non discendenti di XX: risulta solo {A,B}\{A,B\}.

Versione ripasso

Teoria: 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 →.

  • Q1: ('X','C'), opzione C (freccia X→CX\to C; A, B darebbero un ciclo).
  • Q2: bdnet1.get_all_backdoor_paths("X","Y").
  • Q3: backdoor = primo arco entra in XX: X←A→YX\leftarrow A\to Y e X←B→C→YX\leftarrow B\to C\to Y, quindi [['X','B','C','Y'], ['X','A','Y']].
  • Q4: AA blocca il primo; per il secondo BB (non CC, che è discendente di XX); DD discendente. Solo {'A','B'}.

Errori tipici: includere CC o DD nell'insieme; contare X→C→YX\to C\to Y come backdoor; trascurare BB.

Teoria collegata