Slide 1

Slide 1 text

Introduction to Causal Inference Asei Sugiyama

Slide 2

Slide 2 text

要旨 統計的因果推論では、介⼊を⾏ったときのアウトカムと⾏わなかったと きのアウトカムの差である介⼊効果を扱う ⽋損値となっている観測できなかったアウトカムをうまく扱うことで、 平均的な介⼊効果の算出ができる アップリフトモデリングでは、機械学習を⽤いて⽋損値を補完すること で平均的な介⼊効果の算出を⾏う 複雑な⼿法を使うと応⽤範囲が広がるが、問題設定、データ処理、結果 の解釈の妥当性を⽰すことが困難になる

Slide 3

Slide 3 text

⾃⼰紹介 杉⼭ 阿聖 Software Engineer @ Repro AI Labs 機械学習基盤の設計構築 統計的因果推論の検証 TensorFlow User Group TFX : Issue ⽴てたり PR ⽴てたり docs-l10n : 翻訳 & レビュー 機械学習図鑑 共著

Slide 4

Slide 4 text

⽬的 データから意思決定を⾏う際に注意すべき選択バイアスと、それに統計 的因果推論の枠組みで機械学習を⽤いて、正しく意思決定を⾏うための アルゴリズムについて紹介します

Slide 5

Slide 5 text

TOC . 統計的因果推論で扱う問題 <- . 機械学習の統計的因果推論への応⽤ . 実務で直⾯している課題 . まとめ

Slide 6

Slide 6 text

統計的因果推論で扱う問題 例 1. マーケターの業務における仮説⽴案 例 2. 広告メールの効果測定 問題設定

Slide 7

Slide 7 text

例 1. マーケターの業務における仮説⽴案 マーケターはライトユーザーに「真実の瞬間」を体験してもらうこと で、⾃サービスのヘビーユーザーになってほしい ライトユーザーとヘビーユーザーの過去の⾏動履歴を収集する ヘビーユーザーのみが⾏っていて、ライトユーザーが⾏っていない⾏動 を特定する ユーザーの⾏動に関する仮説⽴案を⾏い、ライトユーザーにその⾏動を 促すような施策の検討を⾏う 施策の効果を A/B テストで検証すると、効果が出たり、効果が出なかっ たりする

Slide 8

Slide 8 text

例 2. メール施策の効果測定 メール施策の効果があるかどうか、A/B テストを⾏って確かめたい そのアプリはメールアドレスの登録が必須ではなく、メールで通知を受 け取りたいヘビーユーザーのみがメールアドレスを登録している このときに、メール施策の効果検証を次のような A/B テストで⾏いたい 介⼊群: アプリユーザーのうち、メールを送信したユーザー群 対照群: アプリユーザーのうち、メールを送信しないユーザー群 介⼊群の結果が有意に良かったとして、これは効果があったのだろう か?それとも、ヘビーユーザーの傾向を⾒ているだけだろうか?

Slide 9

Slide 9 text

問題設定 (1/5) 何かの検証を⾏った結果、次のようなデータが⼿に⼊ったものとする id( ) 共変量 ( ) 介⼊変数 ( ) アウトカム( ) このようなデータから介⼊を⾏ったときの効果を知りたい i X Z Y 1 X1 Z1 Y1 ⋮ ⋮ ⋮ ⋮ N XN ZN YN

Slide 10

Slide 10 text

問題設定 (2/5) 本質的に知りたいものは 番⽬のユーザーに対して介⼊を⾏ったときの アウトカム と介⼊を⾏わなかったときのアウトカム の差 なので次のようなデータが必要 ( はなくても良い) 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 11

Slide 11 text

問題設定 (3/5) 下記のデータのうち、アウトカム と を同時に知ることはできな いので、アウトカムは半分程度が⽋損した状態になっている id( ) 共変量 ( ) 介⼊変数 ( ) アウトカム( ) アウトカム( ) null null Yi0 Yi1 i X Z Y0 Y1 1 X1 Z = 1 0 Y10 2 X2 Z = 2 1 Y11 ⋮ ⋮ ⋮ ⋮ ⋮

Slide 12

Slide 12 text

問題設定 (4/5) ⽋損していたとしても、⽋損 が等しくランダムに起こって いるのなら、介⼊効果の期待 値 はわかる (⽋損していない , で 平均を取り、差を計算すれば 良い) A/B テストはこの状況 E[Y − i1 Y ] i0 Yi0 Yi1

Slide 13

Slide 13 text

