structurele Causale modellen

1.5.1 het modelleren van causale veronderstellingen

in het vorige bericht hebben we gerichte cyclische grafieken behandeld. In deze sectie leren we hoe we DGS kunnen gebruiken om te redeneren over de causale veronderstellingen in onze modellen.

Mathematisch bestaat een structureel Causaal Model (SCM) uit een verzameling endogene (V) en een verzameling exogene (U) variabelen verbonden door een verzameling functies (F) die de waarden van de variabelen in V bepalen op basis van de waarden van de variabelen in U.

intuïtief, als we denken dat een DAG een stroom van informatie vertegenwoordigt, dan zijn de variabelen U de input voor het systeem, terwijl de variabelen V de knooppunten zijn waar die informatie wordt verwerkt.

elke SCM is geassocieerd met een grafisch model (DAG) waar elke knoop een variabele in U of V is en elke rand een functie f. elke rand (functie) komt overeen met een causale aanname:

  • als de variabele Y het kind is van een variabele X, dan zeggen we dat Y wordt veroorzaakt door X, of dat X de directe oorzaak is van Y.
  • Als de variabele Y is de afstammeling van een variabele X, dan zeggen we dat Y is mogelijk veroorzaakt door X, of dat X is de mogelijke oorzaak van Y.

Laten we eens het voorbeeld in Fig 1.9:

Fig 1.9 — Grafisch model van SCM 1.5.1

gewoon op zoek naar deze grafiek, zijn we direct en intuïtief, begrijpen veel van de details van de onderliggende SCM:

  • X en Y hebben geen binnenkomende randen, dus zijn het exogene variabelen (behorend tot U).
  • Z heeft twee binnenkomende randen, dus het is een endogene variabele (behorend tot V).
  • Z heeft twee directe oorzaken X en Y, of, met andere woorden, de waarde van Z hangt expliciet af van de waarden van X en Y en fz=f(X, Y).

echter, we hebben de volledige specificatie van de SCM nodig om precies te weten wat de functie fz is die de waarde van Z. bepaalt het structurele Causale Model wordt alleen volledig gespecificeerd wanneer we naast de DAG hierboven ook specificeren:

SCM 1.5.1

Hier is het belangrijk op te merken dat, hoewel dags minder informatie bevatten dan de volledig gespecificeerde SCM, ze vaak nuttiger zijn. Grafieken zijn extreem visuele objecten, waardoor ze gemakkelijker te interpreteren en te analyseren. Ook is het vaak het geval wanneer we simpelweg niet genoeg informatie hebben om de SCM volledig te specificeren, maar intuïtief kunnen definiëren hoe de causale grafiek eruit zou moeten zien.

simulerende modellen

een van de voordelen van een volledig gespecificeerde SCM is dat ze vrij eenvoudig te simuleren zijn. We kunnen bijvoorbeeld het maken van een aantal nep – (deterministisch) gegevens voor de SCM hierboven beschreven:

Wat resulteert in een eenvoudige panda ‘ s DataFrame met de waarden van X, Y en Z:

Ik vergeef het je als je niet bijzonder onder de indruk van dit voorbeeld. Immers, het enige wat we deden was het genereren van een aantal valse gegevens op basis van een eenvoudige vergelijking. Dit is niet bijzonder indrukwekkend, totdat we een beetje onder het oppervlak kijken:

Dit DataFrame vertegenwoordigt een volledig numerieke beschrijving van ons model… met andere woorden, Dit is een speelgoedversie van wat de originele gegevens die gebruikt zouden kunnen zijn, in combinatie met DAG hierboven, om de functie fz te passen.

als we dit DataFrame behandelen als onze “empirische gegevens” en we veronderstellen (op basis van enige domeinkennis) dat fz een lineaire regressie van X en Y moet zijn, dan kunnen we gewoon Z ~ X + Y aanpassen:

om te herstellen als de coëfficiënten vermenigvuldigen van respectievelijk X en y:

we zullen later veel meer in detail kijken hoe causale modellen te evalueren en aan te passen, maar zelfs dit eenvoudige speelgoedmodel geeft ons al een voorproefje van wat er gaat komen en de eenvoud (en algemeenheid) van deze aanpak.

een stochastisch voorbeeld

