Modèles Causaux structurels

1.5.1 Modélisation des hypothèses causales

Dans le post précédent, nous avons couvert les graphiques Acycliques dirigés. Dans cette section, nous apprenons comment utiliser les DAG pour raisonner sur les hypothèses causales de nos modèles.

Mathématiquement, un Modèle Causal Structurel (SCM) est constitué d’un ensemble de variables endogènes (V) et d’un ensemble de variables exogènes (U) reliées par un ensemble de fonctions (F) qui déterminent les valeurs des variables en V en fonction des valeurs des variables en U.

Intuitivement, si nous considérons un DAG comme représentant un flux d’informations, alors les variables U sont les entrées du système, tandis que les variables V sont les nœuds où ces informations sont traitées.

Chaque SCM est associé à un modèle graphique (DAG) où chaque nœud est une variable en U ou V et chaque arête est une fonction f. Chaque arête (fonction) correspond à une hypothèse causale :

  • Si la variable Y est l’enfant d’une variable X, alors on dit que Y est causé par X, ou que X est la cause directe de Y.
  • Si la variable Y est la descendante d’une variable X, alors nous disons que Y est potentiellement causé par X, ou que X est la cause potentielle de Y.

Considérons l’exemple de la figure 1.9:

Fig 1.9 — Modèle graphique de SCM 1.5.1

En regardant simplement ce graphique, nous saisissons immédiatement et intuitivement beaucoup de détails du SCM sous-jacent:

  • X et Y n’ont pas d’arêtes entrantes, ce sont donc des variables exogènes (appartenant à U).
  • Z a deux arêtes entrantes, c’est donc une variable endogène (appartenant à V).
  • Z a deux causes directes X et Y, ou, en d’autres termes, la valeur de Z dépend explicitement des valeurs de X et Y et fz = f(X, Y).

Cependant, nous avons besoin de la spécification complète du SCM pour savoir exactement quelle est la fonction fz qui détermine la valeur de Z. Le Modèle causal structurel n’est pleinement spécifié que lorsque, en plus du DAG ci-dessus, nous spécifions également:

SCM 1.5.1

Ici, il est important de noter que, même si les DAG contiennent moins d’informations que le SCM entièrement spécifié, ils sont souvent plus utiles. Les graphiques sont des objets extrêmement visuels, ce qui les rend plus faciles à interpréter et à analyser. De plus, c’est souvent le cas lorsque nous n’avons tout simplement pas assez d’informations pour spécifier complètement le SMC, mais que nous pouvons définir intuitivement à quoi devrait ressembler le graphique causal.

Simulation de modèles

L’un des avantages d’un SCM entièrement spécifié est qu’ils sont assez faciles à simuler. Par exemple, nous pouvons créer de fausses données (déterministes) pour le SCM décrit ci-dessus :

Qui génère une trame de données pandas simple avec les valeurs de X, Y et Z :

Je vous pardonne si vous n’êtes pas particulièrement impressionné par cet exemple. Après tout, la seule chose que nous avons faite a été de générer de fausses données basées sur une équation simple. Ce n’est pas particulièrement impressionnant, jusqu’à ce que nous regardions un peu sous la surface:

Cette trame de données représente une description entièrement numérique de notre modèle… en d’autres termes, il s’agit d’une version jouet de ce que les données originales auraient pu être utilisées, en conjonction avec DAG ci-dessus, pour s’adapter à la fonction fz.

Si nous traitons cette trame de données comme nos « données empiriques » et que nous supposons (sur la base de certaines connaissances du domaine) que fz devrait être une régression linéaire de X et Y, alors nous pouvons simplement adapter Z ~X + Y:

à récupérer comme les coefficients multipliant X et Y, respectivement:

Nous verrons plus en détail comment évaluer et adapter les Modèles causaux plus tard, mais même ce modèle de jouet simple nous donne déjà un avant-goût de ce qui est à venir et de la simplicité (et de la généralité) de cette approche.

Un exemple stochastique

Examinons maintenant un exemple plus complexe, SCM 1.5.3. Dans ce cas, le SCM est donné par:

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. Cela implique que les variables exogènes correspondent à des influences non observées dans notre modèle, de sorte qu’elles peuvent être traitées comme des facteurs d’erreur.

