Salta al contenuto
Note per Studenti Controfattuali e scoperta causale

Controfattuali e scoperta causale

In questa pagina 4

Argomento del corso da 9 CFU. Si appoggia a 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 a 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 →. Per la regressione si veda Regressione lineareNell'apprendimento supervisionato si impara una funzione $F(x)$ dagli esempi $(x,y)$: regressione se $y$ è continua, classificazione se è categorica. Il modello lineare è $F_\beta(x)=\beta_0+\beta_1x_1+\dots+\beta_px_p=X\beta$ (con una colonna di uni per $\beta_0$) e i parametri si scelgono minimizzando l'errore quadratico medio $\mathrm{MSE}=\frac1n\sum_i(y_i-F_\beta(x_i))^2$, funzione convessa dei parametri. Annullando il gradiente di $J(\beta)=|y-X\beta|^2$ si ottengono le equazioni normali $X^TX\beta=X^Ty$ e la soluzione dei minimi quadrati ordinari $\beta=(X^TX)^{-1}X^Ty$. Il coefficiente di determinazione $R^2=1-SS_{res}/SS_{tot}$ misura la qualità del fit (0 = come la media, negativo = peggio della media). Un modello va valutato su un test set mai usato per addestrare: l'errore sul training è ottimistico e un polinomio di grado alto lo azzera senza generalizzare.Regressione lineare →, per le gaussiane Distribuzione gaussiana (normale)N(μ, σ²) ha densità e^(−(x−μ)²/(2σ²)) / √(2πσ²), a campana centrata in μ con larghezza σ; media μ, varianza σ²; si standardizza con Z = (X − μ)/σ ~ N(0, 1) e si calcola P(X ≤ x) = Φ((x − μ)/σ), con Φ(−z) = 1 − Φ(z); aX + b è ancora gaussiana, N(aμ + b, a²σ²).Distribuzione gaussiana (normale) →.

1. Controfattuali

Un controfattuale è una possibilità ipotetica: «cosa sarebbe successo se...?». Esempio: in autostrada c'è molto traffico, esco e prendo una strada di campagna, ma a causa di lavori ci metto comunque molto; arrivato mi chiedo «sarei stato più veloce restando in autostrada?». Si cerca la probabilità di un mondo ipotetico (nel passato) sapendo che cosa è successo davvero. È il terzo livello della scala della causalità.

Definizione

Sia MM l'SCM X=aU,Y=bX+U,X=aU,\qquad Y=bX+U, con grafo U→XU\to X (peso aa), U→YU\to Y (peso 11), X→YX\to Y (peso bb). Si scrive YX=x(u)=yY_{X=x}(u)=y (o Yx(u)=yY_x(u)=y) per «YY sarebbe stato yy se XX fosse stato xx, nella situazione U=uU=u» (per esempio XX è il percorso, YY il tempo, UU un fattore esterno come il tipo di auto). Il controfattuale produce un modello modificato MxM_x: X=x,Y=bX+U,quindiYx(u)=bx+u.X=x,\qquad Y=bX+U,\qquad\text{quindi}\quad Y_x(u)=bx+u. Allo stesso modo Xy(u)X_y(u) è «cosa sarebbe stato XX se YY fosse stato yy»: nel modello MyM_y (X=aUX=aU, Y=yY=y) vale Xy(u)=auX_y(u)=au, cioè «se YY fosse stato yy» non cambia XX (come atteso, YY non è causa di XX).

Con tre valori u=1,2,3u=1,2,3 e a=b=1a=b=1 si possono scrivere tutti i controfattuali:

uu X(u)X(u) Y(u)Y(u) Y1(u)Y_1(u) Y2(u)Y_2(u) Y3(u)Y_3(u) X1(u)X_1(u) X2(u)X_2(u) X3(u)X_3(u)
1 1 2 2 3 4 1 1 1
2 2 4 3 4 5 2 2 2
3 3 6 4 5 6 3 3 3

