Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Heterogeneous Treatment Effect Estimation using EconML: Double Machine Learning, Doubly Robust Learning, and Meta Learners
Search
fullflu
September 10, 2022
Research
1
1.6k
Heterogeneous Treatment Effect Estimation using EconML: Double Machine Learning, Doubly Robust Learning, and Meta Learners
処置効果の異質性を推定する手法について、EconMLで実装されている手法を中心にまとめました。Double Machine Learningについては、理論的背景まで含めて詳しめに説明しています。
fullflu
September 10, 2022
Tweet
Share
More Decks by fullflu
See All by fullflu
区分線形モデル入門
fullflu
0
800
[CFML勉強会#7] EconMLに実装されている異質処置効果の推定手法の紹介・再考
fullflu
0
1.1k
Other Decks in Research
See All in Research
「EBPMエコシステム」の可能性
daimoriwaki
0
190
時空間解析と疫学
kingqwert
0
180
Deep State Space Models 101 / Mamba
kurita
9
3k
近似最近傍探索とVector DBの理論的背景
matsui_528
2
640
Феномен воли и техника самоопределения
ashapiro
0
110
Alternative Photographic Processes Reimagined: The Role of Digital Technology in Revitalizing Classic Printing Techniques【SIGGRAPH Asia 2023】
toremolo72
0
400
Discovering Universal Geometry in Embeddings with ICA
momoseoyama
1
260
第59回名古屋CV・PRMU勉強会:ICCV2023論文紹介(自己教師あり学習)
naok615
0
280
2024-01-23-az
sofievl
0
560
MegaParticles: GPUを利用したStein Particle Filterによる点群6自由度姿勢推定
koide3
1
410
自己教師あり学習による事前学習(CVIMチュートリアル)
naok615
2
1.2k
第4回ナレッジグラフ勉強会:ISWC2023論文読み会
kg_wakate
1
180
Featured
See All Featured
Music & Morning Musume
bryan
39
5.4k
It's Worth the Effort
3n
180
27k
How to Ace a Technical Interview
jacobian
272
22k
Large-scale JavaScript Application Architecture
addyosmani
501
110k
Typedesign – Prime Four
hannesfritz
36
2k
Designing with Data
zakiwarfel
94
4.8k
Designing Experiences People Love
moore
135
23k
Fireside Chat
paigeccino
19
2.5k
Making Projects Easy
brettharned
106
5.4k
Facilitating Awesome Meetings
lara
39
5.5k
The Brand Is Dead. Long Live the Brand.
mthomps
48
19k
The Language of Interfaces
destraynor
150
22k
Transcript
Heterogeneous Treatment Effect Estimation using EconML: ~ Double Machine Learning
/ Doubly Robust Learning / Meta Learners ~ 2022/08/22 @fullflu
目次 • Introduction • 手法の概要 • Double Machine Learningの詳細解説 •
まとめ
目次 • Introduction • 手法の概要 • Double Machine Learningの詳細解説 •
まとめ
はじめに • これは、Double Machine Learning / Doubly Robust Learning /
MetaLearners といった、EconMLで実 装されている「処置効果の異質性」 の推定手法の要点を理解したい人向けの資料である • 「できるだけ少ない負荷(資料の量)にしつつ、かゆいところに手が届くような内容にする」 ことをコンセプトにし た。既存のどの公開資料よりも、そのコンセプトを満たせるように情報を取捨選択して整理することを心がけ た(例えば、実装例についてはほとんど触れていない) • そのため、統計学や因果推論の基礎的な知識を前提とした表現も出てくるが、適宜調べたり読み飛ばしたり しながらでも全体的な流れを追えるようにはなっていると信じている • 元論文 (*1) やドキュメント (*2) を参考にしているものの、基本的には自分の言葉で表現しなおしているの で、理解が間違っている可能性がある。誤りを見つけた際はこっそり教えていただきたい *1 https://arxiv.org/abs/1608.00060 , *2 https://econml.azurewebsites.net/index.html
発表概要 • データ分析を行う上で、 「処置変数を1単位 or 1% 動かしたときに、outcomeはどういう変化をするか」 と いう意味での “処置効果推定”
がしばしば重要になる ◦ 例: 価格を1%動かすと、売上は何 %変わるか?(価格弾力性) • 近年、処置効果が個体やサブグループごとに異なることを意味する “効果の異質性” という概念が、計量 経済学や疫学などの分野で注目を集めている : Heterogeneous Treatment Effect ◦ 例: 収入が異なる人の価格弾力性は異なるか?お金持ちの人は、価格が少し変わったくらいでは購買意欲は変わらないのでは? • この発表を通して、自分なりにまとめた以下の情報を共有し、今後一緒に学ぶ人が増えてほしい ◦ 処置効果の異質性の推定手法はいくつか存在しているので、使い分けのポイントを考えるとよい ◦ Double Machine Learning (DML) の定義が資料によって揺れているため、元論文の定義に戻って見通しをよくすることを推奨する ◦ DMLの具体的な実装として、 EconMLに実装されている典型的な手法の LinearDML と CausalForestDML の概要を知っておくと実用上は便 利
DMLによってできることのイメージ 計量経済学への応用: 収入帯によって変化するオレンジジュース需要の価格弾力性推定 対角にある3つの図は、3商品それぞれの価 格弾力性を示している : ・価格弾力性は常に負である ・収入が高い人ほど価格感度は小さい ・右下の商品(Dominicks)は収入による価格 感度の違いが小さい
対角以外の6つの図は、商品間の交差弾力 性を示しており、常に正である https://github.com/microsoft/EconML/blob/main/notebooks/Double%20Machine%20Learning%20Examples.ipynb
目次 • Introduction • 手法の概要 • Double Machine Learningの詳細解説 •
まとめ
Notation ※ 発表では 未測定交絡は存在しない & 処置のpositibity は満たされる & i.i.d. を仮定し、観察データから処置効果推定を行う問題にフォーカスする
処置効果の異質性を考慮するために、以下で定義される CATE を推定する
背景: 従来手法 従来の線形回帰モデルでは、交互作用項を考えることで CATE を推定できた • 以下のモデルが誤特定されていなければ、 OLSで得られた θ がATEの推定量
• 以下の交互作用つきモデルが誤特定されていなければ、 OLSで得られた θ1 + θ2X がCATE の推定量 ✅ CATE推定の初手として、従来の線形回帰モデルの推定結果を使うのは good ❌ モデルの表現力は poor であり、結果にバイアスが乗っているかも。表現力の高いモデルを検討しよう
MetaLearners 答えられる問いを限定しつつも、 CATEの点推定に特化して表現力を高めた手法である • 利用シーン(答えられる問い)が限定されている ◦ “処置変数が離散のとき” & “Wが存在しないとき” しか使えない
◦ 一般にvalidな信頼区間を得ることはできない(この表現に疑問があったので、EconMLのissueで質問中) • 手法の概要 ◦ T-Learner: Tの値ごとにXからYを予測する任意のモデルを作って差分をとるだけ ◦ S-Learner: XとTからYを予測する任意のモデルを作って差分をとるだけ ◦ X-Learner, Domain-Adaptation Learner: モデルやCATEの計算式を少し工夫したもの ✅ 手法も理論もシンプルであり、限定された利用シーンの中で予測精度が欲しい場合は good ❌ 利用シーンを拡大したい場合は、表現力を少し犠牲にした他の手法を検討
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) の領域がある場合は分散が大きくなる
Double Machine Learning; DML 部分線形モデル + 2段階推定によって、多くの問題を柔軟に扱える • 元論文で定義されたDMLとは、以下の一連の条件を満たした推定手法だと解釈できる(詳細は後述) ◦
“未測定交絡がない ” & “positivityが成立する” & “部分線形モデルが正しい ” という仮定のもとで、 ◦ 1段階目のモデルを cross-fittingしながら任意の手法で構築し、 ◦ 2段階目でネイマン直交条件を満たすスコア関数の零点を求めることで処置効果やその信頼区間を推定すること • 特徴 ◦ 仮定が正しければ基本的に推定結果が √n-consistent であり、処置のモデルを考えない場合よりも収束レートが速い ◦ 推定手法のバリエーションは豊富で、スコア関数、 CATEの関数形、2段階目のアルゴリズムなどを選択する必要がある (CATEの関数形は、DRLと同様に、線形回帰あるいは Honest Forest を使ったノンパラ回帰が有名) ✅ 処置変数が連続の場合でも、比較的表現力の高いモデルを使い CATE の信頼区間を効率良く推定できる ❌ 部分線形モデルという形で関数クラスが少し制限されている。手法の種類が多く選択に迷う
補足: 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
補足: 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
目次 • Introduction • 手法の概要 • Double Machine Learningの詳細解説 •
まとめ
DMLの詳細解説 部分線形モデルにより、線形モデルより表現力の高いモデルを扱える • 線形モデル • 部分線形モデル: 興味のないXやWについてはノンパラなgでモデリング ◦ Robinsonの手法: XとWからYとTを予測するモデルを作成し、YとTの残差同士の回帰を行うことで、部分線形モデル
のパラメータ θ の推定量を得る(εとξの条件つき期待値が0という条件から以下の式を導ける) ※ ここからしばらく、CATEではなくATEの推定に問題を単純化する。つまり、XもWも、その効果の異質性について興味がない変数である Yの残差 Tの残差
DMLの詳細解説 どうやってパラメータを推定するか?
DMLの詳細解説 誤差と処置変数についてのnaiveな(OLSでよく使うような)モーメント条件を考えてみる • 部分線形モデル: 興味のないXやWについてはノンパラなgでモデリング • Naiveなモーメント条件: • gの推定量が適当なML手法によって与えられたとき、θの推定量は、モーメント条件を経験近似して 以下のように計算できる
※ 論文では「これがnaiveなMLアプローチに基づく推定量だ」と言っている(確かにnaiveだが、文脈を追ってないとよくわからなくなる)
DMLの詳細解説 一般に、naiveな推定量は√n-consistentではなく、推定精度がよくない • naiveな推定量の収束レートは、gの推定精度の項が支配的になっている • 多くのMLモデルの収束レートはn^{1/4}-consistent である(Regularization bias) • この場合、収束レートは
◦ 絶対値の中身の支配的な項のオーダー: n * n^{-1/2} * n^{-1/4} = n^{1/4}
DMLの詳細解説 操作変数法でよく使う形のモーメント条件を考えてみる • 部分線形モデル: 興味のないXやWについてはノンパラなgでモデリング • 操作変数法的なモーメント条件: • fとgの推定量が適当なML手法によって与えられたとき、θの推定量は、モーメント条件を経験近似し て以下のように計算できる
DMLの詳細解説 一般に、操作変数法の形の推定量は√n-consistentであり、naiveな推定量より精度がよい • 推定量の収束レートは、fとgの推定精度の掛け算項が支配的になっている • 多くのMLモデルの収束レートはn^{1/4}-consistent である • この場合、収束レートは ◦
絶対値の中身の支配的な項のオーダー: n * n^{-1/2} * n^{-1/4} * n^{-1/4} = 1
DMLの詳細解説 Robinsonの手法は、操作変数法的なモーメント条件の経験近似の亜種と解釈できる • 部分線形モデル: 興味のないXやWについてはノンパラなgでモデリング • TとYをXとWから予測するモデル(それぞれ f, q とする)が与えられたとき、θの推定量は以下のよう
に計算できる。EconMLにはこれが実装されている(計算しやすいから?) モーメント条件 Robinsonの変換 ※ 「EconMLはRobinsonの変換を使ったDMLのみを実装していて、DMLには他の形も存在する」という点に注意!
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
DMLの詳細解説 部分線形モデルにも細かいカスタマイズは可能である • X: featulizerを指定することで、Xを多項式変換した上でCATEの推定を行える • T: 処置変数そのままではなく、T^2のような項も導入して関数形を緩和できる。また、複数の処置変 数を使うこともできる •
Y: 複数のoutcomeを考慮することができる(交差弾力性の推定には複数の処置と複数のoutcome の設定が必要) • 各種変数を前処理で変換してから部分線形モデルに投入することもできる(例: 対数変換) • θ(X) が複雑になったときは、後処理で解釈性のあるモデルを作って別途 θ(X) についての解釈を行 うこともある(例: SingleTreeCateInterpreter)
DMLの詳細解説 ネイマン直交条件の説明 • 定義: • 2つ目の条件は、パラメータ η の方向微分がゼロになることを示しており、1段階目のモデルで推定 したMLモデルの微小変化に対してロバストであるというありがたい性質である •
今回紹介した3つのモーメント条件のうち、naiveな推定量については方向微分がゼロにならないの でネイマン直交条件を満たさず、他の2つの推定量はネイマン直交条件を満たす
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
DMLの亜種: Orthogonal Forest CausalForestとほぼ同じだが、1段階目のモデル構築やθの推定を、xの値ごとに別々に行う • 正則化関数Rを用いて、以下のように計算する • 興味のあるxの値ごとにqやfを計算しているので、CausalForestと比べてCATEの推定精度は高い 傾向にあるが、計算コストが非常に大きくなってしまう
目次 • Introduction • 手法の概要 • Double Machine Learningの詳細解説 •
まとめ
EconMLを使ったCATEの推定についてのまとめ ✅ CATE推定の初手として、従来の線形回帰モデルの推定結果を使うのは good ❌ モデルの表現力は poor であり、結果にバイアスが乗っているかも。表現力の高いモデルを検討しよう ✅ 手法も理論もシンプルであり、限定された利用シーンの中で予測精度が欲しい場合は
good ❌ 利用シーンを拡大したい場合は、表現力を少し犠牲にした他の手法を検討 ✅ MetaLearnersで諦めていた、Wがある場合や信頼区間を構築したい場合も扱えるように ❌ 連続の処置変数は扱えない。特定の処置確率が小さい (X,W) の領域がある場合は分散が大きくなる ✅ 処置変数が連続の場合でも、比較的表現力の高いモデルを使い CATE の信頼区間を効率良く推定できる ❌ 部分線形モデルという形で関数クラスが少し制限されている。手法の種類が多く選択に迷う 従来の回帰分析。 statsmodelsで実装可能 MetaLearners。EconMLで実装済み Doubly Robust Learner。EconMLで実装済み Double Machine Learning。EconMLで実装済み
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