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

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

B583d0943fe698dd7fc75d30d02f099f?s=47 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

B583d0943fe698dd7fc75d30d02f099f?s=128

Masa

December 12, 2019
Tweet

More Decks by Masa

Other Decks in Science

Transcript

  1. causal forest & r-learner twitter @asas_mimi 1

  2. Heterogeneous Treatment Effects を “できるだけ” unbiasedに推定したい 2 モチベーション

  3. ⽬次 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のリテンション施策
  4. 事例︓刑務所にて 4 介⼊群 (認知⾏動療法) 再犯率10% 再犯率30% 認知⾏動療法検証 認知⾏動療法 (CBT) を受けた受刑者の再犯率、なんか低い︖(集計的事実)

    なんか効果ありそう!!
  5. 事例︓刑務所にて 5 介⼊群 (認知⾏動療法) 再犯率10% 再犯率30% 認知⾏動療法検証 認知⾏動療法 (CBT) を受けた受刑者の再犯率、なんか低い︖(集計的事実)

    ü 普通に回帰しちゃダメなのは直感的にわかるはず CBT 再犯 ? 年齢 IQ 罪の 重さ
  6. 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)という
  7. 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 ??? ・・・ ・・・ ・・・ ・・・ ・・・ ・・・
  8. 条件が整っていれば、計算できます 8 if {Yi (1),Yi (0)} ⊥ Wi が成⽴する時︓ !

    " 1 − " 0 = ! " 1 ] − !["(0) elif {Yi (1),Yi (0)} ⊥ Wi |Xi を想定できる時︓ 準実験のフレームワークとして問題を解けばよい。 属性Xを使って擬似的にランダム化(両群の属性をバランシング)する else: 今⽇の紹介する⼿法は 難しい。。。(分析計画、⼤事) RCT (無作為化⽐較実験) 強く無視できる割付条件 unconfounded 傾向スコアとか propensity score 他にも⾊々
  9. ü 各被験者に傾向スコアを付与 ü 傾向スコアが近いもの同⼠を⽐較 傾向スコア(マッチング)のイメージ 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% ⽐較 超有名な⼿法ので、 ググって他の有⽤な資料で確認してください
  10. 平均介⼊効果では満⾜できない 効果は各属性に基づいて変わるはず 10 Average Heterogeneous

  11. Heterogeneous Treatment Effect 11 Average Treatment Effect: Heterogeneous Treatment Effect:

    ![# 1 − # 0 ] ((*) = ![# 1 − # 0 |. = *] conditional average treatment effect とも
  12. 謝 罪 以下では、漸近性や収束レートなどディープな議論はスキップしています。 ご興味がある⽅は論⽂をご参照ください。 12

  13. causal forest 13

  14. この論⽂ 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
  15. ざっくりしたイメージ 15 同じLeafに落ちたサンプルは共変量の属性が近いはず 各Leaf毎に以下を計算すれば、HTEは計算できるのでは︖ tree モデル (分割⽅法︓後述) 特徴量x1 特 徴

    量 x2 ! " 1 ] − !["(0) このLeaf内での ⼀種のクラスタリング として機能
  16. Double-Sample Trees 16 datasetをランダムに分割 J-sample =Str L-sample =Sest ⽊を構築⽤ Outcome計算⽤

    改良版MSE test-data =Ste test 分割して何が嬉しいの︖
  17. Double-Sample Trees 17 結論︓嬉しい Why: 解くべき⽬的関数はこんな感じのMSE(mean squared error) Str サンプルで⽊を作る

    Π=π(Str ) Sest サンプルのYを使⽤し てアウトカムを決定 推定HTE Ground Truth
  18. Double-Sample Trees 18 結論︓嬉しい Why: 解くべき⽬的関数はこんな感じのMSE(mean squared error) Ground Truth

    観察不可能 ←計算できない?
  19. Double-Sample Trees 19 結論︓嬉しい Why: 解くべき⽬的関数はこんな感じのMSE(mean squared error) こんな感じに改造できる ︕︕全部観察可能なものに置き換えられる

    Modifying the Honest Approach♪ ⽬的関数︓ 差(HTE)の⼆乗から 分散に重み付けしたものを引いたもの ↑ これを最⼤化する⽊をつくる。 なんでground truth 消えたの︖
  20. Double-Sample Trees 20 詳しくは、以下の論⽂を読んでください。 https://www.pnas.org/content/pnas/113/27/7353.full.pdf

  21. Double-Sample Trees 21 = " #$%,#%'$ () − ̂ (

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

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

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

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

    徴 量 x2 ! " 1 ] − !["(0) このLeaf内での ⼀種のクラスタリング として機能
  26. 上記のtreesをforestにする = causal forest 26

  27. この論⽂のここがすごい 27 https://www.gsb.stanford.edu/faculty-research/publications/estimation-inference-heterogeneous-treatment-effects-using-random • 漸近正規性の議論︓ ランダムフォレストを⽤いた因果効果に対する推定量の漸近的性質を ⽰す(=論⽂の太宗) • シミュレーション結果もそれっぽく推定できている︓ 右図のように、単に近傍を集めたk-NNベースのよものより、うまくHTE

    を識別できているように⾒える
  28. 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と同じようにネイマン直交条件 を加えてるっぽい︖
  29. 29 MicroSoft Uber

  30. r-learner 30

  31. Meta-Leaner Algo. の⼀つ 31 EconML Uberの⽅には 実装されてる

  32. この論⽂ 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論⽂、まだちゃんと読んでない (本⾳)
  33. 発想のポイントはここ 33 求めたいもの w=0で学習した モデルの推定値 Robinson変換 傾向スコア

  34. 直感的な解釈 34 • μ(0) : w=0で学習したモデル • μ(0) (Xi ):

    iさんが W=0だった場合のアウトカムの推定値 • m(x) : E[Y|X] =W=0の推定値 + 傾向スコア(介⼊確率)*因果効果 アウトカムとm(X)の誤差 =(実際の割付と傾向スコアの誤差)*介⼊効果+ε
  35. 料理⼿順 35 ① 傾向スコアFとNを任意の教師あり学習で作っておく ② 上の式(3)に⼊れて、Нを推定 これも原理的には任意の学習器︓ でも、Local Linear Forests

    がいいっぽい 論⽂: Local Linear Forests https://arxiv.org/pdf/1807.11408
  36. 他のMeta-LeanerはEconMLのドキュメントで 36 https://econml.azurewebsites.net/spec/estimation/metalearners.html

  37. (おまけ) Double/debiased ML ? 37 なにこれ︕︖

  38. (おまけ) 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したり⾊々⼯ 夫する(省略︕︕︕︕) 介⼊ 局外パラメータ 傾向スコアを追加 してあげる
  39. (おまけ) Double/debiased ML ? 39 https://onlinelibrary.wiley.com/doi/full/10.1111/ectj.12097 ノーベル経済学賞 (2019年) https://www.bloomberg.co.jp/news/articles/2019-10-14/PZD1UDSYF01Y01 受賞理由では

    ないですが...
  40. 応⽤事例︓Uberのリテンション施策 40 Improve User Retention with Causal Learning [Uber, KDD2019]

    http://proceedings.mlr.press/v104/du19a/du19a.pdf
  41. 問題設計 41 以下の0/1ナップザック問題を解く 問題設計 各個⼈の リテンション介⼊効果 各個⼈の 必要コスト※ プロジェクト予算 ※:

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

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

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

    2) 出⼒を各グループ(介⼊/コントロール)内での みなしクーポン割付確率を計算 3) 2)の確率を重み付けして、treatment effectを下 記のように定義 4) treatment effect efficiencyを最適化する wi=0なら負の重み wi=1なら正の重み
  45. 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は以下 モデル出⼒からで た「選ばれやすさ 確率」
  46. 46 評価 結果 スコアSをソートして以下の式で、リテンション効 果(y軸)とコスト(x軸)を計算する Offlineテスト・Onlineテスト両⽅とも提案⼿法2が 勝利