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
Sports Anylyst Meetup vol12 LT資料
Search
Takayoshi Makabe
December 10, 2021
Research
2.2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Sports Anylyst Meetup vol12 LT資料
Takayoshi Makabe
December 10, 2021
More Decks by Takayoshi Makabe
See All by Takayoshi Makabe
第2回 関東Kaggler会 LT
takayoshimakabe
0
2.7k
Other Decks in Research
See All in Research
Cross-Media Information Spaces and Architectures
signer
PRO
0
300
オーストリア流 都市の公共交通サービス水準評価@公共交通オープンデータ最前線2026
trafficbrain
0
180
LLM Compute Infrastructure Overview
karakurist
2
1.4k
コーディングエージェントとABNを再考
hf149
2
710
羽田新ルート運用6年の検証
1manken
0
160
Model Discovery and Graph Simulation: A Lightweight Gateway to Chaos Engineering
anatolykr
0
190
LLM の Attention 機構まとめ — 数式・計算量・メモリ
puwaer
8
2.1k
さくらインターネット研究所テックトーク2026春、研究開発Gr.25年度成果26年度方針
kikuzo
0
150
計算情報学研究室(数理情報学第7研究室)2026
tomohirokoana
0
530
NLP colloquium: AI Safety Survey
kanekomasahiro
0
550
LLMアプリケーションの透明性について
fufufukakaka
0
230
「AIとWhyを深堀る」をAIと深堀る
iflection
0
480
Featured
See All Featured
Fireside Chat
paigeccino
42
3.9k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
200
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
540
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
Leo the Paperboy
mayatellez
7
1.8k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
The untapped power of vector embeddings
frankvandijk
2
1.8k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
Rails Girls Zürich Keynote
gr2m
96
14k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
440
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
Transcript
メインタイトル サブタイトル aaa bbb aaa ソフトバンクと西武は実はもう少し強かった? シーズン日程が与える影響について考察するために1万年分シミュレーションしてみた @Takayoshi_ma Sports Analyst
Meetup #12
※ここから先、オンライン発表とのこと でスライドの文字が若干小さめになって おります。予めご了承ください。
Who am I?
自己紹介 趣味はダンスとプロ野球観戦、データサイエンティストとして仕事してます プロフィール • 沖縄県那覇市に生まれる(意外と都会) • 小学生の時に宮古島へ転校(ど田舎、全国生 徒80名、現在は廃校の小学校) • 偉大なるチームメンバーのおかげでミニバスの
全国大会(初めての電車!初めての渋谷!) • 上手くないのに勘違いしてバスケに没頭 • 高校で挫折してダンス始める • 上手くないのに勘違いしてダンスに没頭 • 現在、ダンスは趣味程度に(本当はもうちょっ と時間増やしたい) • 現在はデータサイエンティストとして働いてい ます Twitter • @Takayoshi_maでやってます! • どうでもいい呟きがメインですが、シーズン中 はプロ野球のこと、(たまーに)エンジニリン グやKaggleのことをつぶやいています。 • もしよろしければお友達になってください。 好きなプロ野球チーム • 埼玉西武ライオンズ 今年の9月にNPB Data Visualization という名前でプロ野球の可視化 サイトを作りました。是非遊び に来てください。
分析の概要と手法
本分析の動機 … ライオンズの強さはこんなものじゃないはず と自分に言い聞かせるためです 日刊スポーツ 2021.10.27 記事より 悲痛なファンの叫び、、、 監督自らの愚痴、、、
日程の歪さについて 日程の歪具合が対戦投手の不平等感をもたらす主要因となっている すごく大雑把に抽象化すると、対戦投手回数の不均衡度は以下のように表現できる 対戦投手回数の不均衡 = ①変則日程の影響 +
②チーム毎の相性による登板間隔の調整 + ③シーズンを通しての戦略 近年は①が最も大きなファクターであると個人的に感じている
シーズンスケジュールの確認(手法) 前後半、及び曜日毎に分けて対戦チーム数をカウントする 曜日毎にカウントする理由 前後半に分けてカウントする理由 以下のシチュエーションをCチームの立場で考える • 球宴休みを利用した先発ローテの大きな再編が可能 • そのタイミングでaとbの登板曜日をチェンジするのが最適 •
単純計算だと平等だが、実質これは不平等 - vs Aチーム - 前半戦(火4, 水4, 木4) - 後半戦(金4, 土4, 日4) - vs Bチーム - 前半戦(金4, 土4, 日4) - 後半戦(火4, 水4, 木4) スケジュール - 先発a - Aキラー - 先発b - Bキラー 自チーム先発 • パ・リーグでは多くのチーム が現状中6日ローテを実施 ◦ 言い換えるとほとんどの 投手が投げる曜日を固定 している • そこで、曜日毎に対戦チーム 数をカウントし、その数に偏 りが見られた場合、それが対 戦投手数に不均衡が存在する 要因となりうる
シーズンスケジュールの確認(結果) 前後半に分けてスケジュールをチェックした結果、偏りを確認できた … やはりかなり偏ってる印象 後半戦おかしくない??(怒)
シミュレーション方法 シミュレーションの流れは大きく分けて以下の2つ 1. チーム毎に対戦投手のばらつきが出 ないよう、登板機会を再分配 2. 試合の勝敗(獲得点数)は実績を ベースにランダムに決定 対戦投手の不均衡による影響のみ、考慮したい →
実績ベースの獲得点数で勝敗を決定
登板機会の再分配について 対戦回数の偏りを無くした新たな先発ローテを以下の手法で作成する 手順1 先発の登板実績を集計 山本23, 宮城20, … 123計 手順2 手順1の実績を元に対戦チームを均等割り振り
山本01 vs千葉 山本02 vs東北 山本03 vs福岡 山本04 vs北海 山本05 vs埼玉 … 山本23 vs福岡 宮城01 vs北海 宮城02 vs埼玉 … シミュレーション毎に先頭 (左の例では千葉)を一つ ずつシフトしていく 以下のような連想配列の形でデータを保持 { “orix”: { “vs lotte” : [“ ” 山本 , “ ” 山本 , …], “vs rakuten”: [“ ” 山本 , “ ” 山本 , …], … 手順3 左で生成した連想配列を元に両チームの対戦投手を 決定 例)2021年3月26 日 西武vsオリックス開幕ゲーム 作成した連想配列からランダムに2つの値を取り出す 連想配列.”orix”.”vs lions” 連想配列.”lions”.”vs orix” 山本由伸 高橋光成 vs 上記のような流れで125 試合 x 3 = 375カード 全ての先発投手を決定する
勝敗の決定について 2021実績値とランダム要素を元に勝敗を決定した 手順1 先発の失点実績を集計(※先発自責点などでなくあ くまでもリリーフを含む1試合トータルの失点) { “orix”: { “ ”
山本 : { “vs lions”: [4, 2, 6, 3, 3, 1, 1, 0], … “lions”: { “ ” 高橋 : { “vs orix”: [3, 1, 4], … 連想配列.”orix”.” ” 山本 .”vs lions” 手順2 手順1の実績からランダムに失点数を決定 連想配列.”lions”.” ” 高橋 .”vs orix” 3 3 ※ 上記の場合、引き分けとなる ※ 選択された投手と対戦チームの2021実績が存在しな い場合、対戦チーム同士の実績からランダムに選択す る ※ 尚、交流戦に関してはシミュレーション対象に加えず、2021実績をそのまま採用する
結果 → ソースコードはこちら NPB2021-simulation(10,000times) [KaggleNotebook]
取り敢えずランダムに3シーズン 順位変動は大きいものの実感とさほど変わらない結果に 尚、今シーズンの成績と最も近しいシーズン 2について、ソフトバンクvsオリックス、及 び西武vsオリックス(計25 試合 x 2)に対し て、登板した両チームの先発投手と対戦ス コアを確認してみた結果、、、
オリックス 9 勝 VS ソフトバンク 13勝 オリックス 9 勝 VS 西武 13勝 と実は両チームともオリックスに対して勝 ち越す結果に、、、(とは言え両チームと も山本由伸投手相手には1勝もできません でした) これは策士中嶋監督敢えて両チームに山本 由伸をぶつけてきたか?(ただの妄想) 詳細な対戦結果は Kaggle Notebook を参照し てください
取り敢えずランダムに3シーズン(補足) ホークス・ライオンズともにオリックスに勝ち越すという妄想が爆誕しました
10,000回シミュレーション結果 王者ソフトバンクの強さが際立つ結果に ◦ 第一位 福岡ソフトバンクホークス 順位期待値2.04位 優勝 4,285
回 2 位 2,805 回 3 位 1,652回 4 位 821 回 5 位 344 回 最下位 93回 ◦ 第二位 オリックスバファローズ 順位期待値2.35位 優勝 3,234 回 2 位 2,891 回 3 位 1,917回 4 位 1,247 回 5 位 559 回 最下位 152回 ◦ 第三位 千葉ロッテマリーンズ 順位期待値3.18位 優勝 1,343 回 2 位 1,979 回 3 位 2,509回 4 位 2,316 回 5 位 1,408 回 最下位 445回 ◦ 第四位 東北楽天ゴールデンイーグルス 順位期待値3.55位 優勝 867 回 2 位 1,584 回 3 位 2,264回 4 位 2,545 回 5 位 1,948 回 最下位 792回 ◦ 第五位 埼玉西武ライオンズ 順位期待値4.44位 優勝 234 回 2 位 631 回 3 位 1,308回 4 位 2,206 回 5 位 3,587 回 最下位 2,034回 ◦ 第六位 北海道日本ハムファイターズ 順位期待値5.44位 1 位 37 回 2 位 110 回 3 位 350回 4 位 865 回 5 位 2,154 回 最下位 6,484回
終わりに 日程均衡化後、ライオンズのCS出場確率はおよそ二割強だった 来年こそは日本一!!