Slide 1

Slide 1 text

ҼՌਪ࿦ͷجૅͱͦͷ᠘ Basic and Trap of Causal Inference

Slide 2

Slide 2 text

Basic and Trap of Causal Inference 免責事項 - 本登壇は個⼈の⾒解であり、所属する組織の公式⾒解ではありません。 - 伝わることに重点を置いているので、数式は正確ではないです。⼝頭でフォローします。 - ツイッターにたくさんつぶやくと運営&⾃分が喜びますので、たくさんツイートしてください。 2 /32

Slide 3

Slide 3 text

Basic and Trap of Causal Inference ⾃⼰紹介 学⽣ 早稲⽥⼤学 創造理⼯学研究科 経営システム⼯学専攻 共同研究先のマーケティングデータ × データサイエンス 仕事 データサイエンティスト @BrainPad 2018年新卒 強化学習 / NLP / 統計的因果推論 / 画像異常検知 / PM⾒習い 趣味 仁ノ平 将⼈ Masato Ninohira (@nino_pira) Data Gateway Talk 主催 ブログ︓下町データサイエンティストの⽇常 B’zファン フットサル 3 /32

Slide 4

Slide 4 text

Basic and Trap of Causal Inference 4 /32 個⼈的な宣伝 想定よりも応募が来てないけど、じわじわと。。。。 Music Analytics 2020 / 01 / 18 (Sat.) @Hanzoumon #muana

Slide 5

Slide 5 text

Basic and Trap of Causal Inference お断り 実は、3ヵ⽉しか因果推論を勉強していません - 間違っていることを話していましたら ごめんなさい。。。 - 逆に⾔うと3ヵ⽉でここまで まとめられる⼈材がBPにはゴロゴロいます 5 /32 因果推論の基礎 - 初⼼者向け (Notガチ勢の⽅) - 岩波データサイエンスvol3 / ⾃分のブログのまとめ - データも岩波データサイエンスから引⽤ 登壇時間の制約 - 傾向スコアマッチングの説明まででTime up - 他⼿法はブログみてください IPW / Double Robust / Proximityマッチング / PDP Causal Tree(←ブログに書いてない)

Slide 6

Slide 6 text

Basic and Trap of Causal Inference そもそも因果推論って︖ 〇〇することによるXXXへの効果測定 - 広告の効果測定 - 喫煙したから肺がんになりやすいか - バント作戦が得点率を上げるか 6 /32

Slide 7

Slide 7 text

Basic and Trap of Causal Inference 詳しい背景的な話は 先⽇#OpenBPで公開した資料を⾒てください 7 /32

Slide 8

Slide 8 text

Basic and Trap of Causal Inference 8 /32 今⽇の⽬標 引⽤︓https://twitter.com/kaitendaentai/status/1052689241744896001 今⽇の⽬標 スコープ外

Slide 9

Slide 9 text

Basic and Trap of Causal Inference 9 /32 以下を「うんうん。知ってる。」って⾔えたら完全に理解 (1) 反実仮想を⽤いた因果推論のお気持ち - 背景要因を揃えて、真の効果を算出 - 絶対守ろう「強く無視できる割り当て」 (2) 傾向スコアを⽤いた因果推論の⼿順と罠 - 傾向スコアモデリング / 分布の確認 - 傾向スコアマッチング (3) ちゃんと設計された A/Bテストは原点にして頂点

Slide 10

Slide 10 text

Basic and Trap of Causal Inference ⽬次 1. 因果推論 ~施策の本当の効果~ 2. 傾向スコアを⽤いた因果効果推定 3. モデリング / マッチングの概要と罠を説明 4. 結局 A/B テストが最強 5. まとめ 9 /32

Slide 11

Slide 11 text

Basic and Trap of Causal Inference 11 /32 1. 因果推論~施策の本当の効果~

Slide 12

Slide 12 text

Basic and Trap of Causal Inference 12 /32 TVのCMを⾒るとアプリのプレイ時間が短くなる︕︖ CMはやらない⽅がいい︕︖ そんな訳ない。。。 そもそもCMを⾒た / ⾒ていない⼈の背景要因が異なる CM CM CM / TV TV 背景が異なるので単純に⽐較してはいけない 明らかに CMを⾒た⼈︓そもそも、アプリのプレイ時間が短い CMを⾒ていない⼈ ︓ そもそも、アプリの使⽤時間が⻑い 岩波DSのデータ

Slide 13

Slide 13 text

