Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DoWhyとEconMLによる因果推論の実装

うとしん
November 30, 2022

 DoWhyとEconMLによる因果推論の実装

2022年11月30日にLabBase様主催のイベントにて登壇させていただいた際の発表資料です。Pythonライブラリ"DoWhy"や"EconML"を用いた因果推論についてまとめてありますので、ご一読いただけますと幸いです。

参考リンク(自身のブログ)

- PythonによるT-Learnerの実装
https://zenn.dev/s1ok69oo/articles/4a36fee0297234
- Pythonライブラリ"DoWhy"を用いた因果推論
https://speakerdeck.com/s1ok69oo/pythonraiburari-dowhy-woyong-itayin-guo-tui-lun
- 機械学習で因果推論
https://zenn.dev/s1ok69oo/articles/1eeebe75842a50

うとしん

November 30, 2022
Tweet

More Decks by うとしん

Other Decks in Science

Transcript

  1. DoWhyでできること 因果推論に必要な一連のプロセス(4段階) 1. Model causal mechanisms(グラフを描く) 2. Identify the target

    estimand(推定に必要な条件を出力) 3. Estimate causal effect(効果を推定する) 4. Refute estimate(モデルを精査する)
  2. 因果グラフから因果効果を推定するための識別条件を出力 Identify the target estimand サポートしている4つの識別条件 1. Back-door criterion: バックドア基準

    2. Front-door criterion: フロントドア基準 3. Instrumental Variables: 操作変数 4. Mediation: 媒介(直接効果と間接効果の識別) ※各条件についてはAppendixを参照
  3. 識別条件に基づき適当な手法を用いて因果効果を推定 サポートしている推定手法 Estimate causal effect - 傾向スコア層別分析 - 傾向スコアマッチング -

    逆確率重み付け法(IPW) - 線形回帰 - 一般化線形モデル(GLM) - 操作変数法(IV法) - 2段階最小二乗法(TSLS) - 回帰不連続デザイン(RDD) - 2段階線形回帰 ※ほぼ全ての推定手法について 私のzennで解説しているので、ぜひご参照ください(宣伝)
  4. Refute estimate 推定の際に仮定した条件が正しいとは限らないため、推定結果の頑 健性(robustness)を確認するための作業 サポートしている手法例 Add Random Common Cause ランダムに独立な共通因子をモデルに追加

    →効果の推定値に差がなければOK! Placebo Treatment 処置をランダムな変数に置換 →効果の推定値が0に近づけばOK! X T Y 独立な共通因子 →推定に関係ない X T Y X D Y 置換したら効果は なくなるはず
  5. DoWhyの紹介(まとめ) - 因果推論のためのPythonライブラリ - DoWhyでできること 1. Model causal mechanisms(グラフを描く) 2.

    Identify the target estimand(推定に必要な条件を出力) 3. Estimate causal effect(効果を推定する) 4. Refute estimate(モデルを精査する)
  6. 大きく3つ 1. Estimation Methods under Unconfoundedness 2. (Estimation Methods with

    Instruments) 3. (Estimation Methods for Dynamic Treatment Regimes) EconMLでできること ※本日、紹介するのは(1)の推定手法です。(2)と(3)の概要はAppendixを参照してください。
  7. Estimation Methods under Unconfoundedness Uncoufoundedness(無交絡性)という条件下における推定手法 Uncoufoundednessとは 共変量Xで条件つけたとき、潜在的な アウトカム(Y 1 ,

    Y 0 )と処置の割り当てT は独立であるという仮定 (Y 1 , Y 0 ) ⊥ T | X サポートしている4つの推定手法 1. Double Machine Learning 2. Doubly Robust Learning 3. (Forest Based Estimators) 4. Meta-Learners ※処置を表す記号がDoWhy(v)とEconML(T)で異なるので要注意です ※Uncoufoundedness(無交絡性)は、conditional exchangeability(条件付き交換可能性)とも呼ばれます →条件付けに必要な共変量Xがすべて観測できている場合には効果的
  8. Double Machine Learningの紹介 2段階に分けて効果を推定 Double Machine Learningのイメージ Y (アウトカム) X,

    W (共変量) T (処置) 1段階目(予測) 2段階目(OLS) XにおけるCATE(θ(X))を考える X, W T Y X, W T θ(X) Yの残差 Tの残差 = θ(X) ×
  9. Doubly Robust Learningの紹介 「回帰モデル×傾向スコア」でRobustに推定 Doubly Robust Learningのイメージ Y (アウトカム) X,

    W (共変量) T (処置) XにおけるCATE(θ(X))を考える θ(X) 予測モデルY(T=t) θ t (X)= Y(T=t) - Y(T=0) X, W T Y X, W T 回帰モデルg t (X,W) 傾向スコアp t (X,W) ※どちらかのモデルを正しく設定できればバイアスな く推定できる→二重(Double)で頑健(Robust)
  10. Meta-Learnerのイメージ(処置が1つのケース) Y (アウトカム) X, W (共変量) T = 0 or

    1 (処置) XにおけるCATE(θ(X))を考える θ(X) Meta-Learnerの紹介 離散的な処置(処置A,B,C,...)に対するCATEを推定する手法 Yの予測モデル f(T=t, X, W) Yの予測値 (T=0) Yの予測値 (T=1) θ(X)
  11. DoWhyによる因果推論のプロセス プロセスは4段階(再掲) 1. Model causal mechanisms(グラフを描く) 2. Identify the target

    estimand(推定に必要な条件を出力) 3. Estimate causal effect(効果を推定する) 4. Refute estimate(モデルを精査する)
  12. DoWhy×EconMLによる因果推論のプロセス ベースはDoWhy単体と変わらず、プロセス(3)をEconMLが担当 1. Model causal mechanisms(グラフを描く) 2. Identify the target

    estimand(推定に必要な条件を出力) 3. Estimate causal effect(効果を推定する) 4. Refute estimate(モデルを精査する) ここをEconMLが担当
  13. DoWhy × EconML(まとめ) - ベースのプロセスはDoWhyと同じ 1. Model causal mechanisms(グラフを描く) 2.

    Identify the target estimand(推定に必要な条件を出力) 3. Estimate causal effect(効果を推定する) 4. Refute estimate(モデルを精査する) - プロセス(3)をEconMLが担当
  14. バックドアパス 上流側にある処置XとアウトカムYの両方に影響を与える流れ Z1 X Y Z2 Z1 X Y Z2

    Z1 X Y Z2 (X→Yの)バックドアパス (X→Yの)バックドアパスではない
  15. バックドアパスをブロックする 上流側にある処置XとアウトカムYの両方に影響を与える道を固定 Z1 X Y Z2 Z1 X Y Z2

    Z1 X Y Z2 (X→Yの)バックドアパスをブロックするには, Z1かZ2(あるいは両方)を固定すればOK
  16. Estimation Methods with Instruments 操作変数(IV: Instrument Variable)を用いた推定手法 操作変数とは 処置Tとは相関があり、 誤差項uとは無相関な変数Z

    Y=a+bT+u(Cov(T, u)≠0)において Cov(Z, T)≠0, Cov(Z, u)=0 サポートしている3つの推定手法 1. Deep Instrumental Variables 2. Sieve 2SLS Instrumental Variable Estimation 3. Orthogonal instrumental variables →観測できない交絡因子が存在している場合に利用 ※上記の操作変数の説明はあくまでも内生変数と操作変数がひとつずつの場合です。一般的な条件については「計 量経済学(末石、2015)」をご参照ください。
  17. Estimation Methods for Dynamic Treatment Regimes adaptiveな動的ポリシーに基づいて、処置が時間の経過とともに割 り当てられる際に、処置効果を推定する手法 →すべての動的な交絡・コントロール変数が観測できているときに利用可能 ここが凄い

    古典的な統計学的アプローチでは - 高次元すぎて適応できない - 処置効果やアウトカムを十分にモデル 化できない というシーンでも有効となり得る サポートしている推定手法 Dynamic Double Machine Learning
  18. 参考文献(Web) - 「DoWhy公式ドキュメント」https://www.pywhy.org/dowhy/v0.8/ - 「EconML公式ドキュメント」https://econml.azurewebsites.net/ - Hayashi takehiko「”因果推論駅”の奥の方を探訪しながら考える」 https://speakerdeck.com/takehikoihayashi/wai-de-nidofalseyounaxi-gariwochi-tute irufalseka

    - krsk「観察データを用いた因果推論で生じるバイアスの程度を考える」 https://www.krsk-phs.com/entry/sensitivity_analysis - krsk「統計的因果推論のためのPythonライブラリDoWhyについて解説」 https://www.krsk-phs.com/entry/2018/08/22/060844 - S¨oren R. K¨unzel他「Meta-learners for Estimating Heterogeneous Treatment Effects using Machine Learning」https://arxiv.org/abs/1706.03461 - Victor Chernozhukov他「Double/Debiased Machine Learning for Treatment and Structural Parameters」https://arxiv.org/abs/1608.00060 ※2022年11月27日時点