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

SHAPで因果関係を説明できる?

 SHAPで因果関係を説明できる?

うとしん

June 19, 2023
Tweet

More Decks by うとしん

Other Decks in Science

Transcript

  1. SHAPで因果関係を
    説明できる?

    View Slide

  2. アジェンダ
    - イントロ
    - 結論
    - 因果関係を説明できる特徴量
    - 余談
    - まとめ

    View Slide

  3. イントロ

    View Slide

  4. 今回お話する内容は,私が以前執筆したQiita記事を元に作成してい
    ます
    > ぜひ,Qiitaも読んでください!(清き「1いいね」待ってます笑)
    > 記事のリンク: https://qiita.com/s1ok69oo/items/0bf92b84e565789a2191
    宣伝

    View Slide

  5. みなさんこんな経験ありませんか?
    クライアントからの依頼
    hogehogeを予測するモデルを作って欲し

    できれば,どの要因(特徴量)がモデルに影
    響を与えているかも知りたい
    クライアント

    View Slide

  6. みなさんこんな経験ありませんか?
    分析官の脳内
    機械学習モデルだ
    と解釈が難しい...
    解釈しやすい統計
    モデルだと予測精
    度がネック...
    SHAPを利用して
    機械学習モデルを
    解釈しよう!
    分析官 分析官

    View Slide

  7. みなさんこんな経験ありませんか?
    成果物を納品
    モデルはfugafuga
    で,予測精度は...
    SHAP値を見る限
    り,モデルに影響す
    る要因は...
    ありがとうござい
    ます
    納品
    分析官 クライアント

    View Slide

  8. クライアントの反応
    みなさんこんな経験ありませんか?
    SHAP値の大小っ
    て,因果関係の大小
    ですよね?
    え...
    因果関係と言って
    いいんだっけ...?
    クライアント 分析官

    View Slide

  9. 結論

    View Slide

  10. 結論
    基本的にSHAPでは因果関係を説明することはできません!
    SHAP値 因果効果

    View Slide

  11. 問題設定
    サブスク購入者が商品のサブスク購入を更新するかどうかを予測す
    るモデルを考える
    > Pythonでデータを生成し,シミュレーション
    > 問題設定は下記のURLのものを引用しています
    https://shap.readthedocs.io/en/latest/example_notebooks/overviews/Be%20careful%2
    0when%20interpreting%20predictive%20models%20in%20search%20of%20causal%C2
    %A0insights.html

    View Slide

  12. 観測できるデータと観測できないデータ(交絡)がある
    特徴量(観測可) 概要
    Sales calls 訪問販売の回数
    Interactions 交流回数
    Economy 居住地域の経済状況
    Last upgrade 最終更新日
    Discount 割引額
    Monthly usage 月の利用度合い
    Ad spend 広告費用
    Bugs reported バグの報告回数
    問題設定
    特徴量(観測不可) 概要
    Product need プロダクトのニーズ
    Bugs faced バグの遭遇回数
    今回のシミュレーションではデータの生成過程
    が既知なので,未観測(という設定)ながらサ
    ブスクの継続に影響があることは分かっている
    目的変数 概要
    Did renew サブスク更新の有無

    View Slide

  13. 問題設定
    データ生成過程のDAG
    グレー塗「サブスクを継続す
    るかどうか」を表す目的変数
    実線: 観測できる特徴量
    波線: 観測できない特徴量

    View Slide

  14. ありがちなミスリーディング
    XGBoostで予測モデルを作成し,SHAP値の棒グラフを描画
    棒グラフの長さが予測モ
    デルへの影響度(絶対
    値)を表している
    Discount(割引額)の影
    響度が大きい
    割引額が大きいほどサブ
    スク更新されやすい?
    一見,妥当そう...

    View Slide

  15. ありがちなミスリーディング
    DiscountとSHAP値の散布図を描画
    Discount(割引額)に対して右肩下が
    りで,Discountが低い時はSHAP値は
    正の値,Discountが高い時はSHAP値
    は負の値をとっている
    割引額が低いほどサブスクの更新確率
    が高く,割引額が高いほどサブスクの
    更新確率が低いと予測される...!?
    直感的に反する...

    View Slide

  16. ありがちなミスリーディング
    データの生成過程にヒント
    実はProduct needが低いユー
    ザーに対して,購買意欲を掻き
    立てるために割引額を大きく
    していた
    Product needが低いユーザー
    は,そもそも購買意欲(サブス
    クの更新確率)が低い
    割引額とサブスクの更新確率
    の間に擬似相関が発生
    これがミスリーディングの要因
    Product needという交絡の存在

    View Slide

  17. 結論(再掲)
    基本的にSHAPでは因果関係を説明することはできません!
    SHAP値 因果効果

    View Slide

  18. 因果関係を説明できる特徴量

    View Slide

  19. 因果関係を説明できる特徴量
    今回は2つのケースを紹介
    - 予測モデルで因果関係を説明できるケース
    - 観察データから因果関係を説明できるケース

    View Slide

  20. 因果関係を説明できる特徴量
    今回は2つのケースを紹介
    - 予測モデルで因果関係を説明できるケース
    - 観察データから因果関係を説明できるケース

    View Slide

  21. 予測モデルで因果関係を説明できるケース
    特徴量に強い無視可能性があるケース
    モデル内の他の特徴量や未観
    測の変数と相関していない
    > SHAP値で因果関係を説明できる!

    View Slide

  22. 予測モデルで因果関係を説明できるケース
    SHAP値をそのまま因果効果として解釈できる!!
    SHAP値をそのまま
    因果効果として解釈できる

    View Slide

  23. 予測モデルで因果関係を説明できるケース
    EconomyとSHAP値の散布図および本当の因果効果を描画
    青のプロット
    > EconomyとSHAP値の散布図
    をプロットしたもの
    黒の実線
    > データ生成過程に基づく本当
    の因果効果
    SHAP値で本当の因果効果を
    概ね表現できている!

    View Slide

  24. 因果関係を説明できる特徴量
    今回は2つのケースを紹介
    - 予測モデルで因果関係を説明できるケース
    - 観察データから因果関係を説明できるケース

    View Slide

  25. 観察データから因果関係を説明できるケース
    交絡がすべて観察されているケース
    青塗りの特徴量
    > 因果効果を説明したい特徴
    量(Ad spend)
    オレンジ塗りの特徴量
    > 交絡(Last upgrade,
    Montly usage)

    View Slide

  26. 観察データから因果関係を説明できるケース
    SHAP値をそのまま因果関係と捉えてはイケナイ!!
    SHAP値をそのまま
    因果効果してはイケナイ!
    > 交絡の影響を受けている
    (Last upgrade, Monthly usage)

    View Slide

  27. 観察データから因果関係を説明できるケース
    適切な因果推論手法を用いることで因果効果の推定が可能
    青の実線
    > DMLによる因果効果の推定
    結果
    黒の実線
    > データ生成過程に基づく本当
    の因果効果
    概ねよく推定できている
    DMLという推定手法を利用

    View Slide

  28. 因果関係を説明できる特徴量(まとめ)
    今回は2つのケースを紹介
    - 予測モデルで因果関係を説明できるケース
    > 強い無視可能性が成り立つ
    > SHAP値を因果効果として解釈
    - 観察データから因果関係を説明できるケース
    > 交絡がすべて観察されている
    > 因果推論手法を用いて因果効果を推定

    View Slide

  29. 余談

    View Slide

  30. 目的(予測タスクor因果タスク)による
    予測タスクの例
    サブスク更新の有無を予測する精度を
    高めて,将来の収益を推定し,財務計
    画の意思決定に繋げたい
    > SHAP値が高い特徴量を知ることで
    予測精度に向上に役立てることが可能
    (SHAP値は有用)
    SHAP値は無意味?
    因果タスクの例
    できるだけ多くのユーザーのサブスク
    更新確率を上げるようなアクションの
    意思決定に繋げたい
    > 基本的にはSHAP値をそのまま因果
    関係と解釈することはできない
    (SHAP値の有用ではない)

    View Slide

  31. おすすめPythonパッケージ1: DoWhy
    Microsoft社がリリースした「反事実モデルに基づいて因果関係を
    考える」因果推論用のPythonライブラリ
    反事実のイメージ
    広告を見たAさんが「もしそのとき広告を見ていなかったら」という状態を考える
    売上に違いがあるか
    広告を見た(事実) 広告を見ていない(反事実)

    View Slide

  32. おすすめPythonパッケージ2: EconML
    Microsoft社がリリースした「計量経済学×機械学習」のアプロー
    チで処置効果を推定するためのPythonライブラリ
    「計量経済学×機械学習」アプローチの利点
    効果の異質性(HTE)を捉えることが可能→よりよいネクストアクションに繋がる
    「20代・女性」のセグメントに
    広告を配信すると効果的
    大 ← 広告効果 → 小
    20代・女性 50代・男性

    View Slide

  33. CSV: Causal Shapley Values
    Pearlのdo-calculusを応用して計算する”因果的な”Shapley values
    CSVのココがすごい(1)
    特徴量間の独立性を必要としない
    > 既存のShapley valuesは特徴量間の
    独立性が満たされていない場合,先ほ
    ど説明した(Discountの例)ような
    ミスリーディングに繋がることがある
    CSVのココがすごい(2)
    すべての因果効果を直接効果と間接効
    果に分けて算出できる
    特徴量1
    特徴量2
    目的変数
    直接効果
    間接効果

    View Slide

  34. まとめ

    View Slide

  35. まとめ
    - 基本的にSHAPで因果関係は説明できない
    > SHAP値をそのまま因果効果として解釈すると,交絡や未観測要因の
    影響によりミスリーディングが生じてしまう
    - 条件を満たす特徴量については因果効果を説明できる
    > 強い無視可能性を満たす特徴量: SHAP値
    > 交絡をすべて観察されている特徴量: 適切な因果推論手法

    View Slide

  36. Appendix

    View Slide

  37. 2023年6月13日時点に参照したものです.
    - https://christophm.github.io/interpretable-ml-book/shapley.html
    - https://christophm.github.io/interpretable-ml-book/shap.html
    - https://qiita.com/s1ok69oo/items/0bf92b84e565789a2191
    - https://shap.readthedocs.io/en/latest/example_notebooks/overviews/Be%20caref
    ul%20when%20interpreting%20predictive%20models%20in%20search%20of%20c
    ausal%C2%A0insights.html
    - https://towardsdatascience.com/be-careful-when-interpreting-predictive-models-i
    n-search-of-causal-insights-e68626e664b6
    - https://zenn.dev/s1ok69oo/articles/4da9e3b01a0a93
    参考文献

    View Slide

  38. 2023年6月13日時点に参照したものです.
    - https://arxiv.org/abs/2011.01625
    - https://econml.azurewebsites.net/
    - https://www.pywhy.org/dowhy/v0.9.1/
    参考文献(余談)

    View Slide