Basic and Trap of Causal Inference 13 /32 理想的な⽐較 ⽤語 / ノーテーション - 割り当て(treat)︓施策を受けたかのフラグ。z = 1 が施策を受けた⼈でテスト群と呼ぶ(逆はコントロール群)。 - 共変量(covariance)︓機械学習でいう特徴量。x - 施策の効果 (effect)︓アプリのプレイ時間などの⽬的変数。y1 ︓割り当てを受けたときの⽬的変数(逆はy0 ) - 因果効果︓割り当てを受けることで受けない時と⽐較し、⽬的変数の差がどれくらい⽣じるか やりたいこと 背景要因(x)が揃ったデータ同⼠での テスト / コントロール群の y の⽐較を⾏い 因果効果を算出 割り当てあり z=1 y1 割り当てによる効果の差分 因果効果 = 割り当てなし z=0 y0

Slide 14

Slide 14 text

Basic and Trap of Causal Inference 14 /32 困難ポイント この⽐較が難しい問題 (1) 共変量の次元が⼤きいと類似度計算が難しい (2)「ランダム化⽐較試験(RCT)」できない観察実験 (3) そもそもテスト / コントロール群にしか存在しないデータがある = バイアスがある CMを⾒てない CMを⾒た 理想的な⽐較︓同じ背景を持ったデータ同⼠の⽐較 同じ背景要因 (共変量)を 持ったデータ同⼠で⽐較 現実的に不可能 ⾼年齢 TV派 スマホ派

Slide 15

Slide 15 text

Basic and Trap of Causal Inference 15 /32 反実仮想 ずばり、 「仮に施策を受けたら or 受けなかったら ⽬的変数はどうであったか」 と考える思想 CMを⾒た y1 y0 CMを⾒なかった Aさん ⽋損 この⽬的変数を算出し、y1と⽐較したい テスト群 コントロール群 観測 ⽋損 ⽋損 観測 y1 y0 因果効果

Slide 16

Slide 16 text

Basic and Trap of Causal Inference 16 /32 2. 傾向スコアを⽤いた因果効果推定

Slide 17

Slide 17 text

Basic and Trap of Causal Inference 17 /32 共変量 が同じであれば、割り当て と⽬的変数 の同時分布は独⽴ 解釈 - 割り当てがされる確率は、あくまでも共変量のみに依存し、⽬的変数には依存しない - 例えば、年齢 / 性別 などの共変量のみが、割り当て(CMを⾒るか)に依存する - つまり共変量 (年齢性別など)が同じ個体であれば、割り当て(CMを⾒るか)される確率 は同じ。 男性 / 20代 男性 / 20代 同じ共変量 = CMを⾒る確率は同じ 最⼤の罠 共変量で完全に成⽴させる必要 超絶重要 条件︓強く無視できる割り当て STUVAについては#OpenBPの資料を参照してください

Slide 18

Slide 18 text

Basic and Trap of Causal Inference 18 /32 強く無視できる割り当てを確認する⽅法 - 便利な公式みたいなものは存在しない - 求められる圧倒的ドメイン知識 - こんな感じでドメイン知識が圧倒的に必要 例えば、CMを⾒る確率を表現する上で、性別と年代だけでok︖ 地域 / スマホ使⽤時間も関係あるのでは︖ - ちゃんと観測データで強く無視できる割り当てが満たされている︖ 超絶重要

Slide 19

Slide 19 text

Basic and Trap of Causal Inference 19 /32 バランシングスコア / 傾向スコアの導⼊ 強く無視できる割り当てが成⽴していると仮定すると以下の2つが成⽴ バランシングスコア 同じ傾向スコアを持つテスト / コントロールの ⽬的関数の差を傾向スコアで期待値 共変量 の関数 でその値で条件つければ と割り当て が独⽴になる関数 →最もシンプルな関数が を意味する傾向スコア ⼤雑把に解釈︓

Slide 20

Slide 20 text

Basic and Trap of Causal Inference 20 /32 そう、これこそが傾向スコアマッチング テスト群 id 傾向スコア y A 0.8 10 B 0.7 20 C 0.5 30 D 0.2 40 id 傾向スコア y E 0.2 2 F 0.8 8 G 0.7 18 H 0.5 20 傾向スコアの同じデータ同⼠のペアを作る test ctr yの差 A F 10 – 8 = 2 B G 20 – 18 = 2 C H 30 – 20 = 10 D E 40 – 2 = 38 差の期待値 =(2 +2 +10 +38) / 4 = 13 解釈︓因果効果は13 コントロール群 / "! ※⾊々仮定は置いてます

Slide 21

Slide 21 text

Basic and Trap of Causal Inference 21 /32 ここまでの振り返り - 強く無視できる割り当て / 圧倒的ドメイン知識 - 傾向スコアマッチング この辺

