Strukturelle Årsaksmodeller

1.5.1 Modellering Årsaksforutsetninger

i forrige innlegg dekket vi Rettet Acyclical Grafer. I denne delen lærer vi hvordan Vi kan bruke DAGs til å begrunne om årsaksforutsetningene i våre modeller.

Matematisk består En Strukturell Kausal Modell (SCM) av Et Sett Av Endogene (V) og Et sett Av Eksogene (U) variabler forbundet med et sett av funksjoner (F) som bestemmer verdiene av variablene i V basert på verdiene av variablene I U.

Intuitivt, Hvis VI tenker PÅ EN DAG som representerer en strøm av informasjon, så er variablene U inngangene til systemet, mens variablene V er nodene der informasjonen behandles.

Hver SCM er assosiert med en grafisk modell (DAG) hvor hver node er en variabel I U eller V og hver kant er en funksjon f. Hver kant (funksjon) tilsvarer en kausal antagelse:

  • Hvis variabelen Y er barnet til en variabel X, så sier Vi At Y er forårsaket Av X, eller At X er den direkte årsaken Til Y.
  • Hvis variabelen Y er etterkommer Av en variabel X, så sier Vi At Y er potensielt forårsaket Av X, eller At X er den potensielle årsaken Til Y.

la oss se på eksemplet I Fig 1.9:

Fig 1.9 — grafisk modell av scm 1.5.1

fra bare å se på denne grafen, vi umiddelbart og intuitivt, forstå mye av detaljene i den underliggende scm:

  • X Og Y har ingen innkommende kanter, så De Er Eksogene variabler (tilhørende U).
  • Z Har to innkommende kanter, så Det er En Endogen variabel (tilhørende V).
  • Z har to direkte årsaker X Og Y, eller med andre ord, verdien Av Z avhenger eksplisitt av verdiene Til X Og Y og fz=f (X, Y).

vi trenger imidlertid full spesifikasjon AV SCM for å vite nøyaktig hva som er funksjonen fz som bestemmer verdien Av Z. Den Strukturelle Årsaksmodellen er bare fullt spesifisert når vi i TILLEGG til DAG ovenfor også spesifiserer:

SCM 1.5.1

her er det viktig å merke seg at selv om dags inneholder mindre informasjon enn den fullt angitte scm, er de ofte mer nyttige. Grafer er ekstremt visuelle objekter, noe som gjør dem lettere å tolke og analysere. Det er også ofte tilfelle der vi rett og slett ikke har nok informasjon til å spesifisere SCM fullt ut, men kan intuitivt definere hva årsaksgrafen skal se ut.

Simulere modeller

en av fordelene med en fullt spesifisert SCM er at de er ganske enkle å simulere. For eksempel kan VI lage noen falske (deterministiske) data for SCM beskrevet ovenfor:

som genererer en enkel pandas DataFrame med verdiene X, Y Og Z:

jeg tilgir deg hvis du ikke er spesielt imponert over dette eksemplet. Tross alt, det eneste vi gjorde var å generere noen falske data basert på en en enkel ligning. Dette er ikke spesielt imponerende, før vi ser litt under overflaten:

Denne DataFrame representerer en fullstendig numerisk beskrivelse av modellen vår… med andre ord, dette er en leketøyversjon av hva de opprinnelige dataene som kunne vært brukt, sammen MED DAG ovenfor, for å passe til funksjonen fz.

hvis vi behandler Denne Dataframmen som våre «empiriske data» og vi antar (basert på noen domenekunnskap) at fz skal være en lineær regresjon Av X Og Y, så kan Vi bare passe Z ~ X + Y:

for å gjenopprette som koeffisientene multiplisere x og y, henholdsvis:

vi vil se nærmere på hvordan vi skal evaluere og tilpasse årsaksmodeller senere, men selv denne enkle leketøysmodellen gir oss allerede en smak av hva som kommer og enkelheten (og generaliteten) av denne tilnærmingen.

et stokastisk eksempel

La oss nå se på ET mer komplekst eksempel, SCM 1.5.3. I DETTE tilfellet ER SCM gitt av:

SCM 1.5.3

From this specification, we can easily obtain the corresponding DAG:

Graphical Model for SCM 1.5.3

