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

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

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

らんそうるい

October 28, 2023
Tweet

Transcript

  1. ⾃⼰紹介 • らんそうるい • X→@rnsr0371 • Webサイト→ RNSR Lab. •

    データ分析(主にバスケ)を投稿 • フリーランスのデータアナリスト • 「スポーツのデータなら私に任せろ」 と⾔えるようになりたい。 ↑ from ノーコピーライトガール
  2. このLTの概要 • ボックススコアを⽤いたオールインワンメトリクスの作成⼿続 きを説明 • 作成⼿続きが公開済みのメトリクスの、最⼤公約数的⼿続きを説明 • ボックススコア:試合中のプレイを集計したもの • e.g.,

    得点、リバウンド数 etc. • オールインワンメトリクス:貢献度を表現した単⼀の数値 • e.g., 100ポゼッションあたり+2点の貢献度 • 詳しくは、この連載の第3~5回をご覧ください
  3. 計算⼿続きの概要 1. ベースを作成 2. チームアジャストメントを実施 • マストではないが、よく使われる 3. 精度の確認を⾏う •

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

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

    有識者にランキングの感想をもらう(定性的) • ホールドアウト検証やクロスバリデーションを⾏う(定量的) 4. 微調整する • 出場時間や出場ポゼッションを基に評価値を与えない選⼿を設定
  6. ベースを作成 • 今回はベースとしてEFFを使う • 𝐸𝐹𝐹 = 𝑃𝑇𝑆 + 𝐴𝑆𝑇 +

    𝐵𝐿𝐾 + 𝑆𝑇𝐿 + 𝐹𝐷 + 𝑅𝐸𝐵 −(𝑇0𝑉 + 𝐵𝑆𝑅 + 𝑃𝐹 + 𝑚𝑖𝑠𝑠𝑒𝑑 𝐹𝐺𝐴 + 𝑚𝑖𝑠𝑠𝑒𝑑 𝐹𝑇𝐴) • 良いスタッツの量-悪いスタッツの量 • ベースとしてのEFFの特徴 • 得点(PTS)1点分とAST以降のプレイが等価値 • 出場時間が増えるとEFFも⾼くなる傾向
  7. 計算⼿続きの概要 1. ベースを作成 2. チームアジャストメントを実施 • マストではないが、よく使われる 3. 精度の確認を⾏う •

    有識者にランキングの感想をもらう(定性的) • ホールドアウト検証やクロスバリデーションを⾏う(定量的) 4. 微調整する • 出場時間や出場ポゼッションを基に評価値を与えない選⼿を設定
  8. チームアジャストメントを実施 • 𝑇𝑚𝐴𝑑𝑗 = 𝑇𝑒𝑎𝑚𝑀𝑎𝑟𝑔𝑖𝑛 − ∑ 𝐸𝐹𝐹 40 ∗

    𝑀𝐼𝑁% /5 • 𝐴𝑑𝑗 𝐸𝐹𝐹 40 = 𝐸𝐹𝐹 40 + 𝑇𝑚𝐴𝑑𝑗 • チームアジャストメントを⾏うことで、Adj EFF 40のチーム内 総和がチームのシーズン総得失点差と整合的になる [チームのシーズン得失点差-(EFF 40*MIN%のチーム内総和)]/5 MIN%=チームの試合時間に占める選⼿の出場時間の割合
  9. 計算⼿続きの概要 1. ベースを作成 2. チームアジャストメントを実施 • マストではないが、よく使われる 3. 精度の確認を⾏う •

    有識者にランキングの感想をもらう(定性的) • ホールドアウト検証やクロスバリデーションを⾏う(定量的) 4. 微調整する • 出場時間や出場ポゼッションを基に評価値を与えない選⼿を設定
  10. 精度の確認を⾏う(定量的) • ホールドアウト検証を⾏うなら…… 1. シーズンの試合データを訓練データ:テストデータ=8:2に分割 2. 訓練データだけを使ってAdj EFF 40 を計算

    3. テストデータの各試合について 「各選⼿のAdj EFF 40/40分*出場時間」のチーム内総和を計算し、 対戦チーム同⼠で引き算することで、得失点差の予測値を得る 4. 得失点差の予測値と実際の得失点差のRMSEを取る
  11. 計算⼿続きの概要 1. ベースを作成 2. チームアジャストメントを実施 • マストではないが、よく使われる 3. 精度の確認を⾏う •

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

    有識者にランキングの感想をもらう(定性的) • ホールドアウト検証やクロスバリデーションを⾏う(定量的) 4. 微調整する • 出場時間や出場ポゼッションを基に評価値を与えない選⼿を設定
  13. 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/