Slide 22

Slide 22 text

Basic and Trap of Causal Inference 22 /32 3. (最低限)傾向スコアモデリング / マッチングの概要と罠

Slide 23

Slide 23 text

Basic and Trap of Causal Inference 23 /32 有名⼿法は他にもあるが時間の関係でカット (ブログ読んでください) 参考︓時間の制約で他⼿法の説明はカット

Slide 24

Slide 24 text

Basic and Trap of Causal Inference 24 /32 全体の流れ 傾向スコアモデリング マッチング 概要 - 傾向スコアを推定するモデルの作成 評価 / 罠 - (c統計量) - 傾向スコアの分布 概要 - 1 on 1マッチ(のみを紹介) 評価 / 罠 - Standard Difference

Slide 25

Slide 25 text

Basic and Trap of Causal Inference 25 /32 傾向スコアモデリング 概要 評価 / 罠 傾向スコア を推定するモデルの学習 (適当な2値分類モデル) (1)C統計量 (機械学習でいうAUC)で評価︖ たまに(︖)「c統計量が0.7以上ならok」って⾒解を⾒かけるが本当︖ 値そのものよりも分布の確認では︖ (2)傾向スコアの分布 仮に、傾向スコアが正しく振れているならば 傾向スコア0.1 (テスト群のデータ︓コントロール群のデータ) = 1 : 9 傾向スコア0.5 (テスト群のデータ︓コントロール群のデータ) = 5 : 5 傾向スコア0.9 (テスト群のデータ︓コントロール群のデータ) = 9 : 1 の割合でデータが存在するはず ダメなパターン︓分布が偏る 原因 - nが⾜りてない - そもそも テスト / コントロール群の性質が異なる コントロール群 テスト群 傾向 スコア 頻 度 理想的な傾向スコアのヒストグラム ダメなパターン

Slide 26

Slide 26 text

Basic and Trap of Causal Inference 26 /32 マッチング 概要 評価 / 罠 算出された傾向スコアを⽤いて - 傾向スコアが近いテスト / コントロールデータのペアリング - 因果効果︓マッチしたペアのyの差分の平均値 id y A 0.8 10 B 0.7 20 C 0.5 30 D 0.2 40 id y E 0.2 2 F 0.8 8 G 0.7 18 H 0.5 20 test ctr y A F 10 – 8 = 2 B G 20 – 18 = 2 C H 20 – 20 = 10 D E 40 – 2 = 38 =(2 +2 +10 +38) / 4 = 13 13 (1)Standard Differenceで評価 意味︓ペアリングに⽤いられたテスト / コントロール群のデータの共変量に差がないか どの共変量を使う︖︓モデル作成の際にimportanceが⾼い共変量 * 多くの論⽂では全共変量に対してSDを算出しているが、、、 (2)テスト or コントロールのどちらかのデータが少ないとペア数が減る

Slide 27

Slide 27 text

Basic and Trap of Causal Inference 27 /32 ここまでの振り返り - 傾向スコアモデリング / 分布の確認 - 傾向スコアマッチング この辺

Slide 28

Slide 28 text

Basic and Trap of Causal Inference 28 /32 4. 結局 A/B テストが最強

Slide 29

Slide 29 text

Basic and Trap of Causal Inference 29 /32 因果推論は制約強すぎ 強く無視できる割り当て ドメイン知識 傾向スコアの分布 データ 量 /質 マッチング 安易に「因果推論使えば効果検証できるんでしょ︖」は絶対ダメ

Slide 30

Slide 30 text

Basic and Trap of Causal Inference 30 /32 ちゃんと設計されたA/Bテストが理想的 最低限考えるべき事項 - KPI設計 / 施策とKPIの関係 - ABの設計 ちゃんと設計されたA/Bテストこそ 原点にして頂点 この辺は私よりも事業会社のデータサイエンティストの⽅が圧倒的に詳しい ただし、 「ちゃんと考えた」ABテスト

Slide 31

Slide 31 text

Basic and Trap of Causal Inference 31 /32 4. まとめ

Slide 32

Slide 32 text

Basic and Trap of Causal Inference 32 /32 以下を「うんうん。知ってる。」って⾔えたら完全に理解 (1) 反実仮想を⽤いた因果推論のお気持ち - 背景要因を揃えて、真の効果を算出 - 絶対守ろう「強く無視できる割り当て」 (2) 傾向スコアを⽤いた因果推論の⼿順と罠 - 傾向スコアモデリング / 分布の確認 - 傾向スコアマッチング (3) ちゃんと設計された A/Bテストは原点にして頂点 Thank you for listening