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

Introduction to Causal Inference

Introduction to Causal Inference

第10回 意思決定のためのデータ分析勉強会 online の登壇資料です、以前にも同様な資料をあげていますが、こちらは範囲を絞ってより平易にしたものです。

https://ishikettei.connpass.com/event/176578/

Asei Sugiyama

June 20, 2020
Tweet

More Decks by Asei Sugiyama

Other Decks in Technology

Transcript

  1. ⾃⼰紹介 杉⼭ 阿聖 Software Engineer @ Repro AI Labs 機械学習基盤の設計構築

    統計的因果推論の検証 TensorFlow User Group TFX : Issue ⽴てたり PR ⽴てたり docs-l10n : 翻訳 & レビュー 機械学習図鑑 共著
  2. 例 2. メール施策の効果測定 メール施策の効果があるかどうか、A/B テストを⾏って確かめたい そのアプリはメールアドレスの登録が必須ではなく、メールで通知を受 け取りたいヘビーユーザーのみがメールアドレスを登録している このときに、メール施策の効果検証を次のような A/B テストで⾏いたい

    介⼊群: アプリユーザーのうち、メールを送信したユーザー群 対照群: アプリユーザーのうち、メールを送信しないユーザー群 介⼊群の結果が有意に良かったとして、これは効果があったのだろう か?それとも、ヘビーユーザーの傾向を⾒ているだけだろうか?
  3. 問題設定 (1/5) 何かの検証を⾏った結果、次のようなデータが⼿に⼊ったものとする id( ) 共変量 ( ) 介⼊変数 (

    ) アウトカム( ) このようなデータから介⼊を⾏ったときの効果を知りたい i X Z Y 1 X1 Z1 Y1 ⋮ ⋮ ⋮ ⋮ N XN ZN YN
  4. 問題設定 (3/5) 下記のデータのうち、アウトカム と を同時に知ることはできな いので、アウトカムは半分程度が⽋損した状態になっている id( ) 共変量 (

    ) 介⼊変数 ( ) アウトカム( ) アウトカム( ) null null Yi0 Yi1 i X Z Y0 Y1 1 X1 Z = 1 0 Y10 2 X2 Z = 2 1 Y11 ⋮ ⋮ ⋮ ⋮ ⋮
  5. 前提条件 A/B テストができないケースを想定する 例 1. 過去のデータだけで考えなければいけない 例 2. A/B テストのコストを⽀払えない

    A/B テストができるケースでは⾏えば良い マーケターの例は 例 1. に相当 例 2. は公共施策 (電気料⾦や税⾦) のように影響範囲の⼤きなものや、 がん患者への新療法の治験のように、重篤だからといって何もしないわ けには⾏かないものが相当する
  6. まとめ 統計的因果推論では、介⼊によるアウトカムの変化量を知りたい 直接にはわからないので、平均である ATE や CATE を推定する id( ) 共変量

    ( ) 介⼊変数 ( ) アウトカム( ) アウトカム( ) null null i X Z Y0 Y1 1 X1 Z = 1 0 Y10 2 X2 Z = 2 1 Y11 ⋮ ⋮ ⋮ ⋮ ⋮
  7. アップリフトモデリング 仕事で始める機械学習に記述 がある 書籍では次のとおり . ⼀部のユーザーのデータか ら と を学習 .

    残りのユーザーについて を計算 . 効果が⾒込めるユーザーに 施策を⾏う τ1 τ0 τ (X) − 1 τ (X) 0
  8. 因果推論との関連 アップリフトモデリング: と における⽋損値を機械学習で作った モデル と を利⽤して埋め、効果を算出するイメージ 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 ⋮ ⋮ ⋮ ⋮ ⋮
  9. アップリフトモデリングの例 . T-learner . S-learner . X-learner 詳細は Metalearners for

    estimating heterogeneous treatment effects using machine learning を参照 (X-learner の提案を⾏った論⽂)
  10. T-learner → 元データを に応じて 2 つに分割 それぞれについて から を予測する機械学 習モデル

    , を作る Z X Y μ (X) 0 μ (X) 1 E[Y − 0 Y ∣X = 1 x] = μ (x) − 1 μ (x) 0
  11. 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
  12. S-leaner, T-learner のここがダメ 介⼊群 ( ) /⾮介⼊群 ( ) が著しく偏っている

    ときに、機械学習モデルの性 能が保証できない Z = 1 Z = 0
  13. 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
  14. X-learner のここがす ごい 2 つの CATE 推定モデルを対 照群と介⼊群の実測値を⽤い てそれぞれ作成 2

    つのモデルをアンサンブル することで、それぞれが得意 な箇所を両⽅ともに使える