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

勉強会準備資料備忘:causal forest & r-learner

Masa
December 12, 2019

勉強会準備資料備忘:causal forest & r-learner

プライベートの勉強会の準備資料(備忘)
■ Causal forests
[メイン論文] Stefan Wager, Susan Athey.(2018), "Estimation and Inference of Heterogeneous Treatment Effects using Random Forests",Journal of the American Statistical Association.
https://www.gsb.stanford.edu/faculty-research/publications/estimation-inference-heterogeneous-treatment-effects-using-random
[サブ論文]Athey, S., and Imbens, G. (2016), “Recursive Partitioning for Heterogeneous Causal Effects,” Proceedings of the National Academy of Sciences.
https://www.pnas.org/content/pnas/113/27/7353.full.pdf

■ R-Learner?
[論文]Xinkun Nie, Stefan Wager.(2018), "Quasi-Oracle Estimation of Heterogeneous Treatment Effects", Atlantic Causal Inference Conference.
https://arxiv.org/pdf/1712.04912v3.pdf

■ 事例論文
[紹介論文]
"Improve User Retention with Causal Learning" [Uber, KDD2019]
http://proceedings.mlr.press/v104/du19a/du19a.pdf

Masa

December 12, 2019
Tweet

More Decks by Masa

Other Decks in Science