問題設定 (5/5) , の⽋損が共変量 によって偏りがある場合に は、平均を取ると選択バイア スが⽣じてしまう この状況下で介⼊効果である ATE や CATE を推定したい Yi0 Yi1 X E[Y − 1 Y ] 0 E[Y − 1 Y ∣X = 0 x]

Slide 14

Slide 14 text

最近 Twitter で⾒かけた例 https://twitter.com/we sternpalace/status/12 72754555990601729

Slide 15

Slide 15 text

因果関係が無条件にわかるわけではない 問題設定からわかるように、介⼊がアウトカムに与えるメカニズムにつ いて説明を⾏うわけではない 介⼊を⾏ったことがアウトカムに影響を与えるメカニズムについては、 ⼈⼿で理論を構築する必要がある あくまで今知りたいのは次の 2 つ . ATE (Average Treatment Effect) . CATE (Conditional ATE) E[Y − 1 Y ] 0 E[Y − 1 Y ∣X = 0 x]

Slide 16

Slide 16 text

前提条件 A/B テストができないケースを想定する 例 1. 過去のデータだけで考えなければいけない 例 2. A/B テストのコストを⽀払えない A/B テストができるケースでは⾏えば良い マーケターの例は 例 1. に相当 例 2. は公共施策 (電気料⾦や税⾦) のように影響範囲の⼤きなものや、 がん患者への新療法の治験のように、重篤だからといって何もしないわ けには⾏かないものが相当する

Slide 17

Slide 17 text

今⽇は話さないこと 傾向スコア を導⼊する 傾向スコアマッチング : 傾向スコアを⽤いて、⽋損が等しくランダムに ⽋損した状態になるようにデータの件数を削って揃える IPW : 傾向スコアを⽤いて、⽋損ができるだけ等しくランダムに⽋損し た状態になるようにデータの件数を重み付け平均を⽤いて⽔増しして揃 える (ウェイトバック) 詳しくは 岩波 DS vol.3 を参照 e(x) = P (Z = 1∣X = x)

Slide 18

Slide 18 text

まとめ 統計的因果推論では、介⼊によるアウトカムの変化量を知りたい 直接にはわからないので、平均である ATE や CATE を推定する id( ) 共変量 ( ) 介⼊変数 ( ) アウトカム( ) アウトカム( ) null null i X Z Y0 Y1 1 X1 Z = 1 0 Y10 2 X2 Z = 2 1 Y11 ⋮ ⋮ ⋮ ⋮ ⋮

Slide 19

Slide 19 text

TOC . 統計的因果推論で扱う問題 . 機械学習の統計的因果推論への応⽤ <- . 実務で直⾯している課題 . まとめ

Slide 20

Slide 20 text

機械学習の統計的因果推論への応⽤ 機械学習 アップリフトモデリング S-learner T-learner X-learner 機械学習の枠組みについてはある程度知っているという前提で話します

Slide 21

Slide 21 text

機械学習 与えられた特徴量と⽬的変数 の組から、特徴量と⽬的変数 の関係を表す関数 を学習す るプログラム (教師あり学習) f

Slide 22

Slide 22 text

アップリフトモデリング 次のようなデータから、介⼊を⾏ったときのアウトカムの予測モデル と介⼊を⾏わなかったときの予測モデル を機械学習により求める アップリフト のモデル を と から求める id( ) 特徴量 ( ) 介⼊有無 ( ) アウトカム( ) τ1 τ0 Y − 1i Y0i τ τ1 τ0 i X Z ∈ {0, 1} Y 1 X1 Z1 Y1 ⋮ ⋮ ⋮ ⋮ N XN ZN YN

Slide 23

Slide 23 text

アップリフトモデリング 仕事で始める機械学習に記述 がある 書籍では次のとおり . ⼀部のユーザーのデータか ら と を学習 . 残りのユーザーについて を計算 . 効果が⾒込めるユーザーに 施策を⾏う τ1 τ0 τ (X) − 1 τ (X) 0

Slide 24

Slide 24 text

因果推論との関連 アップリフトモデリング: と における⽋損値を機械学習で作った モデル と を利⽤して埋め、効果を算出するイメージ id( ) 共変量 ( ) 介⼊変数 ( ) アウトカム( ) アウトカム( ) Y0 Y1 τ1 τ0 i X Z Y0 Y1 1 X1 Z = 1 0 Y10 τ (X ) 1 1 2 X2 Z = 2 1 τ (X ) 0 2 Y11 ⋮ ⋮ ⋮ ⋮ ⋮

