Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
【バスケ】ボックススコアを用いたオールインワンメトリクス作成手続き
Search
らんそうるい
October 28, 2023
How-to & DIY
580
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
【バスケ】ボックススコアを用いたオールインワンメトリクス作成手続き
らんそうるい
October 28, 2023
Other Decks in How-to & DIY
See All in How-to & DIY
JAWS-UG/AWSコミュニティ JAWS-UG おおいた
awsjcpm
2
3k
JAWS-UG/AWSコミュニティ -JAWS-UGくまもと#16
awsjcpm
1
240
JAWS-UG/AWS Community Update 2026/05/25 JAWS-UG札幌 & 秋田コラボ会
awsjcpm
0
120
令和なのでVoIP網に参加して電話サービスを作ってみた話
cibmc
0
150
とある地方技術勉強会に集うエンジニアたちのこれまでとこれから
pharaohkj
1
170
画面の向こうから「気づき」を得る 画面の向こうを「物差し」として捉える
subroh0508
1
390
JAWS-UG/AWSコミュニティ アップデート (JAWS-UG函館支部)
awsjcpm
3
170
猟銃所持許可を取ってみた
kenkino
2
180
Azure PortalのQoLを上げてたら Big Techに怒られた
horihiro
2
610
How to make the Groovebox
asonas
2
2.3k
EmbeddingGemmaをDifyから使いたいけどAPI経由はつまらん #iotlt #gemma #dify
n0bisuke2
0
210
JAWS-UG 山梨 第10回 勉強会 Community Update
awsjcpm
0
1.1k
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
370
Skip the Path - Find Your Career Trail
mkilby
1
170
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.9k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.2k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
3
360
Into the Great Unknown - MozCon
thekraken
41
2.6k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
510
Side Projects
sachag
455
43k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Code Reviewing Like a Champion
maltzj
528
40k
Transcript
ボックススコアを⽤いた オールインワンメトリクス 作成⼿続き Sports Analyst Meetup #14 & JSAA Lab
LT会 vol.3 らんそうるい(@rnsr0371)
⾃⼰紹介 • らんそうるい • X→@rnsr0371 • Webサイト→ RNSR Lab. •
データ分析(主にバスケ)を投稿 • フリーランスのデータアナリスト • 「スポーツのデータなら私に任せろ」 と⾔えるようになりたい。 ↑ from ノーコピーライトガール
このLTの概要 • ボックススコアを⽤いたオールインワンメトリクスの作成⼿続 きを説明 • 作成⼿続きが公開済みのメトリクスの、最⼤公約数的⼿続きを説明 • ボックススコア:試合中のプレイを集計したもの • e.g.,
得点、リバウンド数 etc. • オールインワンメトリクス:貢献度を表現した単⼀の数値 • e.g., 100ポゼッションあたり+2点の貢献度 • 詳しくは、この連載の第3~5回をご覧ください
計算⼿続きの概要 1. ベースを作成 2. チームアジャストメントを実施 • マストではないが、よく使われる 3. 精度の確認を⾏う •
有識者にランキングの感想をもらう(定性的) • ホールドアウト検証やクロスバリデーションを⾏う(定量的) 4. 微調整する • 出場時間や出場ポゼッションを基に評価値を与えない選⼿を設定
計算⼿続きの概要 1. ベースを作成 2. チームアジャストメントを実施 • マストではないが、よく使われる 3. 精度の確認を⾏う •
有識者にランキングの感想をもらう(定性的) • ホールドアウト検証やクロスバリデーションを⾏う(定量的) 4. 微調整する • 出場時間や出場ポゼッションを基に評価値を与えない選⼿を設定 発表はこれらの内容が中⼼
計算⼿続きの概要 1. ベースを作成 2. チームアジャストメントを実施 • マストではないが、よく使われる 3. 精度の確認を⾏う •
有識者にランキングの感想をもらう(定性的) • ホールドアウト検証やクロスバリデーションを⾏う(定量的) 4. 微調整する • 出場時間や出場ポゼッションを基に評価値を与えない選⼿を設定
ベースを作成 • 「ベース」とは? • チームアジャストメントを加える前の、スタッツを重みづけて⾜し合 わせただけのデータ • Raw 〇〇と呼ばれることが多い(例:Raw BPM)
• 重みの決め⽅(概要) • J. Engelmann⽒のRAPMを教師データに、線形回帰を⾏なって重みを 決める
ベースを作成 • 今回はベースとしてEFFを使う • 𝐸𝐹𝐹 = 𝑃𝑇𝑆 + 𝐴𝑆𝑇 +
𝐵𝐿𝐾 + 𝑆𝑇𝐿 + 𝐹𝐷 + 𝑅𝐸𝐵 −(𝑇0𝑉 + 𝐵𝑆𝑅 + 𝑃𝐹 + 𝑚𝑖𝑠𝑠𝑒𝑑 𝐹𝐺𝐴 + 𝑚𝑖𝑠𝑠𝑒𝑑 𝐹𝑇𝐴) • 良いスタッツの量-悪いスタッツの量 • ベースとしてのEFFの特徴 • 得点(PTS)1点分とAST以降のプレイが等価値 • 出場時間が増えるとEFFも⾼くなる傾向
計算⼿続きの概要 1. ベースを作成 2. チームアジャストメントを実施 • マストではないが、よく使われる 3. 精度の確認を⾏う •
有識者にランキングの感想をもらう(定性的) • ホールドアウト検証やクロスバリデーションを⾏う(定量的) 4. 微調整する • 出場時間や出場ポゼッションを基に評価値を与えない選⼿を設定
チームアジャストメントを実施 • 𝑇𝑚𝐴𝑑𝑗 = 𝑇𝑒𝑎𝑚𝑀𝑎𝑟𝑔𝑖𝑛 − ∑ 𝐸𝐹𝐹 40 ∗
𝑀𝐼𝑁% /5 • 𝐴𝑑𝑗 𝐸𝐹𝐹 40 = 𝐸𝐹𝐹 40 + 𝑇𝑚𝐴𝑑𝑗 • チームアジャストメントを⾏うことで、Adj EFF 40のチーム内 総和がチームのシーズン総得失点差と整合的になる [チームのシーズン得失点差-(EFF 40*MIN%のチーム内総和)]/5 MIN%=チームの試合時間に占める選⼿の出場時間の割合
計算⼿続きの概要 1. ベースを作成 2. チームアジャストメントを実施 • マストではないが、よく使われる 3. 精度の確認を⾏う •
有識者にランキングの感想をもらう(定性的) • ホールドアウト検証やクロスバリデーションを⾏う(定量的) 4. 微調整する • 出場時間や出場ポゼッションを基に評価値を与えない選⼿を設定
精度の確認を⾏う(定量的) • ホールドアウト検証を⾏うなら…… 1. シーズンの試合データを訓練データ:テストデータ=8:2に分割 2. 訓練データだけを使ってAdj EFF 40 を計算
3. テストデータの各試合について 「各選⼿のAdj EFF 40/40分*出場時間」のチーム内総和を計算し、 対戦チーム同⼠で引き算することで、得失点差の予測値を得る 4. 得失点差の予測値と実際の得失点差のRMSEを取る
精度の確認を⾏う(定量的) • B1 2021-22レギュラー シーズンのデータで Adj EFF 40の精度を 確認すると、 •
RMSE=34.46 • (元の得失点差のSDは 18.32)
計算⼿続きの概要 1. ベースを作成 2. チームアジャストメントを実施 • マストではないが、よく使われる 3. 精度の確認を⾏う •
有識者にランキングの感想をもらう(定性的) • ホールドアウト検証やクロスバリデーションを⾏う(定量的) 4. 微調整する • 出場時間や出場ポゼッションを基に評価値を与えない選⼿を設定
微調整する • 訓練データで出場時間 が800分未満の選⼿の EFFを0と置き換えて計 算。 • RMSE=16.57 • (元の得失点差のSDは
18.32)
計算⼿続きの概要 1. ベースを作成 2. チームアジャストメントを実施 • マストではないが、よく使われる 3. 精度の確認を⾏う •
有識者にランキングの感想をもらう(定性的) • ホールドアウト検証やクロスバリデーションを⾏う(定量的) 4. 微調整する • 出場時間や出場ポゼッションを基に評価値を与えない選⼿を設定
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/