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

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

Shingo Uto
January 13, 2023

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

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

Shingo Uto

January 13, 2023
Tweet

More Decks by Shingo Uto

Other Decks in Science

Transcript

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

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

  3. Pearl本の概要

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

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

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

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

    ここらへんに関するツールを中心にいくつか紹介
  8. Pearl本における因果の定義 変数Yの値がXにどのような形であれ依存していれば、XはYの原因 「因果とは聞くことのようなもの」と比喩 変化

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

    構造的因果モデル U = {X, Y}, V = {Z}, F = {f z } f z : Z = 2X + 3Y X Y Z
  10. DAG(Directed Acyclic Graph) 非巡回的有向グラフ(グラフィカルモデルの1つ) DAGの重要な定義と魅力 重要な定義 - 有向性(directed) 矢印の方向性がある -

    非巡回(acyclic) グラフにおいて、ループが形成されて いない 魅力 因果効果の識別条件を視覚的に考えること が可能 (e.g)バックドア基準, フロントドア基準 etc 実務でもDAGの描画は推奨です!
  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に固定
  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: 回復
  13. 観測されなかった「事実」すなわち「反事実」について考える 新薬の因果効果を考える 事実 反事実モデル 反事実 ※ここでは、破線の向きは因果の向きではなく時間の流れを表しています

  14. Pearl本の概要(まとめ) - 相関と因果は異なる → 因果関係を考えるには「因果のストーリー」を考える必要 → 因果の定義: YがXの影響を受けていれば因果(ざっくり) - 因果のストーリーを考えるツール

    → グラフィカルモデル(DAGなど) → 構造的因果モデル → 介入(≠条件付け) → 調整 → 反事実モデル
  15. 実務での応用イメージ

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

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

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

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

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

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

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

  23. Appendix

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

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

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

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

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

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

    Y 観測されない交絡因子 X Z Y バックドア基準は満たさない 集合Zが観測できればフロントドア基準を満たす
  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処置に影響を与えそうな変数)
  31. 傾向スコアマッチングとは 「処置は異なるが、傾向スコアが近い」ペアを用いて効果を推定 傾向スコア: 属性から予測される処置が割り当てられる(条件付き)確率 傾向スコアのイメージ 平均オンライン時間: 1時間 割引される確率: 70% 1週間における平均滞在日数:

    5日 ユーザーの収入: 20万円/月 予測 推定のイメージ 「傾向スコア0.7」かつ「割引あり」の 人の需要の高さ 「傾向スコア0.7」かつ「割引なし」の 人の需要の高さ この差分が効果
  32. T-Learnerとは 2つの機械学習モデルを利用して、CATEを推定する因果推論手法 処置ありの予測モデルと処置なしの予測モデルを作成し、事実と反事実の 予測値の差分を効果として推定 手元のデータ 機械学習モデル 割引ありの需要 (予測値) 割引なしの需要 (予測値)

    効果 予測モデルも手元の データから作成
  33. 参考文献(テキスト) - Pearl(2019)「入門統計的因果推論」朝倉書店 - Pearl(2022)「因果推論の科学」文藝春秋 - 岩崎(2015)「統計的因果推論」朝倉書店 - 岩波データサイエンスVol.3(2016)「[特集]因果推論-実世界のデータから因果 を読む」岩波新書

    - 小川(2021)「Pythonによる因果分析」マイナビ出版 - 高橋(2022)「統計的因果推論の理論と実装」共立出版
  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
  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だけ)
  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

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