You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Origami pli 1] CausalBridges-00-PearlLadder-Intro : motivation Snow/Doll-Hill, échelle de Pearl pas-à-pas (socle commun aux 8 plis à venir) #19310
Grain: DEEP/notebook-python — lane myia-po-2027:CoursIA-2 — prev: DEEP/notebook-lean #19281
Sous-grain du Pli 1 de l'Epic origami #19309 « Compléter la constellation causale » (Epic parent ouvert en parallèle, voir aussi le commentaire d'état sur #19309). Pré-condition vide : ce pli est le socle, sans lequel les 8 plis suivants (P-09 Hernan, P-10 ML-CATE, P-11 Schölkopf 2021, P-12 Schölkopf 2012, P-13 Causal RL, P-14 Heckman, P-15 m-Transport, P-16 ATE-ATT-CATE systematic) n'ont pas de lecteur commun. Le prochain pli (P-09 Hernan) reste verrouillé jusqu'au merge et à la validation de celui-ci.
Le parent porte le programme et les sources (R-pearl 2009, R-scholkopf2021, R-hernan 2020, R-rubin 2005, R-bareinboim2016/2020, R-petersbook 2017, etc.) ; cette issue réserve un seul livrable atomique : CausalBridges-00-PearlLadder-Intro-Python.ipynb.
Motivation historique (cellule 0) : Snow/choléra 1854 (Broad Street pump) + Doll & Hill 1950 (smoking/lung cancer) — deux exemples où l'observation seule a été piégeuse et où la causalité a demandé un raisonnement supplémentaire. Figures matplotlib schématiques.
DAG 4 nœuds (cellule 1) : Z (confondeur, ex. aptitude) → X (traitement, ex. mentorat), X → Y (outcome, ex. score), Z → Y, plus M (médiateur, ex. effort) entre X et Y. Dessin networkx + export PNG.
P(y|x) (association) (cellule 2) : observation pure. Sur DGP semi-synthétique, montrer que P(Y|X=1) ≠ P(Y|do(X=1)) quand Z confond. C'est le barometer de Pearl §1.
P(y|do(x), z) (intervention) (cellule 3) : mutilation du graphe (Pearl §3.3) — supprimer l'arête Z → X, fixer X := x, puis estimer. Vérification par simulation : P(Y|do(X=1)) = E_Z[P(Y|X=1, Z)].
P(y_x | x₀, y₀) (contrefactuel individuel) (cellule 4) : abduction-action-prédiction (Pearl §9) sur 1 individu — pour 1 étudiant non traité à $V > 0$ ayant $Y=0.6$, estimer son $Y$ sous $T := 1$.
5 exercices C.1 :
Ajouter un second confondeur W (ex. motivation), étendre le DAG, vérifier l'identifiabilité.
Vérifier P(Y|do(X)) reste identifiable (backdoor adjustment).
Calculer le contrefactuel inverse (« aurait-il réussi sans mentorat ? » pour un étudiant traité à $V < 0$).
Reproduire le paradoxe de Simpson (un effet qui s'inverse en agrégeant).
Démontrer que voir le barometer ≠ le faire tomber (illustration causale).
Bibliographie primaire en cellule dédiée : Pearl Causality 2009 (ch. 1, 3, 9) ; Hernan/Robins What If 2020 ch. 1-2 ; Schölkopf 2021 (2102.11107) §1.
Verdict SOTA documenté : SOTA-OK (Pearl + numpy + scipy + networkx + matplotlib, aucun GPU requis, aucun réseau neuronal, installable via pip sans secret).
README de la série Causal-Bridges : ajouter une ligne dans la table « Contenu » référençant ce notebook comme socle d'entrée commun aux 8 plis à venir.
Acceptation
Le notebook existe à MyIA.AI.Notebooks/Probas/DecisionTheory/Causal-Bridges/CausalBridges-00-PearlLadder-Intro-Python.ipynb, exécuté bout-en-bout, outputs commités (C.2).
execution_count non-null sur toutes les cellules code ; outputs cohérents (C.2) ; pas d'erreur volontaire (C.1 : stubs pass / return None / print("Exercice a completer")).
3 cellules-types vérifiées post-exec : cell 2 (association naïve), cell 3 (intervention mutilée), cell 4 (contrefactuel individuel). Outputs canoniques documentés dans la PR.
5 exercices C.1 présents, alignés à la convention dépôt (sans lever d'exception).
Verdict SOTA documenté en cellule dédiée (SOTA-OK argumenté).
README de la série Causal-Bridges mis à jour avec une ligne « CausalBridges-00 — PearlLadder-Intro | ~45 min | socle d'entrée commun aux plis à venir ».
PR Grain: DEEP/notebook-python — lane <lane> — prev: <prev> en première ligne, hors worktree (cf. gh-posting-hygiene.md).
PR reviewable : scope borné au seul notebook + 1 ligne README, pas de diffs collatéraux.
Issue de suivi ouverte si une dépendance (librairie, GPU, kernel) s'avère manquante.
Pré-condition et verrouillage
Pré-condition du Pli 1 : aucune. C'est le socle.
Verrouillage du Pli 2 (P-09 Hernan Target Trial Emulation) : verrouillé jusqu'à merge vérifié du Pli 1 par ai-01. Au merge, le coordinateur déplie par commentaire [PLI 2 DÉPLIÉ] sur l'Epic parent, créant la sous-issue P-09.
Pli 1 peut être pioché immédiatement par n'importe quelle lane Python (recommandation : lane myia-po-2025:CoursIA-2 ou myia-po-2027:CoursIA-2, par adjacence thématique avec la série Causal-Bridges).
Vérification avant de croire le scan (cf. audit-reassessment.md)
Le scratchpad/causal_scan.md session 2026-10-05 affirme qu'aucun notebook de la constellation ne pose l'échelle de Pearl pas-à-pas avant d'attaquer do-calculus. Vérification firsthand : CausalBridges-01 attaque « l'échelle de Pearl » mais suppose DAG + conditional proba acquis et entre directement dans les 3 règles du do-calculus. C'est conforme : le scan est correct, le Pli 1 comble un vrai manque (entrée pédagogique, pas redondance).
Ancrage aux refs cibles
R-pearl (Pearl Causality 2009, ch. 1) : la table d'exemples Snow/Doll-Hill est canonique.
R-hernan (Hernan/Robins What If 2020, ch. 1-2) : la reformulation « voir vs faire » en réponse à « qu'est-ce que l'inférence causale ? ».
R-scholkopf2021 (2102.11107) §1 : la motivation « pourquoi la causalité ? » en lien avec le machine learning.
R-bareinboim2016 (Pearl's Hierarchy, r60.pdf) §1 : la hiérarchie rungs 1-2-3.
Grain: DEEP/notebook-python — lane myia-po-2027:CoursIA-2 — prev: DEEP/notebook-lean #19281
Sous-grain du Pli 1 de l'Epic origami #19309 « Compléter la constellation causale » (Epic parent ouvert en parallèle, voir aussi le commentaire d'état sur #19309). Pré-condition vide : ce pli est le socle, sans lequel les 8 plis suivants (P-09 Hernan, P-10 ML-CATE, P-11 Schölkopf 2021, P-12 Schölkopf 2012, P-13 Causal RL, P-14 Heckman, P-15 m-Transport, P-16 ATE-ATT-CATE systematic) n'ont pas de lecteur commun. Le prochain pli (P-09 Hernan) reste verrouillé jusqu'au merge et à la validation de celui-ci.
Le parent porte le programme et les sources (R-pearl 2009, R-scholkopf2021, R-hernan 2020, R-rubin 2005, R-bareinboim2016/2020, R-petersbook 2017, etc.) ; cette issue réserve un seul livrable atomique :
CausalBridges-00-PearlLadder-Intro-Python.ipynb.Livrable
MyIA.AI.Notebooks/Probas/DecisionTheory/Causal-Bridges/CausalBridges-00-PearlLadder-Intro-Python.ipynb(noyau Python, kernelcoursia-ml-training), exécuté bout-en-bout, committé avec outputs réels (C.2).matplotlibschématiques.networkx+ export PNG.execution_countnon-null.SOTA-OK(Pearl +numpy+scipy+networkx+matplotlib, aucun GPU requis, aucun réseau neuronal, installable via pip sans secret).Acceptation
MyIA.AI.Notebooks/Probas/DecisionTheory/Causal-Bridges/CausalBridges-00-PearlLadder-Intro-Python.ipynb, exécuté bout-en-bout, outputs commités (C.2).execution_countnon-null sur toutes les cellules code ;outputscohérents (C.2) ; pas d'erreur volontaire (C.1 : stubspass/return None/print("Exercice a completer")).SOTA-OKargumenté).Grain: DEEP/notebook-python — lane <lane> — prev: <prev>en première ligne, hors worktree (cf.gh-posting-hygiene.md).Pré-condition et verrouillage
[PLI 2 DÉPLIÉ]sur l'Epic parent, créant la sous-issue P-09.myia-po-2025:CoursIA-2oumyia-po-2027:CoursIA-2, par adjacence thématique avec la série Causal-Bridges).Vérification avant de croire le scan (cf.
audit-reassessment.md)Le
scratchpad/causal_scan.mdsession 2026-10-05 affirme qu'aucun notebook de la constellation ne pose l'échelle de Pearl pas-à-pas avant d'attaquer do-calculus. Vérification firsthand :CausalBridges-01attaque « l'échelle de Pearl » mais suppose DAG + conditional proba acquis et entre directement dans les 3 règles du do-calculus. C'est conforme : le scan est correct, le Pli 1 comble un vrai manque (entrée pédagogique, pas redondance).Ancrage aux refs cibles
Conventions
coursia-ml-training(cf. CausalBridges-01).numpy,scipy,networkx,matplotlib. Aucune GPU. Aucune API externe.CausalBridges-01..08— ce Pli 1 est avant CB-01, pas en doublon.secrets-hygiene.md).secrets-hygiene.md+sota-not-workaround.mdStop & Repair).Audience
Part of #19309