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

機械学習を用いた効果検証~回帰分析とT-Learner~

Shingo Uto
July 03, 2022

 機械学習を用いた効果検証~回帰分析とT-Learner~

2022/07/03のLT資料です。"機械学習×因果推論"手法の1つとして知られるT-LearnerについてLTしました。

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

- 回帰分析を用いた効果検証
https://zenn.dev/s1ok69oo/articles/f0b91f19da2812
- PythonによるT-Learnerの実装
https://zenn.dev/s1ok69oo/articles/4a36fee0297234
- 機械学習で因果推論~Meta-LearnerとEconML~
https://zenn.dev/s1ok69oo/articles/1eeebe75842a50

Shingo Uto

July 03, 2022
Tweet

More Decks by Shingo Uto

Other Decks in Science

Transcript

  1. 機械学習を用いた効果検証
    ~回帰分析とT-Learner~

    View Slide

  2. アジェンダ
    - 自己紹介
    - 効果検証の概要
    - 機械学習を用いた効果検証手法

    View Slide

  3. 自己紹介

    View Slide

  4. 自己紹介(経歴)
    - 九州大学経済学部卒(計量経済学とか)
    - データアナリスト
    - EC事業の効果検証
    - MaaS事業のDX(笑)
    - データサイエンティスト
    - Web広告の効果検証(補欠合格)← 今ココ

    View Slide

  5. 自己紹介(パーソナリティ)
    - 得意: Twitter
    - 苦手: ITと英語
    - 趣味: シーシャとカラオケ
    - 近況: WindowsとAWS全般に苦戦中

    View Slide

  6. 自己紹介(宣伝)
    - Envaderというサービスの企画・運営をしてます
    - Pythonで因果推論手法を実装するZennをまとめてます

    View Slide

  7. 効果検証の概要

    View Slide

  8. 設定
    - とある大学の経済学部で計量経済学の特別講義(以下、特
    講)を行う
    - 特講を受講することでどれくらい試験の得点が上がるかを知り
    たい(時系列: 前期試験→特講→後期試験)

    View Slide

  9. それって本当に特講の効果?
    特講受講者と未受講者の試験の得点
    特講 前期試験の平均得点 後期試験の平均得点
    受講者 60点 70点
    未受講者 40点 45点

    View Slide

  10. 効果検証とは
    - 特講には本当に効果があったのか?
    - どれくらい効果があったのか?
    を分析し、評価するアプローチ

    View Slide

  11. 機械学習を用いた効果検証手法

    View Slide

  12. 回帰分析(概要)
    - 説明変数Xを1単位増減させたときに、目的変数Yがどの程
    度変動するかを出力する手法
    - 例えば、回帰分析によって Y = 50 + 10X というモデルを得ら
    れたならば「Xを1単位増減させると、Yは10増減する」と解釈
    できる

    View Slide

  13. - 真のモデル: Y
    i
    = 40 + 0.25X
    i
    + 20D
    i
    + u
    i
    の場合
    - Y
    i
    : 学生iの後期試験の得点(目的変数)
    - X
    i
    : 学生iの前期試験の得点(交絡因子)
    - D
    i
    : 学生iの特講受講ダミー(D=1であれば受講)
    - u
    i
    : 誤差項(N(0, σ2)に従う)
    - このとき、特講の効果は一律で20点
    回帰分析(設定1)

    View Slide

  14. 回帰分析(データの作成)
    左: Pythonコード、右: 出力結果(説明は割愛)

    View Slide

  15. 回帰分析(sklearnで実装)
    - 効果ρを21.5と推定
    - 特講を受講すると試験の
    得点が21.5点上がると解
    釈できる
    - 真の値は20なので、まあ
    まあいい感じ

    View Slide

  16. 回帰分析(設定2)
    - 現実的には、同じ20点でも
    - 50点から70点に上げる
    - 70点から90点に上げる
    難易度は異なる。
    - 真のモデル: Y
    i
    = 40 + 0.25X
    i
    + ρ(X
    i
    )D
    i
    + u
    i
    となる
    - 処置変数D
    i
    の係数がX
    i
    に依存する
    → 次のスライドでもう少し詳しく設定

    View Slide

  17. 回帰分析(ρ(X
    i
    )の設定)
    ρ(X
    i
    )は特講の効果を表し、
    下表のような(非線形の)値を取る。
    X
    i
    ~50 50~60 60~70 70~80 80~
    ρ(X
    i
    ) 25 20 15 10 5

    View Slide

  18. 回帰分析(データの作成)
    左: Pythonコード、右: 出力結果(説明は割愛)

    View Slide

  19. 回帰分析(sklearnによる実装)
    ρ(X
    i
    ) = 24.5,,,となり、
    Y
    i
    = a + bX
    i
    + 24.5D
    i
    + u
    i
    というモデルが得られる。
    → 回帰分析では平均的な効果
    しか算出できず、非線形な個別
    の効果を推定できない

    View Slide

  20. T-Learner(概要)
    - 処置群と対照群の2つについてそれぞれ機械学習モデルを
    作成し、処置群と対照群の予測結果を利用して効果を推定
    する手法
    - 非線形の因果効果でも評価することができる
    - cf) S-Learner, X-Learner, R-Learner, … etc

    View Slide

  21. 1. 処置群(特講を受講したグループ)のデータを使って、後期試
    験の得点を予測するモデルを作成
    2. 対照群(特講を受講していないグループ)のデータを使って
    後期試験の得点を予測するモデルを作成
    3. これらのモデルを利用して、観測できない方のデータも予測
    し、処置の効果を評価する
    T-Learner(手順)

    View Slide

  22. T-Learner(手順1, 2)
    2つの機械学習モデル(LightGBM)を作成

    View Slide

  23. T-Learner(手順3)
    予測値を利用し、効果を可視化(若干上振れ)

    View Slide

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

    View Slide