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

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回