Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
CausalML についての調査結果 Asei Sugiyama
Slide 2
Slide 2 text
⾃⼰紹介 杉⼭ 阿聖 Software Engineer @ Repro AI Labs TensorFlow コントリビューター TFX : Issue ⽴てたり PR ⽴てたり docs-l10n : 翻訳 & レビュー 機械学習図鑑 共著
Slide 3
Slide 3 text
⽬的 uber/causalml について調査した結果を共有します
Slide 4
Slide 4 text
TL;DR uber/causalml はアップリフトモデリングを⾏うためのライブラリ ⽤いられている *-Learner 系のアルゴリズムでは、これまで傾向スコア を⽤いた⽅法で算出していた ATE (Average Treatment Effect) をアップ リフトモデリングで捉え直して算出している 更に、共変量を固定した CATE (Conditional ATE) を算出することも⾃ 然にできる T-learner や S-learner は単純なアップサンプリングモデルで、X- learner は2つのモデルをアンサンブル、R-learner はモデルを hold out してスタックしている
Slide 5
Slide 5 text
背景 因果推論に関する⼿法として傾向スコアを⽤いた⼿法、特に IPW (Inverse Probability Weighting: 逆確率重み付け) では ATE (Average Treatment Effect) の算出ができることが知られている IPW では施策そのものの良し悪しはわかるものの、マーケティングの分 野で重要視される、ある施策をどのセグメントに向けて施策を⾏うのが 良いかを知ることは単純にはできない このため、特定のセグメントに対する効果量を表す CATE (Conditional ATE) を算出できるアルゴリズムのうち、uber/causalml に実装されてい るものについて調査を⾏う
Slide 6
Slide 6 text
TOC 統計的因果推論概要 <- uber/causalml T-learner, S-learner X-learner R-learner まとめ
Slide 7
Slide 7 text
統計的因果推論概要 (1/6) 何かの検証を⾏った結果、次のようなデータが⼿に⼊ったものとする id( ) 共変量 ( ) 介⼊変数 ( ) アウトカム( ) このようなデータから介⼊を⾏ったときの効果を知りたい i X Z Y 1 X1 Z1 Y1 ⋮ ⋮ ⋮ ⋮ N XN ZN YN
Slide 8
Slide 8 text
統計的因果推論概要 (2/6) 本質的に知りたいものは 番⽬のユーザーに対して介⼊を⾏ったときの アウトカム と介⼊を⾏わなかったときのアウトカム の差 なので次のようなデータが必要 ( はなくても良い) id( ) 共変量 ( ) 介⼊変数 ( ) アウトカム( ) アウトカム( ) i Yi1 Yi0 Y − i1 Yi0 Z i X Z Y0 Y1 1 X1 Z1 Y10 Y11 ⋮ ⋮ ⋮ ⋮ ⋮ N XN ZN YN 0 YN 1
Slide 9
Slide 9 text
統計的因果推論概要 (3/6) 下記のデータのうち、アウトカム と を同時に知ることはできな いので、アウトカムは半分程度が⽋損した状態になっている id( ) 共変量 ( ) 介⼊変数 ( ) アウトカム( ) アウトカム( ) Yi0 Yi1 i X Z Y0 Y1 1 X1 Z1 Y10 Y11 ⋮ ⋮ ⋮ ⋮ ⋮ N XN ZN YN 0 YN 1
Slide 10
Slide 10 text
統計的因果推論概要 (4/6) ⽋損していたとしても、⽋損 が等しくランダムに起こって いるのなら、効果の期待値 はわかる (⽋損 していない , で平均を 取り、差を計算すれば良い) E[Y − i1 Y ] i0 Yi0 Yi1
Slide 11
Slide 11 text
統計的因果推論概要 (5/6) , が⽋損していて、更 にその⽋損が共変量 によ って偏りがある場合には、平 均を取ると選択バイアスが⽣ じてしまう この状況下で ATE や CATE を推定したい Yi0 Yi1 X E[Y − 1 Y ] 0 E[Y − 1 Y ∣X = 0 x]
Slide 12
Slide 12 text
統計的因果推論概要 (6/6) 傾向スコア を導⼊する 傾向スコアマッチング : 傾向スコアを⽤いて、⽋損が等しくランダムに ⽋損した状態になるようにデータの件数を削って揃える IPW : 傾向スコアを⽤いて、⽋損ができるだけ等しくランダムに⽋損し た状態になるようにデータの件数を重み付け平均を⽤いて⽔増しして揃 える (ウェイトバック) 詳しくは 岩波 DS vol.3 を参照 e(x) = P (Z = 1∣X = x)
Slide 13
Slide 13 text
TOC 統計的因果推論概要 uber/causalml <- T-learner, S-learner X-learner R-learner まとめ
Slide 14
Slide 14 text
uber/causalml uber/causalml はアップリフ トモデリングを⾏うためのラ イブラリ アップリフトモデリングのた めの4つのアルゴリズムを実装 している https://arxiv.org/abs/2002.1 1631'
Slide 15
Slide 15 text
アップリフトモデリング 次のようなデータから、介⼊を⾏ったときのアウトカムの予測モデル と介⼊を⾏わなかったときの予測モデル を機械学習により求める アップリフト のモデル を と から求める id( ) 特徴量 ( ) 介⼊有無 ( ) アウトカム( ) τ1 τ0 Y − 1i Y0i τ τ1 τ0 i X Z ∈ {0, 1} Y 1 X1 Z1 Y1 ⋮ ⋮ ⋮ ⋮ N XN ZN YN
Slide 16
Slide 16 text
因果推論との関連 アップリフトモデリング: と における⽋損値を機械学習で作った モデルを利⽤して埋め、効果を算出する id( ) 共変量 ( ) 介⼊変数 ( ) アウトカム( ) アウトカム( ) Y0 Y1 i X Z Y0 Y1 1 X1 Z1 Y10 Y11 ⋮ ⋮ ⋮ ⋮ ⋮ N XN ZN YN 0 YN 1
Slide 17
Slide 17 text
TOC 統計的因果推論概要 uber/causalml T-learner, S-learner <- X-learner R-learner まとめ
Slide 18
Slide 18 text
T-learner, S-learner ともにアップリフトモデリングのもっとも単純な例 詳細は Metalearners for estimating heterogeneous treatment effects using machine learning を参照 (T-learner, S-learner, X-learner につい て記述されている)
Slide 19
Slide 19 text
T-learner → 元データを に応じて2つに分割 それぞれについて から を予測する機械学 習モデル , を作る Z X Y μ (X) 0 μ (X) 1 E[Y − 0 Y ∣X = 1 x] = μ (x) − 1 μ (x) 0
Slide 20
Slide 20 text
S-learner から を予測する機械学習モデル を作成する id( ) 特徴量 ( ) 介⼊有無 ( ) アウトカム( ) (X, Z) Y τ(X, Z) E[Y − 0 Y ∣X = 1 x] = τ(X, 1) − τ(X, 0) i X Z ∈ {0, 1} Y 1 X1 Z1 Y1 ⋮ ⋮ ⋮ ⋮ N XN ZN YN
Slide 21
Slide 21 text
S-leaner, T-learner のここがダメ 介⼊群 ( ) /⾮介⼊群 ( ) が著しく偏っている ときに、機械学習モデルの性 能が保証できない Z = 1 Z = 0
Slide 22
Slide 22 text
TOC 統計的因果推論概要 uber/causalml T-learner, S-learner X-learner <- R-learner まとめ
Slide 23
Slide 23 text
X-learner . T-learner 同様に2つのモデル , を作成 . と を 実測値 を⽤いて計算 . , の予測モデル と を作成 . CATE の推定モデル (x) μ ^0 (x) μ ^1 = D ~ i0 Y − 0i (X ) μ ^1 i = D ~ j1 Y − 1j (X ) μ ^0 j Y , Y 0i 1j D ~ i0 D ~ i1 τ (x) 0 τ (x) 1 τ(x) = e(x)τ (x) + 1 (1 − e(x))τ (x) 0
Slide 24
Slide 24 text
X-learner のここ がすごい 2つの CATE 推定モデルを対 照群と介⼊群の実測値を⽤い てそれぞれ作成 2つのモデルをアンサンブルす ることで、それぞれが得意な 箇所を両⽅ともに使える
Slide 25
Slide 25 text
⽐較 X-learner がもっとも性能が 良かった
Slide 26
Slide 26 text
TOC 統計的因果推論概要 uber/causalml T-learner, S-learner X-learner R-learner <- まとめ
Slide 27
Slide 27 text
R-learner 資料作成が間に合わなかったので論⽂から抜粋して説明します Quasi-Oracle Estimation of Heterogeneous Treatment Effects https://arxiv.org/abs/1712.04912
Slide 28
Slide 28 text
Robinson decomposition (真の)条件付き期待値を求める関数 を導⼊ (真の)傾向スコア と (真の)CATE との関係は次の通り m (X ) ∗ i e∗ τ∗
Slide 29
Slide 29 text
最適化の対象 (5) で を推定したい でもこれは無理 ( と を予め知る必要がある) τ ~ m (x) ∗ e (x) ∗
Slide 30
Slide 30 text
R-learner と の代わりに、 番⽬をfoldしたモデル , を たくさん⽣成 それらの出⼒で計算した損失を最⼩化する を求める m (x) ∗ e (x) ∗ i m ^ (−i) e ^(−i) τ
Slide 31
Slide 31 text
結果
Slide 32
Slide 32 text
BART ってなんだ Bayesian Additive Regression Trees 2016 年当時、因果推論タスクでまともに動いていた決定⽊系アルゴリズ ム 詳しくは BART: Bayesian additive regression treesによる因果推論 - 勉強の記録
Slide 33
Slide 33 text
TOC 統計的因果推論概要 uber/causalml T-learner, S-learner X-learner R-learner まとめ <-
Slide 34
Slide 34 text
Recap uber/causalml はアップリフトモデリングを⾏うためのライブラリ ⽤いられている *-Learner 系のアルゴリズムでは、これまで傾向スコア を⽤いた⽅法で算出していた ATE (Average Treatment Effect) をアップ リフトモデリングで捉え直して算出している 更に、共変量を固定した CATE (Conditional ATE) を算出することも⾃ 然にできる T-learner や S-learner は単純なアップサンプリングモデルで、X- learner は2つのモデルをアンサンブル、R-learner はモデルを hold out してスタックしている
Slide 35
Slide 35 text
わからなかったこと uber/causalml のソースコードを読んでみたけれど、なんであの実装で 良いのか分からなかった (特に R-learner) BART が何者なのかはいまいち分かっていない