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

[old version] Heterogeneous Treatment Effect Es...

fullflu
September 10, 2022

[old version] Heterogeneous Treatment Effect Estimation using EconML: Double Machine Learning, Doubly Robust Learning, and Meta Learners

最新版は以下リンク先をご確認ください。
[CFML勉強会#7 EconMLに実装されている異質処置効果の推定手法の紹介・再考](https://speakerdeck.com/fullflu/cfmlmian-qiang-hui-number-7-econmlnishi-zhuang-sareteiruyi-zhi-chu-zhi-xiao-guo-notui-ding-shou-fa-noshao-jie-zai-kao)

fullflu

September 10, 2022
Tweet

More Decks by fullflu

Other Decks in Research

Transcript

  1. Heterogeneous Treatment Effect Estimation using EconML: ~ Double Machine Learning

    / Doubly Robust Learning / Meta Learners ~ 2022/08/22 @fullflu
  2. はじめに • これは、Double Machine Learning / Doubly Robust Learning /

    MetaLearners といった、EconMLで実 装されている「処置効果の異質性」 の推定手法の要点を理解したい人向けの資料である • 「できるだけ少ない負荷(資料の量)にしつつ、かゆいところに手が届くような内容にする」 ことをコンセプトにし た。既存のどの公開資料よりも、そのコンセプトを満たせるように情報を取捨選択して整理することを心がけ た(例えば、実装例についてはほとんど触れていない) • そのため、統計学や因果推論の基礎的な知識を前提とした表現も出てくるが、適宜調べたり読み飛ばしたり しながらでも全体的な流れを追えるようにはなっていると信じている • 元論文 (*1) やドキュメント (*2) を参考にしているものの、基本的には自分の言葉で表現しなおしているの で、理解が間違っている可能性がある。誤りを見つけた際はこっそり教えていただきたい *1 https://arxiv.org/abs/1608.00060 , *2 https://econml.azurewebsites.net/index.html
  3. 発表概要 • データ分析を行う上で、 「処置変数を1単位 or 1% 動かしたときに、outcomeはどういう変化をするか」 と いう意味での “処置効果推定”

    がしばしば重要になる ◦ 例: 価格を1%動かすと、売上は何 %変わるか?(価格弾力性) • 近年、処置効果が個体やサブグループごとに異なることを意味する “効果の異質性” という概念が、計量 経済学や疫学などの分野で注目を集めている : Heterogeneous Treatment Effect ◦ 例: 収入が異なる人の価格弾力性は異なるか?お金持ちの人は、価格が少し変わったくらいでは購買意欲は変わらないのでは? • この発表を通して、自分なりにまとめた以下の情報を共有し、今後一緒に学ぶ人が増えてほしい ◦ 処置効果の異質性の推定手法はいくつか存在しているので、使い分けのポイントを考えるとよい ◦ Double Machine Learning (DML) の定義が資料によって揺れているため、元論文の定義に戻って見通しをよくすることを推奨する ◦ DMLの具体的な実装として、 EconMLに実装されている典型的な手法の LinearDML と CausalForestDML の概要を知っておくと実用上は便 利
  4. 背景: 従来手法 従来の線形回帰モデルでは、交互作用項を考えることで CATE を推定できた • 以下のモデルが誤特定されていなければ、 OLSで得られた θ がATEの推定量

    • 以下の交互作用つきモデルが誤特定されていなければ、 OLSで得られた θ1 + θ2X がCATE の推定量 ✅ CATE推定の初手として、従来の線形回帰モデルの推定結果を使うのは good ❌ モデルの表現力は poor であり、結果にバイアスが乗っているかも。表現力の高いモデルを検討しよう
  5. MetaLearners 答えられる問いを限定しつつも、 CATEの点推定に特化して表現力を高めた手法である • 利用シーン(答えられる問い)が限定されている ◦ “処置変数が離散のとき” & “Wが存在しないとき” しか使えない

    ◦ 一般にvalidな信頼区間を得ることはできない(この表現に疑問があったので、EconMLのissueで質問中) • 手法の概要 ◦ T-Learner: Tの値ごとにXからYを予測する任意のモデルを作って差分をとるだけ ◦ S-Learner: XとTからYを予測する任意のモデルを作って差分をとるだけ ◦ X-Learner, Domain-Adaptation Learner: モデルやCATEの計算式を少し工夫したもの ✅ 手法も理論もシンプルであり、限定された利用シーンの中で予測精度が欲しい場合は good ❌ 利用シーンを拡大したい場合は、表現力を少し犠牲にした他の手法を検討
  6. Doubly Robust Learner; DRL 2段階推定を行うことで Meta Learners の利用シーンを拡大(離散処置の制約は残る) • 1段階目をcross-fitting(後述;

    因果推論でよくやるテク)によって実施する ◦ X, W, TからYを予測する任意のモデルを作成し、処置 tにおける予測値を gt(Xi, Wi) とする(S-Learnerと類似) ◦ X, Wから処置を予測するモデルを作成し、処置 tをとる確率を pt(Xi, Wi) とする ◦ i番目のデータが処置 tのもとでとるであろう outcomeを以下のように予測する (Doubly Robust) • 2段階目でfinal modelを作成 ◦ 処置tごとに、 を Xi に回帰するモデルを作成することで、 CATEである τ(x, 0, t) を直接推定 ◦ 2段階目のモデル作成時に利用する推定手法を制限する(線形回帰、あるいは Honest Forest を使ったノンパラ回帰)ことで、 推定量の漸近正規性や信頼区間の有効性を保証できる ✅ MetaLearnersで諦めていた、Wがある場合や信頼区間を構築したい場合も扱えるように ❌ 連続の処置変数は扱えない。特定の処置確率が小さい (X,W) の領域がある場合は分散が大きくなる
  7. Double Machine Learning; DML 部分線形モデル + 2段階推定によって、多くの問題を柔軟に扱える • 元論文で定義されたDMLとは、以下の一連の条件を満たした推定手法だと解釈できる(詳細は後述) ◦

    “未測定交絡がない ” & “positivityが成立する” & “部分線形モデルが正しい ” という仮定のもとで、 ◦ 1段階目のモデルを cross-fittingしながら任意の手法で構築し、 ◦ 2段階目でネイマン直交条件を満たすスコア関数の零点を求めることで処置効果やその信頼区間を推定すること • 特徴 ◦ 仮定が正しければ基本的に推定結果が √n-consistent であり、処置のモデルを考えない場合よりも収束レートが速い ◦ 推定手法のバリエーションは豊富で、スコア関数、 CATEの関数形、2段階目のアルゴリズムなどを選択する必要がある (CATEの関数形は、DRLと同様に、線形回帰あるいは Honest Forest を使ったノンパラ回帰が有名) ✅ 処置変数が連続の場合でも、比較的表現力の高いモデルを使い CATE の信頼区間を効率良く推定できる ❌ 部分線形モデルという形で関数クラスが少し制限されている。手法の種類が多く選択に迷う
  8. 補足: EconMLで触れられていないその他の手法 疫学でよく利用されている手法は、2段階目のモデルを線形にしたDMLと似ているかもしれない • Marginal Structural Model ◦ Potential outcome

    を処置から直接予測する形で周辺化されたモデリングを行う ◦ Covariate と outcome の関係性についてのモデリングは不要というメリットがあり、その意味では2段階目のモデルを 線形にした場合のDMLと似ているようにも思える ◦ 詳細は Causal inference book (*1) や 自分が以前書いたブログ (*2) を参照 • G-estimation with Structural Nested Mean Model ◦ Potential outcome の差分を予測する形のモデリングを行う ◦ メリットやDMLとの類似性についてはMarginal Structural Modelと同様のものがある ◦ 詳細は Causal inference book (*1) や 自分が以前書いたブログ (*3) を参照 *1 https://www.hsph.harvard.edu/miguel-hernan/causal-inference-book/ *2 https://fullflu.hatenablog.com/entry/2020/08/15/ip-wls , *3 https://fullflu.hatenablog.com/entry/2020/08/30/g-estimation-equation
  9. 補足: EconMLで触れられていないその他の手法 機械学習を使った手法もあるが、発表者自身が細かいところまで読めていないので詳細は割愛 • Targeted Learning / Targeted MLE a.k.a.

    TMLE (*1) ◦ 1段階目の柔軟なMLモデルで “clever covariate” を作り、2段階目のモデルでパラメータを推定する ◦ Doubly Robust Learner と似ているように感じたが、TMLEが提案されたのは2006年なので、むしろEconML側がな ぜTMLEをスルーしているのかがわからなかった • Counterfactual Regression (*2) ◦ 個体ごとの potential outcome を予測するモデルを構築している ◦ 予測誤差についてのバウンドは出しているが、パラメータの信頼区間推定についての理論保証はついていない気が するので、あくまで予測が目的であり advanced な Meta Learners という位置付けに思える *1 https://link.springer.com/book/10.1007/978-1-4419-9782-1 , *2 https://arxiv.org/abs/1606.03976
  10. DMLの詳細解説 部分線形モデルにより、線形モデルより表現力の高いモデルを扱える • 線形モデル • 部分線形モデル: 興味のないXやWについてはノンパラなgでモデリング ◦ Robinsonの手法: XとWからYとTを予測するモデルを作成し、YとTの残差同士の回帰を行うことで、部分線形モデル

    のパラメータ θ の推定量を得る(εとξの条件つき期待値が0という条件から以下の式を導ける) ※ ここからしばらく、CATEではなくATEの推定に問題を単純化する。つまり、XもWも、その効果の異質性について興味がない変数である Yの残差 Tの残差
  11. DMLの詳細解説 Robinsonの手法は、操作変数法的なモーメント条件の経験近似の亜種と解釈できる • 部分線形モデル: 興味のないXやWについてはノンパラなgでモデリング • TとYをXとWから予測するモデル(それぞれ f, q とする)が与えられたとき、θの推定量は以下のよう

    に計算できる。EconMLにはこれが実装されている(計算しやすいから?) モーメント条件 Robinsonの変換 ※ 「EconMLはRobinsonの変換を使ったDMLのみを実装していて、DMLには他の形も存在する」という点に注意!
  12. DMLの詳細解説 部分線形モデルで CATE を推定することは容易であり、EconML (*1) にいくつか実装がある • これまでのATE推定で考えていたOutcomeモデルの θ を

    θ(X) に変更すれば定式化は完了 • validな信頼区間を得るために、 θ(X) の構造に対して仮定が必要になる ◦ LinearDML: θ(X) に線形モデルを仮定したもの。従来の回帰分析と比べると、交互作用項を明示的に導入し ていることに対応するが、 g(X, W) を自由に設定できる分だけ表現力が高い ◦ CausalForestDML: θ(X) 自体はノンパラだが、Honest Forest を用いて構築した類似度関数 Kx(Xi) を用い て以下のように推定を行う(非線形な CATE も表現可能になる): ※ EconMLには、NonParamDML という特別な問題にだけ適用できる手法も実装されているが、説明は割愛する *1 https://econml.azurewebsites.net/spec/estimation/dml.html
  13. DMLの詳細解説 部分線形モデルにも細かいカスタマイズは可能である • X: featulizerを指定することで、Xを多項式変換した上でCATEの推定を行える • T: 処置変数そのままではなく、T^2のような項も導入して関数形を緩和できる。また、複数の処置変 数を使うこともできる •

    Y: 複数のoutcomeを考慮することができる(交差弾力性の推定には複数の処置と複数のoutcome の設定が必要) • 各種変数を前処理で変換してから部分線形モデルに投入することもできる(例: 対数変換) • θ(X) が複雑になったときは、後処理で解釈性のあるモデルを作って別途 θ(X) についての解釈を行 うこともある(例: SingleTreeCateInterpreter)
  14. DMLの詳細解説 ネイマン直交条件の説明 • 定義: • 2つ目の条件は、パラメータ η の方向微分がゼロになることを示しており、1段階目のモデルで推定 したMLモデルの微小変化に対してロバストであるというありがたい性質である •

    今回紹介した3つのモーメント条件のうち、naiveな推定量については方向微分がゼロにならないの でネイマン直交条件を満たさず、他の2つの推定量はネイマン直交条件を満たす
  15. DMLの詳細解説 Cross-fitting • 定義 ◦ データセットを K個に分割し、1段階目の学習と 2段階目の推定・予測を行うデータを別にすること ◦ 機械学習の

    Cross validation を1段階目で行うようなイメージ ◦ 2段階目の計算では、各 hold で最終的な推定結果を計算してから結果を平均するか、各 hold のスコア関数 をまとめてから推定結果を一発で計算するかを選べる(一般に後者が推奨されている) • 1段階目のモデルのoverfitによるbiasを低減できる ◦ DMLに特化した OSS (*1) のdocument の図を参照 *1 https://docs.doubleml.org/stable/guide/basics.html
  16. EconMLを使ったCATEの推定についてのまとめ ✅ CATE推定の初手として、従来の線形回帰モデルの推定結果を使うのは good ❌ モデルの表現力は poor であり、結果にバイアスが乗っているかも。表現力の高いモデルを検討しよう ✅ 手法も理論もシンプルであり、限定された利用シーンの中で予測精度が欲しい場合は

    good ❌ 利用シーンを拡大したい場合は、表現力を少し犠牲にした他の手法を検討 ✅ MetaLearnersで諦めていた、Wがある場合や信頼区間を構築したい場合も扱えるように ❌ 連続の処置変数は扱えない。特定の処置確率が小さい (X,W) の領域がある場合は分散が大きくなる ✅ 処置変数が連続の場合でも、比較的表現力の高いモデルを使い CATE の信頼区間を効率良く推定できる ❌ 部分線形モデルという形で関数クラスが少し制限されている。手法の種類が多く選択に迷う 従来の回帰分析。 statsmodelsで実装可能 MetaLearners。EconMLで実装済み Doubly Robust Learner。EconMLで実装済み Double Machine Learning。EconMLで実装済み
  17. Reference • Double/Debiased Machine Learning for Treatment and Causal Parameters:

    https://arxiv.org/abs/1608.00060 • EconML: https://econml.azurewebsites.net/index.html • DoubleML: https://docs.doubleml.org/stable/index.html • Causal inference book: https://www.hsph.harvard.edu/miguel-hernan/causal-inference-book/ • Targeted Learning: https://link.springer.com/book/10.1007/978-1-4419-9782-1 • Counterfactual Regression: https://arxiv.org/abs/1606.03976 • 自分のブログ: https://fullflu.hatenablog.com/entry/2020/08/15/ip-wls , https://fullflu.hatenablog.com/entry/2020/08/30/g-estimation-equation