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

【バスケ】ボックススコアを用いたオールインワンメトリクス作成手続き

 【バスケ】ボックススコアを用いたオールインワンメトリクス作成手続き

らんそうるい

October 28, 2023
Tweet

Other Decks in How-to & DIY

Transcript

  1. ボックススコアを⽤いた
    オールインワンメトリクス
    作成⼿続き
    Sports Analyst Meetup #14 & JSAA Lab LT会 vol.3
    らんそうるい(@rnsr0371)

    View Slide

  2. ⾃⼰紹介
    • らんそうるい
    • X→@rnsr0371
    • Webサイト→ RNSR Lab.
    • データ分析(主にバスケ)を投稿
    • フリーランスのデータアナリスト
    • 「スポーツのデータなら私に任せろ」
    と⾔えるようになりたい。
    ↑ from ノーコピーライトガール

    View Slide

  3. このLTの概要
    • ボックススコアを⽤いたオールインワンメトリクスの作成⼿続
    きを説明
    • 作成⼿続きが公開済みのメトリクスの、最⼤公約数的⼿続きを説明
    • ボックススコア:試合中のプレイを集計したもの
    • e.g., 得点、リバウンド数 etc.
    • オールインワンメトリクス:貢献度を表現した単⼀の数値
    • e.g., 100ポゼッションあたり+2点の貢献度
    • 詳しくは、この連載の第3~5回をご覧ください

    View Slide

  4. 計算⼿続きの概要
    1. ベースを作成
    2. チームアジャストメントを実施
    • マストではないが、よく使われる
    3. 精度の確認を⾏う
    • 有識者にランキングの感想をもらう(定性的)
    • ホールドアウト検証やクロスバリデーションを⾏う(定量的)
    4. 微調整する
    • 出場時間や出場ポゼッションを基に評価値を与えない選⼿を設定

    View Slide

  5. 計算⼿続きの概要
    1. ベースを作成
    2. チームアジャストメントを実施
    • マストではないが、よく使われる
    3. 精度の確認を⾏う
    • 有識者にランキングの感想をもらう(定性的)
    • ホールドアウト検証やクロスバリデーションを⾏う(定量的)
    4. 微調整する
    • 出場時間や出場ポゼッションを基に評価値を与えない選⼿を設定
    発表はこれらの内容が中⼼

    View Slide

  6. 計算⼿続きの概要
    1. ベースを作成
    2. チームアジャストメントを実施
    • マストではないが、よく使われる
    3. 精度の確認を⾏う
    • 有識者にランキングの感想をもらう(定性的)
    • ホールドアウト検証やクロスバリデーションを⾏う(定量的)
    4. 微調整する
    • 出場時間や出場ポゼッションを基に評価値を与えない選⼿を設定

    View Slide

  7. ベースを作成
    • 「ベース」とは?
    • チームアジャストメントを加える前の、スタッツを重みづけて⾜し合
    わせただけのデータ
    • Raw 〇〇と呼ばれることが多い(例:Raw BPM)
    • 重みの決め⽅(概要)
    • J. Engelmann⽒のRAPMを教師データに、線形回帰を⾏なって重みを
    決める

    View Slide

  8. ベースを作成
    • 今回はベースとしてEFFを使う
    • 𝐸𝐹𝐹 = 𝑃𝑇𝑆 + 𝐴𝑆𝑇 + 𝐵𝐿𝐾 + 𝑆𝑇𝐿 + 𝐹𝐷 + 𝑅𝐸𝐵
    −(𝑇0𝑉 + 𝐵𝑆𝑅 + 𝑃𝐹 + 𝑚𝑖𝑠𝑠𝑒𝑑 𝐹𝐺𝐴 + 𝑚𝑖𝑠𝑠𝑒𝑑 𝐹𝑇𝐴)
    • 良いスタッツの量-悪いスタッツの量
    • ベースとしてのEFFの特徴
    • 得点(PTS)1点分とAST以降のプレイが等価値
    • 出場時間が増えるとEFFも⾼くなる傾向

    View Slide

  9. 計算⼿続きの概要
    1. ベースを作成
    2. チームアジャストメントを実施
    • マストではないが、よく使われる
    3. 精度の確認を⾏う
    • 有識者にランキングの感想をもらう(定性的)
    • ホールドアウト検証やクロスバリデーションを⾏う(定量的)
    4. 微調整する
    • 出場時間や出場ポゼッションを基に評価値を与えない選⼿を設定

    View Slide

  10. チームアジャストメントを実施
    • 𝑇𝑚𝐴𝑑𝑗 = 𝑇𝑒𝑎𝑚𝑀𝑎𝑟𝑔𝑖𝑛 − ∑ 𝐸𝐹𝐹 40 ∗ 𝑀𝐼𝑁% /5
    • 𝐴𝑑𝑗 𝐸𝐹𝐹 40 = 𝐸𝐹𝐹 40 + 𝑇𝑚𝐴𝑑𝑗
    • チームアジャストメントを⾏うことで、Adj EFF 40のチーム内
    総和がチームのシーズン総得失点差と整合的になる
    [チームのシーズン得失点差-(EFF 40*MIN%のチーム内総和)]/5
    MIN%=チームの試合時間に占める選⼿の出場時間の割合

    View Slide

  11. 計算⼿続きの概要
    1. ベースを作成
    2. チームアジャストメントを実施
    • マストではないが、よく使われる
    3. 精度の確認を⾏う
    • 有識者にランキングの感想をもらう(定性的)
    • ホールドアウト検証やクロスバリデーションを⾏う(定量的)
    4. 微調整する
    • 出場時間や出場ポゼッションを基に評価値を与えない選⼿を設定

    View Slide

  12. 精度の確認を⾏う(定量的)
    • ホールドアウト検証を⾏うなら……
    1. シーズンの試合データを訓練データ:テストデータ=8:2に分割
    2. 訓練データだけを使ってAdj EFF 40 を計算
    3. テストデータの各試合について
    「各選⼿のAdj EFF 40/40分*出場時間」のチーム内総和を計算し、
    対戦チーム同⼠で引き算することで、得失点差の予測値を得る
    4. 得失点差の予測値と実際の得失点差のRMSEを取る

    View Slide

  13. 精度の確認を⾏う(定量的)
    • B1 2021-22レギュラー
    シーズンのデータで
    Adj EFF 40の精度を
    確認すると、
    • RMSE=34.46
    • (元の得失点差のSDは
    18.32)

    View Slide

  14. 計算⼿続きの概要
    1. ベースを作成
    2. チームアジャストメントを実施
    • マストではないが、よく使われる
    3. 精度の確認を⾏う
    • 有識者にランキングの感想をもらう(定性的)
    • ホールドアウト検証やクロスバリデーションを⾏う(定量的)
    4. 微調整する
    • 出場時間や出場ポゼッションを基に評価値を与えない選⼿を設定

    View Slide

  15. 微調整する
    • 訓練データで出場時間
    が800分未満の選⼿の
    EFFを0と置き換えて計
    算。
    • RMSE=16.57
    • (元の得失点差のSDは
    18.32)

    View Slide

  16. 計算⼿続きの概要
    1. ベースを作成
    2. チームアジャストメントを実施
    • マストではないが、よく使われる
    3. 精度の確認を⾏う
    • 有識者にランキングの感想をもらう(定性的)
    • ホールドアウト検証やクロスバリデーションを⾏う(定量的)
    4. 微調整する
    • 出場時間や出場ポゼッションを基に評価値を与えない選⼿を設定

    View Slide

  17. Appendix: 参考にしたメトリクス
    名称 (略称) URL
    Statistical Plus-Minus https://www.82games.com/comm30.htm
    Box Plus-Minus (BPM) https://web.archive.org/web/20141031194728/https://www.basketba
    ll-reference.com/about/bpm.html
    Augmented Plus-Minus
    (AuPM)
    https://thinkingbasketball.net/2017/09/18/augmented-plus-minus-
    evaluating-old-pm-data/, https://backpicks.com/2018/06/10/aupm-
    2-0-the-top-playoff-performers-of-the-databall-era/
    Player Impact Plus-
    Minus (PIPM)
    https://fansided.com/2018/01/11/nylon-calculus-introducing-player-
    impact-plus-minus/, https://www.bball-index.com/player-impact-
    plus-minus/
    Box Plus-Minus 2.0
    (BPM 2.0)
    https://www.basketball-reference.com/about/bpm2.html
    Stable Player Impact
    (SPI)
    https://nbacouchside.net/2022/11/05/introducing-nba-stable-player-
    impact-spi/

    View Slide