We are also told that all exogenous variables are independently distributed with an expected value zero. Dette innebærer at de eksogene variablene tilsvarer uobserverte påvirkninger i vår modell, slik at de kan behandles som feilfaktorer.Plugging i normalfordelte tilfeldige verdier For Ux, Uy og Uz kan vi raskt bygge En DataFrame som angir verdiene For X, Y Og Z. La oss glemme et sekund at vi har de eksplisitte analytiske formlene som produserer verdiene til våre endogene variabler og bruker bare de numeriske verdiene i Vår DataFrame.

Eventuelle spørsmål vi måtte ha om oppførselen til denne modellen, kan besvares med en lignende prosedyre som den som ble brukt ovenfor: montering av en lineær modell (siden vi antar at alle avhengigheter er lineære) hvor våre observerte verdier er de uavhengige variablene og våre ukjente er de avhengige variablene.for eksempel, hvis Vi vil vite hva verdien Av Z kan være For En bestemt verdi Av Y, vil vi bare passe Z ~ Y Og deretter plugin den tilsvarende verdien Av Y. Hvis Y=3, så er den forventede verdien Av Z 0.189261, som lett kan verifiseres Ved å plugge Inn Y=3 i uttrykket for fZ ovenfor (hvor vi raskt ser At Z=3/16).

på den annen side, hva ville Være verdien Av Z hvis I tillegg til å observere Y=3, observerer Vi Også At X=1? For å svare På dette spørsmålet kan vi passe Z~X+Y. Når Vi utfører denne passformen, får vi:

hvor vi bare kan lese av koeffisientene for y og x. hvis vi nå plugger inn verdiene x og y, får vi z=0.189821 som ligner verdien oppnådd ovenfor.

Vi kunne ha gjettet at dette ville være resultatet ved å se på sammendragstabellen ovenfor. Vi ser at koeffisienten For X er 0.0053±0.003, noe som gjør den svært nær null, praktisk talt ubetydelig.Selv om dette kan virke overraskende, er det en av hovedgrunnene til at denne klassen av modeller er så kraftig.

verdien av en bestemt endogen variabel kan bare avhenge av foreldrenes verdier

denne enkle observasjonen betyr At vi kan forenkle våre beregninger betydelig ved å ignorere eventuelle variabler som ikke er blant foreldrene til den vi er interessert i.

Som fører oss til vårt neste emne…

1.5.2 produktnedbrytning

Vi kan bygge opp på vår observasjon ovenfor for å definere en enkel, men kraftig regel, «Regelen For produktnedbrytning» som er definert i boken som:

for enhver modell hvis graf er acyklisk, er fellesfordelingen av variablene i modellen gitt av produktet av de betingede fordelingene P(barn|foreldre) over alle «familier» i grafen

Så For en enkel kjedegraf:

vi kan umiddelbart skrive:

dette betyr at i stedet for et stort observasjonstabell for hver mulig kombinasjon av x, y og x trenger vi bare mye mindre tabeller for x, y / x og z / y som vil inneholde samme informasjon og er mye lettere å få tak i.enda viktigere, grafiske modeller tillater oss å skrive ned denne dekomponeringen uten å eksplisitt vite noe om funksjonene som ligger til grunn for hver variabel.

In general, we write:

Let us now consider the example in Fig 1.10:

DAG from Fig 1.10 with the associated probability tables.

From this figure, we can immediately write:

and:

Which could also be obtained from the definition of the conditional probability P(X|Z). We can further write:

by the theorem of total probability. And if we plugin the values from the conditional probability tables above, we obtain:

And, similarly:

til slutt kan vi estimere effekten på dødelighet (y=1) av å ta stoffet (x=1) ved å beregne forskjellen p(y=1 / x=1)-p(y=1 / x=0). For befolkningen med (Z=1) og uten (Z=0) sykdommen, har vi:

her bør det være klart hvorfor vi konditionerer på både x og z: vi pålegger at hvert individ tilhører en bestemt befolkning (z) og tar eller ikke medisinen (x).

på den annen side, hvis vi ønsker bare gjennomsnittlig effekt over hele befolkningen, så vi trenger å tilstand bare på behandling (X). I dette tilfellet vil Vi beregne P (Y=1 / X = 1)-P(Y=1|X=0). Vi omskriver dette uttrykket som:

Where we can easily plugin the expressions defined above.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.