Slide 25

Slide 25 text

アップリフトモデリングの例 . T-learner . S-learner . X-learner 詳細は Metalearners for estimating heterogeneous treatment effects using machine learning を参照 (X-learner の提案を⾏った論⽂)

Slide 26

Slide 26 text

T-learner → 元データを に応じて 2 つに分割 それぞれについて から を予測する機械学 習モデル , を作る Z X Y μ (X) 0 μ (X) 1 E[Y − 0 Y ∣X = 1 x] = μ (x) − 1 μ (x) 0

Slide 27

Slide 27 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 28

Slide 28 text

S-leaner, T-learner のここがダメ 介⼊群 ( ) /⾮介⼊群 ( ) が著しく偏っている ときに、機械学習モデルの性 能が保証できない Z = 1 Z = 0

Slide 29

Slide 29 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 30

Slide 30 text

もっとやさしく S-learner, T-learner, では実測値があるところもモデルの出⼒に置き換 えていたのを、X-learner では⽋損だけを埋めるようにした 埋めたあとでアウトカムの差 , を計算し、再度モデルを作成 id( ) 共変量 ( ) 介⼊変数 ( ) アウトカム( ) アウトカム( ) D ~ i0 D ~ i1 i X Z Y0 Y1 1 X1 Z = 1 0 Y10 τ (X ) 1 1 2 X2 Z = 2 1 τ (X ) 0 2 Y11 ⋮ ⋮ ⋮ ⋮ ⋮

Slide 31

Slide 31 text

X-learner のここがす ごい 2 つの CATE 推定モデルを対 照群と介⼊群の実測値を⽤い てそれぞれ作成 2 つのモデルをアンサンブル することで、それぞれが得意 な箇所を両⽅ともに使える

Slide 32

Slide 32 text

⽐較 X-learner がもっとも性能が 良かった

Slide 33

Slide 33 text

TOC . 統計的因果推論で扱う問題 . 機械学習の統計的因果推論への応⽤ . 実務で直⾯している課題 <- . まとめ

Slide 34

Slide 34 text

実務で直⾯している課題 妥当な問題設定を⾏うことが難しい データ処理の妥当性を⽰すことが難しい 結果の解釈が難しい

Slide 35

Slide 35 text

妥当な問題設定を⾏うことが難しい A/B テストが⾏えればこの⼿法は必要ない ルールベースで介⼊/⾮介⼊が分かれるようなケースは適⽤が難しい 全ユーザーにクーポンを配布、利⽤するかはユーザー次第なら OK 特定の条件を満たしたユーザーに贈答品を送る、は NG ⼀般的な機械学習よりも変数が 1 つ多い (介⼊有無) 学習直後に、⽬の前の課題に適⽤できるかどうか分からず悩む、という のは実際にあった

Slide 36

Slide 36 text

データ処理の妥当性を⽰すことが難しい 統計的因果推論はさまざまな⼿法が提案されている それぞれの⼿法で推定される ATE の値が結構違う データの処理を⾏う⼀連の⼿続きの中で、何をチェックすればいいのか 定められていない 例えば、今⽇の X-learner は機械学習モデルを 5 個も作るが、それら の性能評価をどう⾏うのか不明 データの処理を⾏う⼀連の⼿続きの標準がないので、他⼈の計算結果と の⽐較が困難

Slide 37

Slide 37 text

結果の解釈が難しい ⼀般的な統計的検定⼿法 (例えば t 検定) が使えないため、出⼒結果を解 釈する⽅法について都度⾃分で考える必要がある よくわからない結果が得られたとき、その理由を知ることが困難 データの収集⾃体のミス データを処理したプログラムのバグ 共変量がアウトカムの結果になっている (問題設定の不備) etc. 実際、過去に⾏った結果と⽭盾する結果を得て、どちらも正しいという 結論に⾄ったケースがあった

Slide 38

Slide 38 text

Recap 統計的因果推論では、介⼊を⾏ったときのアウトカムと⾏わなかったと きのアウトカムの差である介⼊効果を扱う ⽋損値となっている観測できなかったアウトカムをうまく扱うことで、 平均的な介⼊効果の算出ができる アップリフトモデリングでは、機械学習を⽤いて⽋損値を補完すること で平均的な介⼊効果の算出を⾏う 複雑な⼿法を使うと応⽤範囲が広がるが、問題設定、データ処理、結果 の解釈の妥当性を⽰すことが困難になる