Transcript

  1. ⽬次 3 1. 因果推論︖ a. なんで普通の回帰じゃダメなの︖ b. RCTs or 準実験︖

    c. 傾向スコアでなんで満⾜できないの︖ 2. causal forest︖ a. Dobule-Samle Trees b. Propensity Trees 3. r-learner︖ 4. (おまけ)Double/ debiased ML? 5. 応⽤実例︓Uberのリテンション施策
  2. counterfactual条件 6 Neyman (1923), Rubin (1974)の有名なフレームワーク Binary treatment variable: W

    ∈ {0, 1} Potential Outcomes: • Y(0) - random variable giving outcome received in the control state • Y(1) - random variable giving outcome received in the treatment state (Only one of Y(0) or Y(1) can ever be observed - the other is a counterfactual outcome) Causal effect: ![# 1 − # 0 ] ATE(Average Treatment Effect)という
  3. counterfactual条件=⽋損値問題 7 データのイメージはこんな感じ ! " # − " % is

    計算不能︖ ID 属性データX W(処置有無) Y(1) Y(0) Y(1)-Y(0) Aさん (1.23, 3.22, ・・・) 1 10 ⽋損 ??? Bさん (9.16, 0.52, ・・・) 0 ⽋損 5 ??? ・・・ ・・・ ・・・ ・・・ ・・・ ・・・
  4. 条件が整っていれば、計算できます 8 if {Yi (1),Yi (0)} ⊥ Wi が成⽴する時︓ !

    " 1 − " 0 = ! " 1 ] − !["(0) elif {Yi (1),Yi (0)} ⊥ Wi |Xi を想定できる時︓ 準実験のフレームワークとして問題を解けばよい。 属性Xを使って擬似的にランダム化(両群の属性をバランシング)する else: 今⽇の紹介する⼿法は 難しい。。。(分析計画、⼤事) RCT (無作為化⽐較実験) 強く無視できる割付条件 unconfounded 傾向スコアとか propensity score 他にも⾊々
  5. ü 各被験者に傾向スコアを付与 ü 傾向スコアが近いもの同⼠を⽐較 傾向スコア(マッチング)のイメージ 9 {Yi (1),Yi (0)} ⊥

    Wi |Xi つまり、アウトカムと割付Wの両⽅に影響を与えるXを観察している時、 介⼊群 (認知⾏動療法) 再犯率10% 再犯率30% 観察研究 ü 介⼊群割り当て確率を算出 Logistic Regression等の任意の⼆値問題として解く ① 傾向スコア算出 ここを モデル化 Pr # = 1 & = 1 1 + exp(−-) - = β0 + β123 ∗ 567 + β89 ∗ :; + ・・・ ② マッチング 介⼊群 ⾮介⼊群 傾向スコア 0.3 0.8 0.9 0.5 再犯率 50% 15% 7% 13% ⽐較 超有名な⼿法ので、 ググって他の有⽤な資料で確認してください
  6. Heterogeneous Treatment Effect 11 Average Treatment Effect: Heterogeneous Treatment Effect:

    ![# 1 − # 0 ] ((*) = ![# 1 − # 0 |. = *] conditional average treatment effect とも
  7. この論⽂ 14 Susan Athey先⽣ (Stanford Univ.) • 経済学者 • {因果推論・経済学✖機械学習}界隈で超有名

    https://www.gsb.stanford.edu/faculty-research/publications/estimation-inference-heterogeneous-treatment-effects-using-random (画像出展)https://www.gsb.stanford.edu/faculty-research/faculty/susan-athey
  8. Double-Sample Trees 17 結論︓嬉しい Why: 解くべき⽬的関数はこんな感じのMSE(mean squared error) Str サンプルで⽊を作る

    Π=π(Str ) Sest サンプルのYを使⽤し てアウトカムを決定 推定HTE Ground Truth
  9. Double-Sample Trees 19 結論︓嬉しい Why: 解くべき⽬的関数はこんな感じのMSE(mean squared error) こんな感じに改造できる ︕︕全部観察可能なものに置き換えられる

    Modifying the Honest Approach♪ ⽬的関数︓ 差(HTE)の⼆乗から 分散に重み付けしたものを引いたもの ↑ これを最⼤化する⽊をつくる。 なんでground truth 消えたの︖
  10. Double-Sample Trees 21 = " #$%,#%'$ () − ̂ (

    ,) -./0, Π 2 − () 2 = " #$%,#%'$ () − ̂ ( ,) Π + ̂ ( ,) Π − ̂ ( ,) -./0, Π 2 − () 2 = " #$%,#%'$ () − ̂ ( ,) Π 2 − () 2 ざっくりイメージ 詳しくは論⽂読んでください + " #$%,#%'$ ̂ ( ,) Π − ̂ ( ,) -./0, Π 2 + " #$%,#%'$ 2(() − ̂ ( ,) Π )( ̂ ( ,) Π − ̂ ( ,) -./0, Π ) ゼロ
  11. Double-Sample Trees 22 = " #$%,#%'$ () − ̂ (

    ,) Π . − () . + " #$%,#%'$ ̂ ( ,) Π − ̂ ( ,) 0123, Π . + " #$%,#%'$ 2(() − ̂ ( ,) Π )( ̂ ( ,) Π − ̂ ( ,) 0123, Π ) A B ԾఆΑΓ & "  ·ͨɺ$PW " #  ͳͥͳΒɺНJ ͷݩͷ:J ͸ಠཱͨ͠4FTU͔Βऔಘ͍ͯ͠Δ͔Β ͭ·Γ $PW " # & "# r & " & # & "#   消せる ざっくりイメージ 詳しくは論⽂読んでください
  12. Double-Sample Trees 23 = " #$%,#%'$ () − ̂ (

    ,) Π . − () . + " #$%,#%'$ ̂ ( ,) Π − ̂ ( ,) 0123, Π . ざっくりイメージ 詳しくは論⽂読んでください = "(56,76) ̂ ( ,) Π . − 2() ∗ ̂ ( ,) Π + " 76,#%'$ ̂ ( ,) Π − ̂ ( ,) 0123, Π . = "76 ̂ ( ,) Π . − 2 ̂ ( ,) Π ∗ ̂ ( ,) Π + " 76,#%'$ ̂ ( ,) Π − ̂ ( ,) 0123, Π .
  13. Double-Sample Trees 24 ざっくりイメージ 詳しくは論⽂読んでください = "#$ ̂ & '(

    Π * − 2 ̂ & '( Π ∗ ̂ & '( Π + " #$,0123 ̂ & '( Π − ̂ & '( 4567, Π * = − "#$ ̂ & '( Π + " #$,0123 8( ̂ & '( 4567, Π ) trデータにおけるパーテションΠ内の差 分の期待値が⼤きいと嬉しい 分散は最⼩化したい こんな感じの⽊Πを作成する
  14. Propensity Trees 25 とてもシンプル tree モデル ⽬的変数はW (Yではない) 特徴量x1 特

    徴 量 x2 ! " 1 ] − !["(0) このLeaf内での ⼀種のクラスタリング として機能
  15. 28 causal forestの進化系 Generalized Random Forests Orthogonal Random Forests •

    GMM(⼀般化モーメント法)的な拡張 Generalized Random Forests リンク : https://arxiv.org/abs/1610.01271 Orthogonal Random Forest for Causal Inference リンク : https://arxiv.org/abs/1806.03467 RFによってサンプルの近傍を定義 (カーネル法ではなく) その中でGMMで局所回帰をフィッティング • 左のさらなる拡張っぽい︖ • (まだ読めてないです) • DoubleMLと同じようにネイマン直交条件 を加えてるっぽい︖
  16. この論⽂ 32 https://arxiv.org/pdf/1712.04912v3.pdf Xinkun Nie and Stefan Wager. Quasi-Oracle Estimation

    of Heterogeneous Treatment Effects. Atlantic Causal Inference Conference, 2018. なんでr-learnerなのか • Uberがリテンション施策/マーケティング施策の論⽂で、よく⽬にする • 他の〇〇-learner論⽂、まだちゃんと読んでない (本⾳)
  17. 直感的な解釈 34 • μ(0) : w=0で学習したモデル • μ(0) (Xi ):

    iさんが W=0だった場合のアウトカムの推定値 • m(x) : E[Y|X] =W=0の推定値 + 傾向スコア(介⼊確率)*因果効果 アウトカムとm(X)の誤差 =(実際の割付と傾向スコアの誤差)*介⼊効果+ε
  18. (おまけ) Double/debiased ML ? 38 https://onlinelibrary.wiley.com/doi/full/10.1111/ectj.12097 • 例えば、以下のような部分線形問題を考える • このモーメント条件,W

    = (Y,X,D) • について、score関数ψを以下のように改造する • これがネイマン直交条件 Neyman orthogonality を満たす η = (m, g) • つまり、推定値Бの微⼩変動=推定誤差に対して、 モーメント条件がロバストであることが分かる。 • 他にもデータを分割して、cross-fittingしたり⾊々⼯ 夫する(省略︕︕︕︕) 介⼊ 局外パラメータ 傾向スコアを追加 してあげる
  19. 問題設計 41 以下の0/1ナップザック問題を解く 問題設計 各個⼈の リテンション介⼊効果 各個⼈の 必要コスト※ プロジェクト予算 ※:

    各個⼈の必要コスト︖︖ 本論⽂の想定はコストが個⼈によって変動する。「3000円のクーポン配る」ではなく、「1トリップ無料クーポン」のようなイメージ τc は τr と同様、以下のとおり。 !"($) = '[)" 1 − )" 0 |. = $] クーポンをもらった 際のネットコスト クーポンなしの際 のネットコスト
  20. 42 普通にコスパ率を下記のように定義して、Siが⾼い順に選んでいけば良いのでは︖ ナイーブな解放 結論︓不適 1. 推定値 τ はノイズが多く、⽐率がそれを増幅する 2. ゼロ割リスクが⾼い

    3. τc <0 , τr >0 の時、施策を⾏いたい、その逆は⾏いたくない。しかし、⽐率だとその区別ができない 4. システム的に保持すべきモデルが(Retention/Costの)2つ。 R-learnerみたいなモデルになるとtwo-step モデルなので、最⼤4つのモデルを管理する必要がある。(めんどくさい) 直感的なコスパ率
  21. 43 1) ラグランジュ緩和 Lagrangian relaxation を⾏いλを劣勾配法で解く 本論⽂の提案1︓Cardinal Prediction 2) ⽐率ではなく、指標とすべきスコアは下記となる

    3) 上記 2)は と書ける。YrとYcとλが得られれば、直接Si をもう⼀度推定するモデルを作る。(実装の際に、モデルを複数管理する⼿間はなくなる。) YS(1) YS(0) XXXXX ⽋損 ⽋損 XXXXX これの、 直交モデル τS を作る ※ちなみに、λは計算が⼤変なら、ハイパーパラメータとして、最初から3)から解いちゃえばいい
  22. 44 各個⼈の厳密なHTEの点推定はいらない。直接、Si(コスパっぽいスコア)を推定するような f を学習したい。 本論⽂の提案2︓Ordinal Prediction ▪ 損失関数を下記のように⼯夫する 1) 出⼒を正規化

    2) 出⼒を各グループ(介⼊/コントロール)内での みなしクーポン割付確率を計算 3) 2)の確率を重み付けして、treatment effectを下 記のように定義 4) treatment effect efficiencyを最適化する wi=0なら負の重み wi=1なら正の重み
  23. 45 本論⽂の提案2︓Ordinal Prediction User X W Y_r Y_cost s exp(s)

    p tau_r tau_c A ... 1 0 -1 0.4 1.49 34% 0.00 -0.34 B ... 1 1 2.3 0.1 1.11 25% 0.25 0.58 C ... 1 1 1.4 0.6 1.82 41% 0.41 0.58 D ... 0 0 -2 0.5 1.65 32% 0.00 0.64 E ... 0 0 1 0.3 1.35 26% 0.00 -0.26 F ... 0 1 -4 -0.2 0.82 16% -0.16 0.63 G ... 0 1 2 0.3 1.35 26% -0.26 -0.52 ... ... ... ... ... ... ... ... ... ... これを使ってコスパを算出 =lossと定義する モデルfは、その出⼒Sをもとに計算された各G内の選抜 確率に基づいて定義されるコスパを最⼤化したものでな ければならない。 sum sum Y(1)*p -1*Y(0)*p ←普通の教師あり学習(DNN等) 但し、lossは以下 モデル出⼒からで た「選ばれやすさ 確率」