Come si legge: X(u)=uX(u)=u, Y(u)=2uY(u)=2u (mondo reale); Yx(u)=x+uY_x(u)=x+u (per x=1x=1: 2,3,42,3,4; per x=2x=2: 3,4,53,4,5; per x=3x=3: 4,5,64,5,6); Xy(u)=uX_y(u)=u per ogni yy.

Controfattuali e interventi

  • I controfattuali sono definiti a livello individuale: Yx(u)=yY_x(u)=y riguarda l'individuo uu e richiede un SCM con le funzioni.
  • Gli interventi sono a livello di popolazione: P(Y∣do(X=x))P(Y\mid do(X=x)) è la distribuzione di YY su tutta la popolazione quando XX è forzato.

Le due nozioni sono legate da P(Y∣do(X=x))≡P(Yx).P(Y\mid do(X=x))\equiv P(Y_x). Ma, con un'evidenza Z=zZ=z, in generale P(Y∣do(X=x),Z=z)≠P(Yx∣Z=z).P(Y\mid do(X=x),Z=z)\ne P(Y_x\mid Z=z). Nel primo si interviene su XX e poi si guardano le unità con Z=zZ=z dopo l'intervento (condizionamento post-intervento); poi si calcola la distribuzione di YY. Nel secondo si guardano gli individui con Z=zZ=z nel mondo reale (condizionamento pre-intervento) e per quegli stessi individui si chiede quale sarebbe il loro esito se XX fosse xx.

Calcolo di un controfattuale

Risolvere il controfattuale in MM equivale a risolvere YY in MxM_x: Yx(u)=YMx(u)Y_x(u)=Y_{M_x}(u).

Esempio (tutoraggio). Ore di tutoraggio XX migliorano lo studio a casa HH e il voto YY, secondo X=UX,H=aX+UH,Y=bX+cH+UY,a=0.5, b=0.7, c=0.4.X=U_X,\qquad H=aX+U_H,\qquad Y=bX+cH+U_Y,\qquad a=0.5,\ b=0.7,\ c=0.4.

Caso deterministico. Lo studente Joe ha X=0.5X=0.5, H=1H=1, Y=1.5Y=1.5. Domanda: quale sarebbe stato il suo voto se avesse raddoppiato lo studio a casa, cioè H=2H=2?

  1. Abduzione. Dai dati si ricavano i valori delle esogene di Joe, invertendo le equazioni: UX=0.5,UH=1−0.5⋅0.5=0.75,UY=1.5−0.7⋅0.5−0.4⋅1=0.75.U_X=0.5,\qquad U_H=1-0.5\cdot0.5=0.75,\qquad U_Y=1.5-0.7\cdot0.5-0.4\cdot1=0.75.
  2. Azione. Si sostituisce l'equazione di HH con la costante H=2H=2 (modello MH=2M_{H=2}: HH non dipende più da XX).
  3. Predizione. Si calcola YY nel nuovo modello con le UU di Joe: YH=2(UX=0.5,UH=0.75,UY=0.75)=0.7⋅0.5+0.4⋅2+0.75=0.35+0.8+0.75=1.9.Y_{H=2}(U_X{=}0.5,U_H{=}0.75,U_Y{=}0.75)=0.7\cdot0.5+0.4\cdot2+0.75=0.35+0.8+0.75=1.9.

Il valore UH=0.75U_H=0.75 non serve (con HH forzato la sua equazione sparisce), ma l'abduzione lo ricava comunque; quello che serve è UYU_Y, la parte del voto di Joe non spiegata da XX e HH. Svolto per intero, con altre domande sullo stesso Joe, in Esercizio - Controfattuali di Joe e della tabella di U (slide del corso).

Caso probabilistico. Invece dei valori uu di un individuo si ha la distribuzione P(U)P(U) e si calcola la probabilità di un controfattuale data l'evidenza E=eE=e, P(YX=x∣E=e)P(Y_{X=x}\mid E=e):

  1. Abduzione: si aggiorna P(U)P(U) con l'evidenza, ottenendo P(U∣E=e)P(U\mid E=e);
  2. Azione: si modifica MM sostituendo l'equazione di XX con X=xX=x (modello MxM_x);
  3. Predizione: si usa MxM_x con le probabilità aggiornate per calcolare la probabilità di YY.