laten we nu eens kijken naar een complexer voorbeeld, SCM 1.5.3. In dit geval wordt de SCM gegeven door:

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. Dit impliceert dat de exogene variabelen corresponderen met niet-geobserveerde invloeden in ons model, dus ze kunnen als foutfactoren worden behandeld.

Plugging in normaal gedistribueerde willekeurige waarden voor Ux, Uy en Uz we kunnen snel een DataFrame bouwen waarin de waarden van X, Y en Z.

worden gespecificeerd laat ons even vergeten dat we de expliciete analytische formules hebben die de waarden van onze endogene variabelen produceren en alleen de numerieke waarden in ons DataFrame gebruiken.

alle vragen die we hebben over het gedrag van dit model kunnen worden beantwoord met een soortgelijke procedure als hierboven: het aanpassen van een lineair model (omdat we aannemen dat alle afhankelijkheden lineair zijn) waar onze waargenomen waarden de onafhankelijke variabelen zijn en onze onbekenden de afhankelijke variabelen zijn.

bijvoorbeeld, als we willen weten wat de waarde van Z zou kunnen zijn voor een specifieke waarde van Y, zouden we gewoon passen Z ~ Y en vervolgens plugin de overeenkomstige waarde van Y. Als Y = 3, dan is de verwachte waarde van Z is 0,189261, zoals gemakkelijk kan worden geverifieerd door het inpluggen van Y=3 in de expressie voor fZ hierboven (waar we snel zien dat Z=3/16).

aan de andere kant, wat zou de waarde van Z zijn als we naast het waarnemen van Y=3 ook waarnemen dat X=1? Om deze vraag te beantwoorden kunnen we fit Z~X+Y. Wanneer wij voeren deze passen, krijgen we:

Waar kunnen we lezen uit de coëfficiënten voor Y en X. Als we nu de stekker in de waarden van X en Y, dan vinden we dat Z=0.189821 die vergelijkbaar is met de eerder verkregen waarde.

we hadden kunnen raden dat dit het resultaat zou zijn door te kijken naar de overzichtstabel hierboven. We zaad dat de coëfficiënt voor X is 0,0053±0,003 waardoor het zeer dicht bij nul, praktisch verwaarloosbaar.

hoewel dit misschien verrassend lijkt, is het een van de belangrijkste redenen dat deze klasse van modellen zo krachtig is.

de waarde van een specifieke endogene variabele kan alleen afhangen van de waarden van zijn ouders

Deze eenvoudige observatie betekent dat we onze berekeningen aanzienlijk kunnen vereenvoudigen door variabelen te negeren die niet onder de ouders van degene waarin we geïnteresseerd zijn.

wat ons naar ons volgende onderwerp leidt …

1.5.2 productdecompositie

We kunnen op basis van onze observatie hierboven een eenvoudige, maar krachtige regel definiëren, de “regel van productdecompositie” die in het boek wordt gedefinieerd als:

Voor een model waarvan de grafiek is acyclische, de gezamenlijke verdeling van de variabelen in het model wordt gegeven door het product van de voorwaardelijke verdelingen P(kind|ouders) over de “gezinnen” in de grafiek

Dus voor een eenvoudige ketting grafiek:

Wij kunnen onmiddellijk te schrijven:

Dit betekent dat in plaats van een grote tafel van observaties voor elke mogelijke combinatie van de X -, Y-en X moeten we gewoon veel kleinere tafels voor de X -, Y – |X – / Z|Y die dezelfde informatie bevatten en zijn veel meer makkelijk te verkrijgen.

belangrijker is dat grafische modellen ons in staat stellen om deze decompositie op te schrijven zonder expliciet iets te weten over de functies die aan elke variabele ten grondslag liggen.

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:

ten slotte kunnen we het effect op mortaliteit (y=1) van inname van het geneesmiddel (x=1) schatten door het verschil p(y=1/x=1)-p(y=1|x=0) te berekenen. Voor de populatie met (Z = 1) en zonder (Z=0) de ziekte, hebben we:

Hier moet duidelijk zijn waarom we zowel X als z conditioneren: we leggen op dat elk individu tot een specifieke populatie (z) behoort en al dan niet de medicatie (x) neemt.

aan de andere kant, als we alleen het gemiddelde effect over de gehele populatie willen, dan moeten we alleen conditioneren op de behandeling (X). In dit geval willen we P(Y=1|X=1)-P(Y=1|X=0) berekenen. We herschrijven deze uitdrukking als:

Where we can easily plugin the expressions defined above.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.