Du graphe causal au do-calculus — le pont causal
← Série Probas | ↑ Arc Théorie de la Décision | Corpus bayésien Infer (C#) → | Corpus PyMC (Python) →
Série-pont de la constellation causale du dépôt. La causalité est traitée à quatre endroits, chacun avec son moteur et son angle ; ce répertoire n’ajoute pas un cinquième moteur, il fournit l’armature formelle unifiée — l’échelle de Pearl, les trois règles du do-calculus et les méthodes quasi-expérimentales — et la fait tourner sur l’outil de référence dowhy (installé et exécuté réellement, règle F / SOTA-OK, pas de réimplémentation jouet), avant de renvoyer à chaque série pour l’instanciation par son moteur.
Stack : Python 3 (kernel coursia-ml-training), dowhy pour l’identification / estimation / réfutation d’estimandes causaux, causal-learn pour la découverte de structure (PC, GES, LiNGAM — DoWhy-3). Aucun kernel .NET ni GPU requis.
Contenu
| Notebook | Durée | Concepts |
|---|---|---|
| CausalBridges-01 — Do-Calculus | ~65 min | Échelle de Pearl, trois règles du do-calculus, critères backdoor / front-door exécutés avec dowhy ; quatre tâches du data-fusion (sélection corrigée par IPW, transportabilité stratifiée), CHT démontré machine (deux SCM gaussiens à loi jointe identique, interventions opposées), jonction do-calculus ↔︎ baseline Shapley (do vs voir) ; Pearl (intervention) vs Hoel (émergence causale) |
| CausalBridges-02 — Exiger un estimand | ~45 min | Identification causale nommée via dowhy (backdoor, front-door, instrumentale) sur un cas complet ; sensibilité au graphe mesurée quand une hypothèse saute |
| CausalBridges-03 — Le contrefactuel individuel | ~40 min | Troisième échelon de Pearl : dowhy.gcm (abduction-action-prédiction) sur un individu ; l’effet moyen nul cache une CATE linéaire ±3 ; fragilité du chiffre individuel à la spécification du mécanisme |
| CausalBridges-04 — Le graphe qu’on n’a pas | ~45 min | Découverte de structure via causal-learn (PC, GES, LiNGAM) : classes d’équivalence de Markov, verdict CPDAG ambigu = résultat ; LiNGAM tranche sous non-gaussianité mais rend un DAG faux-silencieux sinon ; l’ambiguïté se propage à l’estimand (3 extensions du même CPDAG → 3 estimands dowhy) |
| CausalBridges-05 — Le confondeur non observé | ~50 min | Sensibilité, pas certitude : « quelle force devrait avoir un confondeur caché pour annuler cet effet ? » — robustness value de Cinelli-Hazlett (linear-partial-R2), E-value natif dowhy avec benchmark McGowan-Greevy, bornes de Rosenbaum exactes (Γ*), courbe de bascule du confondeur simulé (direct-simulation) |
| CausalBridges-06 — L’instrument faible | ~45 min | Variable instrumentale via dowhy.CausalModel (pipeline identify + estimate(iv.instrumental_variable) + refute) ; F-stat Staiger-Stock, biais IV vs OLS, verdict NON_IDENTIFIABLE honnête sur exclusion violée ; complète le 2SLS from scratch de la cellule 40 de CausalBridges-07-Quasi-Experimental.ipynb |
| CausalBridges-07 — Quasi-Experimental | ~50 min | Méthodes quasi-expérimentales (DiD, contrôle synthétique, RDD, variables instrumentales) sur données réalistes ; estimands et hypothèses d’identification explicités |
| CausalBridges-08 — Décomposer la discrimination | ~50 min | Critères structurels Str-DE/IE/SE, famille TV (TE, Exp-SE, NDE, NIE) — Lem 4.1 et Thm 4.2 vérifiés à la précision machine sur un SCM à bruits partagés, dowhy backdoor vs naïf (+69 % d’écart mesuré), règle des 80 % (EEOC) sur le crédit allemand, business necessity |
Prérequis : probabilités conditionnelles, graphes orientés acycliques (DAG), notions d’inférence bayésienne. Une lecture préalable de l’un des cinq notebooks de la constellation (ci-dessous) rend le pont plus concret.
Ce que le pont ajoute
Ce que ce répertoire apporte, que les quatre séries de moteur ne font pas chacune séparément :
- La théorie unifiée du do-calculus, présentée une bonne fois : l’échelle de Pearl (observation < intervention < contrefactuel) et les trois règles, lues comme des chirurgies du graphe suivies d’un test de \(d\)-séparation.
- Une exécution sur l’outil SOTA
dowhyqui identifie l’estimande (backdoor / front-door / variable instrumentale), l’estime, puis le réfute — le pipeline qu’on utiliserait pour une vraie étude causale. - La mise en regard des deux grands paradigmes causaux : l’interventionnisme de Pearl et l’émergence causale de Hoel (information effective).
La constellation causale — où approfondir
Les quatre séries implantent le même formalisme avec des outils différents. Partout, \(do(X=x)\) se traduit par une mutilation du graphe (on supprime les arêtes entrant dans \(X\), puis on fige \(X=x\)).
| Direction | Notebook | Moteur | Ce qu’il apporte de plus |
|---|---|---|---|
| Logique + SCM + contrefactuels | Tweety-11 | Tweety (.NET) | backend causal logique, opérateur do natif |
| Message passing exact | Infer-5 | Infer.NET | backdoor, front-door, Simpson, médiation, capstone contrefactuel |
| MCMC bayésien | PyMC-5 | PyMC | incertitude postérieure sur l’effet, contrefactuel bayésien |
| Émergence causale (Hoel) | ICT-5, ICT-6 | PyPhi (CE 2.0) | information effective, coarse-graining, multiscale |
Là où Infer-5 et PyMC-5 instrumentent le do à la main sur leur moteur, dowhy automatise l’identification puis estime et réfute. Là où Pearl demande « quel est l’effet d’une intervention sur \(X\) ? » dans un graphe fixé, Hoel (ICT-5/6) demande « quelle échelle de description porte le plus de causalité ? » — deux réponses complémentaires à la question causale.
Exercices
Le notebook suit la convention du dépôt (stubs à compléter, sans erreur volontaire) :
- Ajouter un second confondeur à la backdoor — étendre l’ensemble d’ajustement à
{aptitude, motivation}. - Rompre le critère front-door — ajouter un chemin direct qui contourne le médiateur et vérifier que l’identification front-door échoue.
- Comparer effet naïf et effet ajusté — générer un nouveau jeu à effet vrai connu, mesurer l’écart dû au confondeur.
- Le compromis biais-variance du transport stratifié — refaire le transport de la tâche 4 à K ∈ {3, 20, 100} strates : biais résiduel intra-strate à petit K, variance Monte-Carlo à grand K.
Exercices de CausalBridges-03 :
- Le contrefactuel inverse — pour un étudiant non traité à
V > 0, estimer sonYsousT := 1et comparer à son observation : aurait-il gagné au mentorat ? - La CATE par sous-groupe — déduire de la série d’écarts individuels l’effet moyen pour
V > 0.5vsV < -0.5, interpréter le signe. - La méthode survit-elle au tirage ? — re-générer le monde (
seed=7), refitter, re-mesurer moyenne et écart-type des écarts : la structure doit survivre, pas les individus.
Exercices de CausalBridges-06 (variable instrumentale via dowhy) :
- L’exclusion respectée vs VIOLEE — générer un DGP
effet_direct_z = 0.5, vérifier quedowhyidentifie l’estimandiv, et constater l’écart entretau dowhyetTAU_VRAI = 2.0; verdict local NON_IDENTIFIABLE en mode terrain. - Le F-stat comme garde-fou — faire varier la taille d’échantillon
n ∈ {500, 1000, 2000, 5000}sur instrument faible, observer comment le F-stat monte avecn(sans faire passer l’identification, qui reste structurelle). - Verdict NON_IDENTIFIABLE sur DAG incomplet — démontrer que
dowhyidentifie un estimandivmême quand l’exclusion est structurellement violée ; le verdict NON_IDENTIFIABLE doit venir du praticien, pas dedowhy.
Exercices de CausalBridges-04 (découverte de structure) :
- L’ambiguïté ne se résout pas avec des données — pour
n ∈ {500, 2000, 10000}, constater que le CPDAG de PC gardeC–XetX–Mambiguës : la classe de Markov est une borne structurelle, pas un problème de taille d’échantillon. alphade PC, le compromis mesuré — pouralpha ∈ {0.2, 0.05, 0.01}sur 5 seeds : arêtes parasites à0.2, v-structure perdue environ 1 seed sur 4 à0.05(mesuré sur ce monde), propre à0.01au prix de la puissance sur signaux faibles — il n’y a pas d’alpha gratuit.- Diagnostiquer l’échec silencieux de LiNGAM — sur 5 seeds gaussiens : DAG complet, faux et instable inter-seeds ; l’instabilité est le seul signal que l’hypothèse de non-gaussianité ne tient pas, la librairie reste muette.
Exercices de CausalBridges-05 (sensibilité au confondeur non observé) :
- Le rapport de forces — renforcer le cache (
coef_u_*=1.8) : la robustness value MONTE avec l’association observée (ça survit encore) ; affaiblir le signal (tau=0.2, bruit_y=3.0) : le RV passe sous le R² réel de U et le verdict bascule en ANNULABLE — c’est l’effet faible qu’on annule, pas le cache fort. - L’E-value de l’IC et la taille d’échantillon — à
n=10000l’IC se resserre, sa borne s’éloigne de 1 et l’E-value de l’IC monte vers celui de l’estimé ; l’estimé ponctuel (biais constant de U) bouge à peine. - Γ* d’un effet plus faible — reprendre le monde binaire à
b_x=0.2, ré-apparier et recalculer Γ* : plus proche de 1 ; Γ* mesure la solidité statistique face au pire des mondes, pas la vérité de l’effet.
Exercices de CausalBridges-08 (famille TV, Epic #16620) :
- Casser l’identité linéaire — ajouter une interaction
A × Wdans l’équation deY: l’identité simpleNDE − NIE = TEne tient plus, mais Lem 4.1 et Thm 4.2 (algébriques) tiennent à la précision machine. - Str-DE-fair n’efface pas l’écart observé — mettre le coefficient direct
A → Yà zéro : NDE ≈ 0 mais la TV reste positive (canal indirect + spurieux) ; la règle des 80 % mesure l’écart, pas la discrimination directe. - La règle des 80 % sur d’autres attributs du crédit allemand —
foreign_worker(groupe de référence minuscule : quelle confiance au ratio ?) et l’âge binarisé à 25 ans.