Esempio. Nel modello X=aUX=aU, Y=bX+UY=bX+U (a=b=1a=b=1) con P(U=1)=12P(U=1)=\frac12, P(U=2)=13P(U=2)=\frac13, P(U=3)=16P(U=3)=\frac16, i controfattuali non condizionati si leggono dalla tabella:

  • P(Y2=3)=P(U=1)=12P(Y_2=3)=P(U=1)=\frac12 (Y2=3Y_2=3 solo per u=1u=1);
  • P(Y2>3)=P(U=2)+P(U=3)=13+16=12P(Y_2>3)=P(U=2)+P(U=3)=\frac13+\frac16=\frac12;
  • P(Y2>3, Y1<4)=P(U=2)=13P(Y_2>3,\,Y_1<4)=P(U=2)=\frac13 (per u=2u=2: Y2=4>3Y_2=4>3 e Y1=3<4Y_1=3<4; per u=3u=3: Y1=4Y_1=4 non è <4<4);
  • P(Y1<4, Y−X>1)=P(U=2)=13P(Y_1<4,\ Y-X>1)=P(U=2)=\frac13 (Y−X=u>1Y-X=u>1 e Y1<4Y_1<4 solo per u=2u=2).

Condizionali: P(Y3>Y∣Y>2)P(Y_3>Y\mid Y>2). Si cercano gli uu con Y>2Y>2: Y(u)=2u>2Y(u)=2u>2 per u=2,3u=2,3, con probabilità 13+16=12\frac13+\frac16=\frac12. Tra questi Y3>YY_3>Y solo per u=2u=2 (Y3=5>4Y_3=5>4; per u=3u=3 Y3=6=YY_3=6=Y). Quindi P(Y3>Y∣Y>2)=P(U=2)P(U=2)+P(U=3)=1/31/2=23.P(Y_3>Y\mid Y>2)=\frac{P(U=2)}{P(U=2)+P(U=3)}=\frac{1/3}{1/2}=\frac23. (Abduzione: dopo l'evidenza Y>2Y>2 si ha P(U=2∣E)=23P(U=2\mid E)=\frac23, P(U=3∣E)=13P(U=3\mid E)=\frac13; azione: X=3X=3; predizione: Y3=5>4Y_3=5>4 per u=2u=2, 6=66=6 per u=3u=3.) Tutti questi valori sono stati ricalcolati con frazioni esatte.

2. Modelli lineari gaussiani

Finora variabili discrete. Molti problemi hanno variabili continue; si considera una classe ampia: SCM lineari con variabili gaussiane.

Definizione (SCM lineare). Le equazioni strutturali sono lineari, per esempio X=UX,Z=aX+UZ,W=bX+cZ+UW,Y=dZ+eW+UY.X=U_X,\quad Z=aX+U_Z,\quad W=bX+cZ+U_W,\quad Y=dZ+eW+U_Y. I coefficienti strutturali (di cammino) a,b,c,d,ea,b,c,d,e quantificano l'effetto diretto di un genitore sul figlio.

Grafico interattivo: SCM lineare: Z = aX + U_Z, W = bX + cZ + U_W, Y = dZ + eW + U_Y, con X = U_X

Variabili gaussiane: X∼N(μ,σ2)X\sim\mathcal N(\mu,\sigma^2) con valore atteso μ=E[X]\mu=E[X] e varianza σ2=E[(X−μ)2]\sigma^2=E[(X-\mu)^2] (Distribuzione gaussiana (normale)N(μ, σ²) ha densità e^(−(x−μ)²/(2σ²)) / √(2πσ²), a campana centrata in μ con larghezza σ; media μ, varianza σ²; si standardizza con Z = (X − μ)/σ ~ N(0, 1) e si calcola P(X ≤ x) = Φ((x − μ)/σ), con Φ(−z) = 1 − Φ(z); aX + b è ancora gaussiana, N(aμ + b, a²σ²).Distribuzione gaussiana (normale) →, Vettori gaussianiX = (X₁, ..., Xₙ) è un vettore gaussiano N(m, Σ) se ogni combinazione lineare a·X è gaussiana (equivalentemente X = m + AZ con Z gaussiane standard indipendenti); se Σ è invertibile ha densità exp(−½(x−m)ᵀΣ⁻¹(x−m)) / √((2π)ⁿ det Σ). Proprietà chiave: AX + b ~ N(Am + b, AΣAᵀ), le marginali sono gaussiane e componenti non correlate sono indipendenti.Vettori gaussiani →). Per le distribuzioni gaussiane valgono due proprietà:

  1. X⊥ ⁣ ⁣ ⁣⊥Y∣Z⇒P(Y∣X,Z)=P(Y∣Z)⇒E[Y∣X,Z]=E[Y∣Z]X\perp\!\!\!\perp Y\mid Z\Rightarrow P(Y\mid X,Z)=P(Y\mid Z)\Rightarrow E[Y\mid X,Z]=E[Y\mid Z];
  2. Y^=E[Y∣X1,…,Xn]=r0+r1X1+⋯+rnXn\hat Y=E[Y\mid X_1,\dots,X_n]=r_0+r_1X_1+\dots+r_nX_n, dove r1,…,rnr_1,\dots,r_n sono i coefficienti di regressione parziale: pendenze dell'(iper)piano che minimizza la somma dei quadrati degli errori arg⁡min⁡∑i(yi−y^i)2\arg\min\sum_{i}(y_i-\hat y_i)^2.

Esempio. Con i punti (1,6),(2,5),(3,7),(4,10)(1,6),(2,5),(3,7),(4,10): xˉ=2.5\bar x=2.5, yˉ=7\bar y=7; Sxy=∑(x−xˉ)(y−yˉ)=(−1.5)(−1)+(−0.5)(−2)+0.5⋅0+1.5⋅3=7S_{xy}=\sum(x-\bar x)(y-\bar y)=(-1.5)(-1)+(-0.5)(-2)+0.5\cdot0+1.5\cdot3=7, Sxx=∑(x−xˉ)2=5S_{xx}=\sum(x-\bar x)^2=5; pendenza r1=7/5=1.4r_1=7/5=1.4 e intercetta r0=7−1.4⋅2.5=3.5r_0=7-1.4\cdot2.5=3.5, cioè Y^=3.5+1.4X\hat Y=3.5+1.4X (Regressione lineareNell'apprendimento supervisionato si impara una funzione $F(x)$ dagli esempi $(x,y)$: regressione se $y$ è continua, classificazione se è categorica. Il modello lineare è $F_\beta(x)=\beta_0+\beta_1x_1+\dots+\beta_px_p=X\beta$ (con una colonna di uni per $\beta_0$) e i parametri si scelgono minimizzando l'errore quadratico medio $\mathrm{MSE}=\frac1n\sum_i(y_i-F_\beta(x_i))^2$, funzione convessa dei parametri. Annullando il gradiente di $J(\beta)=|y-X\beta|^2$ si ottengono le equazioni normali $X^TX\beta=X^Ty$ e la soluzione dei minimi quadrati ordinari $\beta=(X^TX)^{-1}X^Ty$. Il coefficiente di determinazione $R^2=1-SS_{res}/SS_{tot}$ misura la qualità del fit (0 = come la media, negativo = peggio della media). Un modello va valutato su un test set mai usato per addestrare: l'errore sul training è ottimistico e un polinomio di grado alto lo azzera senza generalizzare.Regressione lineare →).

Coefficienti strutturali = coefficienti di regressione. In un SCM lineare gaussiano, i coefficienti di regressione di ogni variabile endogena sui suoi genitori coincidono con i coefficienti strutturali: E[Z∣X]=r0Z+aXE[Z\mid X]=r_{0Z}+aX, E[W∣X,Z]=r0W+bX+cZE[W\mid X,Z]=r_{0W}+bX+cZ, E[Y∣Z,W]=r0Y+dZ+eWE[Y\mid Z,W]=r_{0Y}+dZ+eW.

Non basta regredire su variabili qualsiasi: regredire YY solo su ZZ dà un coefficiente diverso da dd (il cammino Z←X→W→YZ\leftarrow X\to W\to Y è un backdoor aperto).

Effetto causale totale. L'effetto totale tra due variabili è la somma dei prodotti dei coefficienti strutturali lungo ogni cammino orientato (non backdoor) da una all'altra. Nell'esempio, l'effetto totale di ZZ su YY è d+ced+ce (cammini Z→YZ\to Y e Z→W→YZ\to W\to Y); quello di XX su YY è ad+be+acead+be+ace.

Verifica numerica (coefficienti scelti da me: a=0.8a=0.8, b=0.5b=0.5, c=0.6c=0.6, d=0.7d=0.7, e=0.4e=0.4, rumori N(0,1)\mathcal N(0,1), 500 000500\,000 campioni):

  • regressione sui genitori: Z∼XZ\sim X dà 0.8010.801; W∼X,ZW\sim X,Z dà 0.4990.499 e 0.6020.602; Y∼Z,WY\sim Z,W dà 0.7010.701 e 0.4010.401: i coefficienti strutturali;
  • effetto totale di ZZ su YY: d+ce=0.7+0.6⋅0.4=0.94d+ce=0.7+0.6\cdot0.4=0.94; la simulazione dell'intervento do(Z)do(Z) dà 0.940.94. Regredire YY solo su ZZ dà 1.0391.039 (distorto); regredendo YY su ZZ e XX (insieme backdoor {X}\{X\}) il coefficiente di ZZ è 0.9420.942;
  • effetto totale di XX su YY: ad+be+ace=0.56+0.20+0.192=0.952ad+be+ace=0.56+0.20+0.192=0.952; la simulazione dà 0.9520.952 e la regressione semplice Y∼XY\sim X 0.9550.955 (nessun backdoor per XX).

Procedura generale. Dati osservati: se il modello è lineare gaussiano e tutte le variabili sono osservabili, si fa regressione lineare di ogni figlio sui suoi genitori; se non lo sono, si fa la regressione sulle variabili disponibili (scegliendo un insieme valido per il criterio backdoor, 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 il modello non è lineare gaussiano servono altri metodi.

3. Scoperta causale

La scoperta causale (causal discovery) ricava il grafo causale dai dati. I metodi basati su vincoli usano test di indipendenza condizionata (i vincoli) per identificare il grafo: PC (Spirtes e Glymour), FCI, GES. Qui si studia PC, che richiede quattro assunzioni:

  1. Aciclicità: nessun ciclo nel grafo.
  2. Sufficienza: nessun confondente non osservato (tutte le cause comuni sono tra le variabili).
  3. Markov: la d-separazione nel grafo implica indipendenza condizionata nella distribuzione (grafo causale ⇒\Rightarrow dati).
  4. Fedeltà (faithfulness): vale anche il viceversa: se X⊥ ⁣ ⁣ ⁣⊥Y∣ZX\perp\!\!\!\perp Y\mid Z nei dati, allora XX e YY sono d-separati da ZZ nel grafo (dati ⇒\Rightarrow grafo; escludo cancellazioni accidentali di effetti).

Classi di equivalenza di Markov

A→B→CA\to B\to C, A←B←CA\leftarrow B\leftarrow C e A←B→CA\leftarrow B\to C implicano la stessa indipendenza condizionata A⊥ ⁣ ⁣ ⁣⊥C∣BA\perp\!\!\!\perp C\mid B (e nessun'altra): appartengono alla stessa classe di equivalenza di Markov e dai soli dati sono indistinguibili. Il collider A→B←CA\to B\leftarrow C è diverso: implica A⊥ ⁣ ⁣ ⁣⊥CA\perp\!\!\!\perp C (non condizionato) e dipendenza dato BB, quindi si riconosce. Per questo i collider sono decisivi negli algoritmi di scoperta.

Algoritmo PC

Dati da un processo ignoto con grafo vero G∗G^* da scoprire:

Grafico interattivo: Grafo vero G* da scoprire: A → B ← C (collider in B), B → D, B → E

  1. Grafo completo non orientato tra tutte le variabili.
  2. Scheletro. Per L=0,1,2,…L=0,1,2,\dots, per ogni arco X−YX-Y si prova ogni insieme ZZ di LL variabili adiacenti: se X⊥ ⁣ ⁣ ⁣⊥Y∣ZX\perp\!\!\!\perp Y\mid Z (test statistico, per esempio Fisher zz o differenza di BIC) si toglie l'arco e si ricorda ZZ (insieme separatore).
  3. Collider. Per ogni cammino X−Z−YX-Z-Y con XX e YY non adiacenti e ZZ non nell'insieme separatore di X,YX,Y: orienta X→Z←YX\to Z\leftarrow Y.
  4. Propagazione. Un arco Z−YZ-Y di un cammino parzialmente orientato X→Z−YX\to Z-Y con XX e YY non adiacenti si orienta Z→YZ\to Y (altrimenti si creerebbe un collider X→Z←YX\to Z\leftarrow Y che il passo 3 ha escluso).

Esempio (slide). Cinque variabili A,B,C,D,EA,B,C,D,E da un grafo vero A→B←CA\to B\leftarrow C, B→DB\to D, B→EB\to E. Per concretezza ho generato 50005000 campioni lineari gaussiani da questo grafo e applicato PC con il test di Fisher zz (correlazione parziale rr, z=12ln⁡1+r1−rn−∣Z∣−3z=\tfrac12\ln\frac{1+r}{1-r}\sqrt{n-|Z|-3}, livello 0.010.01):

  • L=0L=0: indipendenza non condizionata: solo A⊥ ⁣ ⁣ ⁣⊥C∣{}A\perp\!\!\!\perp C\mid\{\} (r=0.015r=0.015, p=0.30p=0.30): si toglie A−CA-C e si ricorda {}\{\}. Le altre coppie sono correlate (rr tra 0.50.5 e 0.880.88).
  • L=1L=1: si tolgono A−DA-D, A−EA-E, C−DC-D, C−EC-E, D−ED-E, tutte con Z={B}Z=\{B\} (correlazioni parziali tra −0.007-0.007 e 0.0130.013). A−BA-B, B−CB-C, B−DB-D, B−EB-E restano (per esempio A⊥ ⁣ ⁣ ⁣⊥B∣DA\perp\!\!\!\perp B\mid D? no, r=0.39r=0.39).
  • Scheletro: A−B−CA-B-C, B−DB-D, B−EB-E.
  • Collider: A−B−CA-B-C, AA e CC non adiacenti, BB non nell'insieme separatore {}\{\}: A→B←CA\to B\leftarrow C. Invece A−B−DA-B-D: BB è nell'insieme separatore {B}\{B\} di A,DA,D, quindi non è un collider (catena o fork: la classe di equivalenza non decide).
  • Propagazione: A→B−DA\to B-D con AA, DD non adiacenti: B→DB\to D; A→B−EA\to B-E: B→EB\to E.

Risultato: A→B←CA\to B\leftarrow C, B→DB\to D, B→EB\to E, cioè esattamente G∗G^*. Il codice completo, con il test di Fisher scritto in numpy, è in Esercizio - Algoritmo PC sul grafo con cinque variabili (slide del corso). Se il grafo vero fosse una sola catena A→B→CA\to B\to C, PC restituirebbe due archi non orientati (classe di equivalenza): verificato con la stessa funzione, che per un collider orienta invece entrambi gli archi.

Il legame con le reti bayesiane: l'apprendimento della struttura di una rete bayesiana (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 →) cerca un grafo compatibile con i dati, ma da solo non dà il verso causale; PC restituisce la classe di equivalenza e orienta solo ciò che i collider permettono.

Domande d'esame

  1. SCM X=2UX=2U, Y=X+UY=X+U. Osservo X=2X=2. Quanto varrebbe YY se XX fosse stato 55? Abduzione: U=1U=1. Azione: X=5X=5. Predizione: Y5=5+1=6Y_5=5+1=6.
  2. A→B→CA\to B\to C, A←B→CA\leftarrow B\to C e A→B←CA\to B\leftarrow C sono distinguibili dai soli dati? I primi due no (stessa classe di Markov, A⊥ ⁣ ⁣ ⁣⊥C∣BA\perp\!\!\!\perp C\mid B); il terzo sì (collider: A⊥ ⁣ ⁣ ⁣⊥CA\perp\!\!\!\perp C ma non dato BB).
  3. In un SCM lineare Z=aX+UZZ=aX+U_Z, W=bX+cZ+UWW=bX+cZ+U_W, Y=dZ+eW+UYY=dZ+eW+U_Y quanto vale l'effetto totale di ZZ su YY? d+ced+ce (cammini Z→YZ\to Y e Z→W→YZ\to W\to Y).
  4. Perché P(Y∣do(x),z)≠P(Yx∣z)P(Y\mid do(x),z)\ne P(Y_x\mid z)? Nel primo Z=zZ=z è osservato dopo l'intervento, nel secondo gli individui con Z=zZ=z sono scelti nel mondo reale prima dell'intervento.

Versione ripasso

Argomento del corso da 9 CFU; si appoggia a 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 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 →.

  • Controfattuale. Yx(u)Y_x(u) = valore di YY nel modello MxM_x (equazione di XX sostituita da X=xX=x) con U=uU=u fissato. Con X=aUX=aU, Y=bX+UY=bX+U: Yx(u)=bx+uY_x(u)=bx+u e Xy(u)=auX_y(u)=au («se YY fosse stato yy» non cambia XX). Con a=b=1a=b=1: X=uX=u, Y=2uY=2u, Yx=x+uY_x=x+u.
  • Livello individuale. Richiede l'SCM. Gli interventi sono a livello di popolazione: P(Y∣do(x))≡P(Yx)P(Y\mid do(x))\equiv P(Y_x), ma P(Y∣do(x),z)≠P(Yx∣z)P(Y\mid do(x),z)\ne P(Y_x\mid z): nel primo Z=zZ=z è osservato dopo l'intervento, nel secondo gli individui con Z=zZ=z sono presi nel mondo reale prima.
  • Tre passi. (1) Abduzione: da E=eE=e si ricavano le uu (o P(U∣E=e)P(U\mid E=e)); (2) azione: X=xX=x in MxM_x; (3) predizione: si calcola YY in MxM_x.
  • Joe. X=UXX=U_X, H=0.5X+UHH=0.5X+U_H, Y=0.7X+0.4H+UYY=0.7X+0.4H+U_Y; dati X=0.5X=0.5, H=1H=1, Y=1.5Y=1.5.
    • Abduzione: UX=0.5U_X=0.5, UH=1−0.25=0.75U_H=1-0.25=0.75, UY=1.5−0.35−0.4=0.75U_Y=1.5-0.35-0.4=0.75.
    • Azione: H=2H=2.
    • Predizione: YH=2=0.35+0.8+0.75=1.9Y_{H=2}=0.35+0.8+0.75=1.9.
  • Caso probabilistico. P(U=1,2,3)=12,13,16P(U=1,2,3)=\frac12,\frac13,\frac16: P(Y2=3)=12P(Y_2=3)=\frac12, P(Y2>3)=12P(Y_2>3)=\frac12, P(Y2>3,Y1<4)=13P(Y_2>3,Y_1<4)=\frac13, P(Y1<4,Y−X>1)=13P(Y_1<4,Y-X>1)=\frac13, P(Y3>Y∣Y>2)=1/31/2=23P(Y_3>Y\mid Y>2)=\frac{1/3}{1/2}=\frac23 (solo u=2u=2: Y3=5>4Y_3=5>4; per u=3u=3 Y3=6=YY_3=6=Y).
  • SCM lineare gaussiano. Z=aX+UZZ=aX+U_Z, W=bX+cZ+UWW=bX+cZ+U_W, Y=dZ+eW+UYY=dZ+eW+U_Y. Per le gaussiane E[Y∣X1,…,Xn]=r0+∑riXiE[Y\mid X_1,\dots,X_n]=r_0+\sum r_iX_i (regressione, minimi quadrati; (1,6),(2,5),(3,7),(4,10)(1,6),(2,5),(3,7),(4,10): r1=7/5=1.4r_1=7/5=1.4, r0=3.5r_0=3.5). I coefficienti di regressione sui genitori sono i coefficienti strutturali (Regressione lineareNell'apprendimento supervisionato si impara una funzione $F(x)$ dagli esempi $(x,y)$: regressione se $y$ è continua, classificazione se è categorica. Il modello lineare è $F_\beta(x)=\beta_0+\beta_1x_1+\dots+\beta_px_p=X\beta$ (con una colonna di uni per $\beta_0$) e i parametri si scelgono minimizzando l'errore quadratico medio $\mathrm{MSE}=\frac1n\sum_i(y_i-F_\beta(x_i))^2$, funzione convessa dei parametri. Annullando il gradiente di $J(\beta)=|y-X\beta|^2$ si ottengono le equazioni normali $X^TX\beta=X^Ty$ e la soluzione dei minimi quadrati ordinari $\beta=(X^TX)^{-1}X^Ty$. Il coefficiente di determinazione $R^2=1-SS_{res}/SS_{tot}$ misura la qualità del fit (0 = come la media, negativo = peggio della media). Un modello va valutato su un test set mai usato per addestrare: l'errore sul training è ottimistico e un polinomio di grado alto lo azzera senza generalizzare.Regressione lineare →).
  • Effetto totale = somma dei prodotti dei coefficienti lungo i cammini non backdoor: Z→YZ\to Y: d+ced+ce; X→YX\to Y: ad+be+acead+be+ace. Con a=0.8,b=0.5,c=0.6,d=0.7,e=0.4a=0.8,b=0.5,c=0.6,d=0.7,e=0.4: 0.940.94 e 0.9520.952, confermati dalla simulazione. Regredire YY su ZZ da solo dà 1.0391.039 (backdoor aperto); con {X}\{X\} aggiunto 0.9420.942.
  • Procedura. Lineare gaussiano? Sì: regressione di ogni figlio sui genitori (tutte osservabili) o sulle variabili disponibili con un insieme backdoor valido; no: altri metodi.
  • Scoperta causale (PC). Assunzioni:
    1. aciclicità;
    2. sufficienza (nessun confondente non osservato);
    3. Markov: grafo ⇒\Rightarrow dati, cioè d-separazione implica indipendenza;
    4. fedeltà: dati ⇒\Rightarrow grafo.
  • Classe di Markov. Catena e fork (A⊥ ⁣ ⁣ ⁣⊥C∣BA\perp\!\!\!\perp C\mid B) sono indistinguibili; il collider no: A⊥ ⁣ ⁣ ⁣⊥CA\perp\!\!\!\perp C ma non dato BB.
  • Passi di PC.
    1. Grafo completo non orientato.
    2. Si toglie X−YX-Y se X⊥ ⁣ ⁣ ⁣⊥Y∣ZX\perp\!\!\!\perp Y\mid Z, con ∣Z∣|Z| crescente (Fisher zz o BIC), ricordando ZZ.
    3. X−Z−YX-Z-Y con X,YX,Y non adiacenti e ZZ non nell'insieme separatore: X→Z←YX\to Z\leftarrow Y.
    4. Propagazione: X→Z−YX\to Z-Y con X,YX,Y non adiacenti dà Z→YZ\to Y.
  • Esempio A,B,C,D,EA,B,C,D,E. Con L=0L=0 cade A−CA-C (insieme separatore {}\{\}); con L=1L=1 cadono A−D,A−E,C−D,C−E,D−EA-D,A-E,C-D,C-E,D-E (tutti con {B}\{B\}). Collider A→B←CA\to B\leftarrow C; propagazione B→DB\to D, B→EB\to E: si ritrova G∗G^* (Esercizio - Algoritmo PC sul grafo con cinque variabili (slide del corso)). Una sola catena A→B→CA\to B\to C darebbe due archi non orientati.
  • Errori tipici: scambiare dodo e controfattuale; saltare l'abduzione; dire che PC trova un solo grafo (trova la classe di equivalenza); orientare un arco quando il nodo centrale sta nell'insieme separatore.

Esercizi su questo argomento

Teoria collegata