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. Introduction to Causal Inference
    Asei Sugiyama

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  10. 問題設定 (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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  24. 因果推論との関連
    アップリフトモデリング: と における⽋損値を機械学習で作った
    モデル と を利⽤して埋め、効果を算出するイメージ
    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
    ⋮ ⋮ ⋮ ⋮ ⋮

    View Slide

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

    View Slide

  26. T-learner

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

    View Slide

  27. 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

    View Slide

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

    View Slide

  29. 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

    View Slide

  30. もっとやさしく
    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
    ⋮ ⋮ ⋮ ⋮ ⋮

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide