Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
【バスケ】ボックススコアを用いたオールインワンメトリクス作成手続き
Search
らんそうるい
October 28, 2023
How-to & DIY
600
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
サイボウズには100名以上の社員が出演する"夏フェス"があるって本当?
oguemon
1
990
10分de名コミュ “最高の自分”を演じ憧れの同業者と渡り合う
subroh0508
1
680
多摩.dev で草を食べる話をしたら カンファレンスに登壇していた / from-eating-weeds-to-a-conference
aokiplayer
1
620
私がカンファレンスのプロポーザルを書くときに考えていること
kotomin_m
1
800
What $10 Fake AirPods and a $30 Chip Decap Reveal About China's Semiconductors
takasumasakazu
0
140
5年間ぐらい、 スプリントレトロスペクティブは、 「+/Δ」しかしてないので、 あらためて良いのか悪いか考えてみる / Doing Plus Delta for about five years
camel_404
1
500
移動は善 / 20260124-NGK2026S
girigiribauer
1
220
「変えること」「変わること」を楽しむ力で"敵わない存在"と向き合う
subroh0508
2
3.5k
JAWS-UG/AWS Community Update
awsjcpm
0
320
Burnoutとの「対話」 〜 アジャイルコーチングを活用した、燃え尽き症候群を克服するスキル 〜 / Dialogue with Burnout by Using Agile Coaching Skills
hageyahhoo
0
1.1k
多摩ニュータウンを、 味わう
aokiplayer
2
820
あなたは何故コミュニティに参加するのか?
awsjcpm
3
440
Featured
See All Featured
Un-Boring Meetings
codingconduct
0
410
Building the Perfect Custom Keyboard
takai
2
870
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
530
Fireside Chat
paigeccino
43
4k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
450
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
202
76k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
490
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.8k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
400
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/