En branchant des valeurs aléatoires normalement distribuées pour Ux, Uy et Uz, nous pouvons rapidement construire une trame de données spécifiant les valeurs de X, Y et Z.

Oublions une seconde que nous avons les formules analytiques explicites qui produisent les valeurs de nos variables endogènes et n’utilisons que les valeurs numériques de notre trame de données.

Toutes les questions que nous pourrions avoir sur le comportement de ce modèle peuvent être répondues par une procédure similaire à celle utilisée ci-dessus: ajustement d’un modèle linéaire (puisque nous supposons que toutes les dépendances sont linéaires) où nos valeurs observées sont les variables indépendantes et nos inconnues sont les variables dépendantes.

Par exemple, si nous voulons savoir quelle pourrait être la valeur de Z pour une valeur spécifique de Y, nous ajusterions simplement Z ~Y puis greffons la valeur correspondante de Y. Si Y = 3, alors la valeur attendue de Z est 0,189261, comme cela peut être facilement vérifié en branchant Y = 3 dans l’expression pour fZ ci-dessus (où nous voyons rapidement que Z = 3/16).

Par contre, quelle serait la valeur de Z si en plus d’observer Y = 3, on observe également que X = 1 ? Pour répondre à cette question, nous pourrions ajuster Z ~ X + Y. Lorsque nous effectuons cet ajustement, nous obtenons:

div>

Où nous pouvons simplement lire les coefficients pour Y et X. Si nous branchons maintenant les valeurs de X et Y, nous obtenons Z = 0,189821 qui est similaire à la valeur obtenue ci-dessus.

Nous aurions pu deviner que ce serait le résultat en regardant le tableau récapitulatif ci-dessus. Nous constatons que le coefficient pour X est de 0,0053 ± 0,003, ce qui le rend très proche de zéro, pratiquement négligeable.

Bien que cela puisse paraître surprenant, c’est l’une des principales raisons pour lesquelles cette classe de modèles est si puissante.

La valeur d’une variable endogène spécifique ne peut dépendre que des valeurs de ses parents

Cette simple observation signifie que nous pouvons simplifier nos calculs de manière significative en ignorant toutes les variables qui ne font pas partie des parents de celle qui nous intéresse.

Ce qui nous amène à notre sujet suivant

1.5.2 Décomposition du produit

Nous pouvons nous appuyer sur notre observation ci-dessus pour définir une règle simple, mais puissante, la « Règle de décomposition du produit » qui est définie dans le livre comme:

Pour tout modèle dont le graphique est acyclique, la distribution conjointe des variables dans le modèle est donnée par le produit des distributions conditionnelles P (enfant|parents) sur toutes les « familles » du graphique

Donc pour un graphique en chaîne simple :

On peut immédiatement écrire:

Cela signifie qu’au lieu d’une grande table d’observations pour chaque combinaison possible de X, Y et X, nous avons besoin de tables beaucoup plus petites pour X, Y / X et Z / Y qui contiendront les mêmes informations et seront beaucoup plus faciles à obtenir.

Plus important encore, les modèles graphiques nous permettent d’écrire cette décomposition sans avoir à connaître explicitement les fonctions sous-jacentes à chaque variable.

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:

Enfin, nous pouvons estimer l’effet sur la mortalité (Y = 1) de la prise du médicament (X = 1) en calculant la différence P(Y = 1 / X = 1) – P (Y = 1/X = 0). Pour la population avec (Z = 1) et sans (Z = 0) la maladie, nous avons:

Ici, il devrait être clair pourquoi nous conditionnons à la fois X et Z: nous imposons que chaque individu appartient à une population spécifique (Z) et prend ou non le médicament (X).

D’un autre côté, si nous voulons juste un effet moyen sur l’ensemble de la population, nous devons conditionner uniquement le traitement (X). Dans ce cas, nous voulons calculer P(Y = 1 /X = 1) – P(Y = 1|X = 0). Nous réécrivons cette expression comme:

Where we can easily plugin the expressions defined above.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.