$30 off During Our Annual Pro Sale. View Details »

Pearl「入門統計的因果推論」の概要と活用イメージ

うとしん
January 13, 2023

 Pearl「入門統計的因果推論」の概要と活用イメージ

2022年度前期、社内で「Pearl(2019)『入門統計的因果推論』朝倉書店」を輪読しました。その活動を踏まえて、テキストの概要と活用イメージについて考察し、LT資料にまとめました。

参考リンク(マイメディア)

- DoWhyとEconMLによる因果推論の実装
https://speakerdeck.com/s1ok69oo/dowhytoeconmlniyoruyin-guo-tui-lun-noshi-zhuang
- Meta-LearnerとEconML
https://zenn.dev/s1ok69oo/articles/1eeebe75842a50
- PythonによるT-Learnerの実装
https://zenn.dev/s1ok69oo/articles/4a36fee0297234
- 傾向スコアを用いた効果検証
https://zenn.dev/s1ok69oo/articles/c058108acb83e7
- 反実仮想と因果効果
https://zenn.dev/s1ok69oo/articles/c3404a184d2203

うとしん

January 13, 2023
Tweet

More Decks by うとしん

Other Decks in Science

Transcript

  1. Pearl本の活かし方を考える
    ~因果推論勉強会のススメ~

    View Slide

  2. アジェンダ
    大きく2つ
    1. 「入門統計的因果推論(以下, Pearl本)」の概要(ざっくり)
    2. 実務での応用(イメージ)
    時間の都合上、かなりざっくりとした資料ですがご容赦ください(笑)

    View Slide

  3. Pearl本の概要

    View Slide

  4. Pearl流とRubin流の因果推論
    統計的因果推論の2大巨頭
    Pearl流
    構造的因果モデルの枠組み
    Rubin流
    潜在的結果変数の枠組み
    最近では、構造的因果モデルと機械学習を融合した「統計的因果探索」とかも
    実務で利用されてたりします(LiNGAMとか)
    対立的なものではなく、あくまでも相補的な関係

    View Slide

  5. 統計学の教科書あるある
    誰もが見たことある(はずの)フレーズ
    「相関は因果を意味しない」
    相関と因果の関係性のイメージ
    相関 因果

    View Slide

  6. 「相関≠因果」とは言うものの...
    ほとんどの統計学の教科書では、相関については言及しているもの
    の、因果についてはほとんど言及していない。
    → データのみから因果関係を判別できる統計的手法は存在しない!
    → 因果関係を考えるには「因果のストーリー」を考える必要がある

    View Slide

  7. 因果のストーリーを理解するために必要なツール
    以下の4つが必要
    1. 因果の実践的な定義
    2. 因果関係を正確に記述する方法(因果モデルを作る)
    3. 因果モデルの構造をデータの特徴に関連付ける方法
    4. モデルとデータに含まれる因果関係の組み合わせから結論を導く方法
    ここらへんに関するツールを中心にいくつか紹介

    View Slide

  8. Pearl本における因果の定義
    変数Yの値がXにどのような形であれ依存していれば、XはYの原因
    「因果とは聞くことのようなもの」と比喩
    変化

    View Slide

  9. グラフィカルモデルと構造的因果モデル
    世界についての重要な特徴がどのように関連しているかを記述
    「教育レベルと職務経験による給料」の例
    グラフィカルモデル
    X: 就学年数, Y: 職務経験, Z: 給料
    構造的因果モデル
    U = {X, Y}, V = {Z}, F = {f
    z
    }
    f
    z
    : Z = 2X + 3Y
    X Y
    Z

    View Slide

  10. DAG(Directed Acyclic Graph)
    非巡回的有向グラフ(グラフィカルモデルの1つ)
    DAGの重要な定義と魅力
    重要な定義
    - 有向性(directed)
    矢印の方向性がある
    - 非巡回(acyclic)
    グラフにおいて、ループが形成されて
    いない
    魅力
    因果効果の識別条件を視覚的に考えること
    が可能
    (e.g)バックドア基準, フロントドア基準 etc
    実務でもDAGの描画は推奨です!

    View Slide

  11. 介入
    ある変数に介入する=その変数をある値に固定する
    条件付け≠介入
    条件付け(Y|X=x) 介入(Y|do(X=x))
    因果効果: P(Y=y|do(X=x
    1
    )) - P(Y=y|do(X=x
    0
    ))
    X
    Z
    Y
    Z
    X Y
    全データのうち、X=xのデータだけに注目 全データをX=xに固定

    View Slide

  12. 調整
    観察データから介入した場合の確率を考えるためのツール
    新薬の因果効果P(Y=y|do(X=x))を考える
    観察データ(DAG)
    X
    Z
    Y
    調整化公式
    =
    P(Y=y|do(X=x))
    Σ
    z
    P(Y=y|X=x, Z=z)P(Z=z)
    Z: 性別, X: 薬の使用, Y: 回復

    View Slide

  13. 観測されなかった「事実」すなわち「反事実」について考える
    新薬の因果効果を考える
    事実
    反事実モデル
    反事実
    ※ここでは、破線の向きは因果の向きではなく時間の流れを表しています

    View Slide

  14. Pearl本の概要(まとめ)
    - 相関と因果は異なる
    → 因果関係を考えるには「因果のストーリー」を考える必要
    → 因果の定義: YがXの影響を受けていれば因果(ざっくり)
    - 因果のストーリーを考えるツール
    → グラフィカルモデル(DAGなど)
    → 構造的因果モデル
    → 介入(≠条件付け)
    → 調整
    → 反事実モデル

    View Slide

  15. 実務での応用イメージ

    View Slide

  16. 引き出しに入れておいてほしい3つの手順
    1. グラフ(DAG)を描画
    2. 識別条件を考える
    3. 因果効果を推定する(発展: 反事実モデルの枠組みで推定)
    ここから(※)があるところは、Appendixに補足情報を載せています

    View Slide

  17. 設定
    ネット上の疑似データを利用(※)
    音楽アプリで割引キャンペーンをした際に、どれだけ需要が高まるかを考える!
    手元のデータ
    平均オンライン時間
    1週間の平均訪問日数
    ユーザーの収入
    割引の有無
    需要

    View Slide

  18. 手順1: グラフ(DAG)を描画
    ドメイン知識に基づいて、DAGを描く
    今回は”DoWhy”というPythonライブ
    ラリを用いて手元のデータだけで
    DAGを描画していますが、
    本来は手元にデータが存在しない要因
    も含めて描画するのがbetter!
    今回は時間の都合&データ生成の答え
    を知っている(※)ので、あっさり
    DAGを描いてます

    View Slide

  19. DAGから識別条件を考える
    手順2: 識別条件を考える
    バックドア基準(※)のもと、dE[需要|ユーザーの収入] / d[割引]を推定すればOK!
    識別条件
    因果効果の推定式

    View Slide

  20. 手順3: 因果効果を推定
    傾向スコアマッチング(※)を用いてATE(※)を推定
    割引には需要を平均1.4増加させる効果があったと推定
    1.4387…

    View Slide

  21. 発展: 反事実モデルの枠組みで因果効果を推定
    T-Learner(※)を用いてCATE(※)を推定
    incomeが1より小さいと割引の効果は大きく
    incomeが1以上だと割引の効果はあまりない

    View Slide

  22. 実務での応用イメージ(まとめ)
    この3つの手順は、ぜひ引き出しに入れておいてください!
    1. グラフ(DAG)を描画
    2. 識別条件を考える
    3. 因果効果を推定する(発展: 反事実モデルを用いて推定)

    View Slide

  23. Appendix

    View Slide

  24. 利用したデータについて(概要)
    下記URLからデータを引用
    https://github.com/microsoft/EconML/blob/main/notebooks/CustomerScenarios/Case%20Study%20-
    %20Customer%20Segmentation%20at%20An%20Online%20Media%20Company.ipynb
    もともと11個の変数が存在しているもののうち、一部を変更・抽
    出したデータを利用(変更点は次ページ)

    View Slide

  25. 利用したデータについて(変更・抽出方法)
    元データは割引率が3パターン(0%, 10%, 20%)だったものを割
    引あり(1)or割引なし(0)に変更してます。

    View Slide

  26. バックドアパス
    上流側にある処置XとアウトカムYの両方に影響を与える流れ
    Z1
    X
    Y
    Z2
    Z1
    X
    Y
    Z2
    Z1
    X
    Y
    Z2
    (X→Yの)バックドアパス (X→Yの)バックドアパスではない

    View Slide

  27. バックドアパスをブロックする
    上流側にある処置XとアウトカムYの両方に影響を与える道を固定
    Z1
    X
    Y
    Z2
    Z1
    X
    Y
    Z2
    Z1
    X
    Y
    Z2
    (X→Yの)バックドアパスをブロックするには, Z1かZ2(あるいは両方)を固定すればOK

    View Slide

  28. バックドア基準
    集合Zが(X,Y)に対して、次の2つの条件を満たせば良い
    1. Zに含まれる全てのノードがXの子孫ではない
    2. XとYの間でXに向かう有向道すべてをZがブロックする
    X Y
    Z
    X Y
    Z
    X Y
    Z
    バックドア基準を満たす バックドア基準を満たさない

    View Slide

  29. フロントドア基準
    集合Zが(X,Y)について次の3つの条件を満たせば良い
    1. ZはX→Yの有向道をすべてブロックする
    2. XからZへのバックドアパスは存在しない
    3. ZからYへのすべてのバックドアはXによるブロックされている
    観測されない交絡因子
    X Y
    観測されない交絡因子
    X Z Y
    バックドア基準は満たさない 集合Zが観測できればフロントドア基準を満たす

    View Slide

  30. ATEとCATE
    - ATE(Average Treatment Effect): 平均処置効果
    → 集団の平均的な効果
    → ATE = E[Y
    i
    (T=1) - Y
    i
    (T=0)] = E[Y
    i
    (T=1)] - E[Y
    i
    (T=0)]
    - CATE(Conditional ATE): 条件付き処置効果
    → ある共変量で条件付けた集団の平均的な処置効果
    → CATE = E[Y
    i
    (T=1)-Y
    i
    (T=0)|X
    i
    =x] = E[Y
    i
    (T=1)|X
    i
    =x]-E[Y
    i
    (T=0)|X
    i
    =x]
    3つの変数Y, T, Xの意味(音楽アプリのデータの例)
    - Y: アウトカム(需要の高さ)
    - T: 処置(割引を受けたかどうか)
    - X: 共変量(ユーザーの収入などのアウトカムor処置に影響を与えそうな変数)

    View Slide

  31. 傾向スコアマッチングとは
    「処置は異なるが、傾向スコアが近い」ペアを用いて効果を推定
    傾向スコア: 属性から予測される処置が割り当てられる(条件付き)確率
    傾向スコアのイメージ
    平均オンライン時間: 1時間
    割引される確率: 70%
    1週間における平均滞在日数: 5日
    ユーザーの収入: 20万円/月
    予測
    推定のイメージ
    「傾向スコア0.7」かつ「割引あり」の
    人の需要の高さ
    「傾向スコア0.7」かつ「割引なし」の
    人の需要の高さ
    この差分が効果

    View Slide

  32. T-Learnerとは
    2つの機械学習モデルを利用して、CATEを推定する因果推論手法
    処置ありの予測モデルと処置なしの予測モデルを作成し、事実と反事実の
    予測値の差分を効果として推定
    手元のデータ 機械学習モデル
    割引ありの需要
    (予測値)
    割引なしの需要
    (予測値)
    効果
    予測モデルも手元の
    データから作成

    View Slide

  33. 参考文献(テキスト)
    - Pearl(2019)「入門統計的因果推論」朝倉書店
    - Pearl(2022)「因果推論の科学」文藝春秋
    - 岩崎(2015)「統計的因果推論」朝倉書店
    - 岩波データサイエンスVol.3(2016)「[特集]因果推論-実世界のデータから因果
    を読む」岩波新書
    - 小川(2021)「Pythonによる因果分析」マイナビ出版
    - 高橋(2022)「統計的因果推論の理論と実装」共立出版

    View Slide

  34. 参考文献(Web: すべて 2023年1月12日 参照)
    - Hayashi takehiko「”因果推論駅”の奥の方を探訪しながら考える」
    https://speakerdeck.com/takehikoihayashi/wai-de-nidofalseyounaxi-gariwochi-tuteirufalseka
    - krsk「”矢印”をつかって因果関係を視覚的に整理する: 因果ダイアグラム(DAG)入門①」
    https://www.krsk-phs.com/entry/DAG1
    - krsk「”矢印”をつかって因果関係を視覚的に整理する: 因果ダイアグラム(DAG)入門②」
    https://www.krsk-phs.com/entry/DAG2
    - krsk「統計的因果推論のためのPythonライブラリDoWhyについて解説」
    https://www.krsk-phs.com/entry/2018/08/22/060844
    - lystahi「EconMLケーススタディ」https://qiita.com/lystahi/items/e64e4bb0dc13a9bcafbf
    - Microsoft Research「DoWhy documentation」https://www.pywhy.org/dowhy/v0.9.1/
    - Microsoft Research「EconML User Guide」https://econml.azurewebsites.net/
    - S¨oren R. K¨unzel他「Meta-learners for Estimating Heterogeneous Treatment
    Effects using Machine Learning」https://arxiv.org/abs/1706.03461

    View Slide

  35. - 「Pythonで因果推論(2)~反実仮想と因果効果~」
    https://zenn.dev/s1ok69oo/articles/c3404a184d2203
    - 「Pythonで因果推論(6)~傾向スコアを用いた効果検証~」
    https://zenn.dev/s1ok69oo/articles/c058108acb83e7
    - 「機械学習で因果推論~Meta-LearnerとEconML~」
    https://zenn.dev/s1ok69oo/articles/1eeebe75842a50
    - 「PythonによるT-Learnerの実装」
    https://zenn.dev/s1ok69oo/articles/4a36fee0297234
    - 「DoWhyとEconMLによる因果推論の実装」
    https://speakerdeck.com/s1ok69oo/dowhytoeconmlniyoruyin-guo-tui-lun-noshi-zhuang
    - 「機械学習を用いた効果検証~Doubly Robust Learner~」
    https://speakerdeck.com/s1ok69oo/ji-jie-xue-xi-woyong-itaxiao-guo-jian-zheng-dr-learner
    参考文献(セルフ: タイトルとURLだけ)

    View Slide

  36. 宣伝
    高橋(2022)「統計的因果推論の理論と実装」の勉強会を開催して
    います!
    Rubin流(潜在的結果変数の枠組み)の因果推論について
    ”易しく”かつ”しっかり”学習できるテキストですので、興味のある
    方はぜひご参加ください!
    初回の勉強会資料はこちら:
    https://speakerdeck.com/s1ok69oo/tong-ji-de-yin-guo-tui-lun-noli-l
    un-toshi-zhuang-qian-zai-de-jie-guo-bian-shu-nowaku-zu-mi

    View Slide

  37. ご清聴ありがとうございました

    View Slide