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
画面の向こうから「気づき」を得る 画面の向こうを「物差し」として捉える
subroh0508
1
380
個人制作コンテンツの多言語展開のノウハウを全公開! 〜世界に自分を発信しよう!〜
syotasasaki593876
0
200
251011「ひとりより、みんなで!」 九州の支部で始めた、新しい連携のかたち
east_takumi
2
170
生成AIは 『コードを書く』だけじゃない アーキテクチャ設計から環境構築まで——社内データ活用DXの全貌
punipuni_mint
0
210
AWS Community/JAWS-UG Update - JAWS-UG 上越妙高支部リブート
awsjcpm
2
130
JAWS/AWS Community Updates - JAWS-UG新潟 #29
awsjcpm
1
140
登壇資料を素早く作るための順番
kotomin_m
8
2.2k
終わりのない会議を超えて:HolacracyのTactical Meetingを体験しよう!
andrearc
0
260
ROSAというLLM使ったROSエージェントをおもちゃに実装してみた話
takeofuture
0
240
JAWS-UG/AWS Community Update 2026年6月20日JAWS-UG FUKUOKA #26 JAWS DAYS 2026 re:Cap! おつかれせいけしろー
awsjcpm
0
100
エッジで動くNode-REDを作る実験 #noderedjp #noderedcon
n0bisuke2
0
610
LLMを「機能」として組み込む技術:「Figma to はてなCMS」におけるプロンプトエンジニアリングからAIエージェント構築にわたる精度向上の軌跡
nanimonodemonai
0
550
Featured
See All Featured
Become a Pro
speakerdeck
PRO
31
6k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
970
The Curse of the Amulet
leimatthew05
2
13k
HDC tutorial
michielstock
2
740
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
190
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
220
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Site-Speed That Sticks
csswizardry
13
1.3k
Bash Introduction
62gerente
615
220k
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/