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

Sports Anylyst Meetup vol12 LT資料

Takayoshi Makabe
December 10, 2021

Sports Anylyst Meetup vol12 LT資料

Takayoshi Makabe

December 10, 2021
Tweet

More Decks by Takayoshi Makabe

Other Decks in Research

Transcript

  1. 自己紹介 趣味はダンスとプロ野球観戦、データサイエンティストとして仕事してます プロフィール • 沖縄県那覇市に生まれる(意外と都会) • 小学生の時に宮古島へ転校(ど田舎、全国生 徒80名、現在は廃校の小学校) • 偉大なるチームメンバーのおかげでミニバスの

    全国大会(初めての電車!初めての渋谷!) • 上手くないのに勘違いしてバスケに没頭 • 高校で挫折してダンス始める • 上手くないのに勘違いしてダンスに没頭 • 現在、ダンスは趣味程度に(本当はもうちょっ と時間増やしたい) • 現在はデータサイエンティストとして働いてい ます Twitter • @Takayoshi_maでやってます! • どうでもいい呟きがメインですが、シーズン中 はプロ野球のこと、(たまーに)エンジニリン グやKaggleのことをつぶやいています。 • もしよろしければお友達になってください。 好きなプロ野球チーム • 埼玉西武ライオンズ 今年の9月にNPB Data Visualization という名前でプロ野球の可視化 サイトを作りました。是非遊び に来てください。
  2. シーズンスケジュールの確認(手法) 前後半、及び曜日毎に分けて対戦チーム数をカウントする 曜日毎にカウントする理由 前後半に分けてカウントする理由 以下のシチュエーションをCチームの立場で考える • 球宴休みを利用した先発ローテの大きな再編が可能 • そのタイミングでaとbの登板曜日をチェンジするのが最適 •

    単純計算だと平等だが、実質これは不平等 - vs Aチーム - 前半戦(火4, 水4, 木4) - 後半戦(金4, 土4, 日4) - vs Bチーム - 前半戦(金4, 土4, 日4) - 後半戦(火4, 水4, 木4) スケジュール - 先発a - Aキラー - 先発b - Bキラー 自チーム先発 • パ・リーグでは多くのチーム が現状中6日ローテを実施 ◦ 言い換えるとほとんどの 投手が投げる曜日を固定 している • そこで、曜日毎に対戦チーム 数をカウントし、その数に偏 りが見られた場合、それが対 戦投手数に不均衡が存在する 要因となりうる
  3. 登板機会の再分配について 対戦回数の偏りを無くした新たな先発ローテを以下の手法で作成する 手順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カード 全ての先発投手を決定する
  4. 勝敗の決定について 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実績をそのまま採用する
  5. 取り敢えずランダムに3シーズン 順位変動は大きいものの実感とさほど変わらない結果に 尚、今シーズンの成績と最も近しいシーズン 2について、ソフトバンクvsオリックス、及 び西武vsオリックス(計25 試合 x 2)に対し て、登板した両チームの先発投手と対戦ス コアを確認してみた結果、、、

      オリックス 9   勝 VS    ソフトバンク 13勝   オリックス 9   勝 VS    西武 13勝 と実は両チームともオリックスに対して勝 ち越す結果に、、、(とは言え両チームと も山本由伸投手相手には1勝もできません でした) これは策士中嶋監督敢えて両チームに山本 由伸をぶつけてきたか?(ただの妄想) 詳細な対戦結果は Kaggle Notebook を参照し てください
  6. 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回