Lean Baseball

No Engineering, No Baseball.

ダルビッシュ有さんは今シーズン何勝するのか? - 39歳までの成績をデータサイエンスで予測してみました

プロ野球とメジャーリーグの開幕が待ち遠しい人です⚾

日米ともにオープン戦もはじまり, 球春が盛り上がってまいりました.

個人的には贔屓球団の動向*1がすごく気になるのですが,

full-count.jp

昨年34歳にして初の最多勝, サイ・ヤング賞を惜しくも逃した*2ダルビッシュ有選手がどれだけ成績を残すのか気になります.

f:id:shinyorke:20210307214032j:plain
このエントリーのテーマです(答えは後半にて)

というわけでこのエントリーでは今シーズンからサンディエゴ・パドレスに移籍したダルビッシュ有選手の,

  • 今年も含めた向こう5年間の成績を占う
  • 5年後(39歳)までに何勝積み上げるのか?
  • 今シーズンのダルビッシュ有さんを考える

というテーマでお送りいたします.

なお, あくまでもお遊びの実験・検証なので本気にしないようにしてください🙏

対象読者について

  • 基本的には野球ファン, 特にセイバーメトリクスやデータサイエンスが好きな方向けです
  • 考え方・手法は軽く触れます. 詳しく知りたい方は参考リンクをご覧いただけると幸いです
  • データで見る⚾・スポーツに抵抗があるかたはそっ閉じしたほうがいいかもです

TL;DR(要約すると)

ずっと先発ローテーションに残って勝ち続けるんじゃないでしょうか(あくまで予測ですが)

本日のスタメン

【先発】昨年のダルさん

まず昨年のダルビッシュ有さんの成績をふりかえりましょう.

太字はリーグ最多, 注意点としては, 2020年のメジャーリーグは60試合のみなので例年より数字が小さいです.

登板 勝利 敗戦 投球回 奪三振 被本塁打 与四球 防御率
12 8 3 76.0 93 5 14 1.99

ナ・リーグの最多勝を獲得, 他の成績も終盤までタイトル争いしてた程度に最高のシーズンでした.

Baseball Referenceなどで見られる細かいスタッツを見た感じだと,

  • 9イニングあたりの被本塁打数, いわゆる「HR/9」がメジャーリーグ入り以来最高の数字に. 2019年は1.7(9イニングあたり1.7本塁打打たれる)だったのが2020年は0.6で劇的に減った
  • 9イニングあたりの与四球数, いわゆる「BB/9」もメジャー入り以来最高に. 2020年は1.7(2019年は2.8, 2018年は4.7と比較的悪い数字だった).

高い奪三振能力を誇る投手ゆえ, 本塁打と四球に関する指標が良くない投手*3だったのですが, 昨年は被本塁打と与四球を劇的に改善(かつ奪三振率などは例年通り)した結果, メジャー屈指の先発投手としての成績を残せた, と言えそうです.*4

【中継ぎ】成績予測してみた

2020年のダルビッシュ有さんがすごいぞ!とわかったところで今年および5年先の成績を占います.

手法ですが, 昨年のPyCon JP 2020でやった野球選手の成績予測モデルをそのまま使いました.

shinyorke.hatenablog.com

この発表時点では打者の成績予測のみの対応でしたが, 投手もできるようにしました.

似ている選手を探す

ダルビッシュ有さんは現在34歳, 今シーズンで35歳になるので,

  • 似ている選手を探す
  • 似ている選手の35〜39歳の成績を出す
  • 上記成績をいい感じにサマリーしてやる

という手法で成績が予測できそうです.

似ている選手を探すタスクはこの方法をそのまま使いました(手前味噌).

shinyorke.hatenablog.com

データは2020年も含めた形で行いました.

予測成績を算出する

似ている選手が見つかった後,

  • ダルビッシュ有と同年代以上の投手
  • かつ右投げ
  • かつ先発投手

に該当する選手の35〜39歳の成績を抽出しました.

※この作業はBigQueryおよびpandasを使っています

f:id:shinyorke:20210307222147p:plain
似ている選手の成績

メジャーリーグ好きなら思わず「オッ」ってなる一覧ですね.

メジャーリーグ好きじゃなくても, Hiroki Kuroda とか Ryan Vogelsong とかお馴染みの選手がいますね.

驚いたのはダルさんと似ている選手, Roger ClemensCurt Schillingといった, 大物ばっかりということですね.

これをサマリーしてデータを作ります.

df2 = df[['age', 'G', 'GS', 'IP', 'IPouts', 'W', 'L', 'SV', 'H', 'HR', 'BB', 'SO', 'ER', 'R']].groupby('age').quantile(0.75).reset_index()
# 整数値を丸めてCSVに保存
for key in ('G', 'GS', 'IP', 'IPouts', 'W', 'L', 'SV', 'H', 'HR', 'BB', 'SO', 'ER', 'R'):
    df2[key] = round(df2[key])
# 必要な指標をまとめて計算
df2['ERA'] = (df['ER'] * 9 * 3)/ (df['IPouts'])
df2['HR9'] = (df['HR'] * 9 * 3)/ (df['IPouts'])
df2['SO9'] = (df['SO'] * 9 * 3)/ (df['IPouts'])
df2['BB9'] = (df['BB'] * 9 * 3)/ (df['IPouts'])

for key in ('ERA', 'HR9', 'SO9', 'BB9'):
    df2[key] = round(df2[key], 2)
df2.to_csv('../dataset/predict_faridyu2021.csv', index=False)

Flourishで可視化

いつもならこのままnotebookで可視化するのですが, 今回はブログとして公開するものなのでFlourishという可視化のサービスを使いました*5.

flourish.studio

CSVファイルをFlourishにアップロード, あとはグラフを眺めながらポチポチと調整していい感じにできました.

こんな感じで埋め込みでイケるので超便利です.

【セットアッパー】ダルさんが残しそうな成績(5年先)

というわけで, 35〜39歳, 今年から5年後までの予測成績です.

試合数・勝利・敗戦

安定して30試合前後は投げてくれるみたいです.

勝利数と敗戦数ですが, 37歳で負けが先行する展開になるっぽいですがそれ以外は貯金を稼いでくれそうです.

162試合あるメジャーのレギュラーシーズンではローテーション投手が30試合以上投げることが要求されるのですが, そこはクリアしてくれそうです.

被本塁打・与四球・奪三振

奪三振は120〜140前後の数字でした.

ダルビッシュ有さんは30試合以上投げるシーズンに限ると200個以上の三振を奪っているのですが, AIの予測的には「200も取れるわけなかろう」といってるようでした.

これは正直言って意外というかAIがかなり辛めに評価してそうな予感がします.

昨年は劇的に改善した被本塁打と与四球も今シーズン以降は元に戻るのでは的な評価をしています.

防御率・9イニングあたりのXX数

最後に防御率と, 9イニングあたりの本塁打(HR/9)・三振(SO/9)・四球(BB/9)を見ましょう.

防御率は3.4〜4.3の間に収まりそうです.

メジャーリーグだと先発2番手ぐらいの立ち位置です, チームのエースとしてはやや物足りないかも...

先ほど触れた「奪三振に対する評価が辛め」なのがSO/9にも出ています.

昨シーズンまでの通算SO/9が11.1(これはかなりすごい数字)なのですが, 35歳以降は最高で8.19, 39歳で5.44と衰えるのでは予想をしています.

これも正直評価が辛いな...

被本塁打(HR/9)については安定しそうです, 1.0前後ならローテーション投手として十分そう.

面白かったのが与四球(BB/9)で年々与四球が減って良くなるとAIは言っています.

成績表&通算何勝するのか?

最後に成績をならべてみました(2020年のみ現実で2021年以降は予測)

年度 年齢 登板 勝利 敗戦 投球回 奪三振 被本塁打 与四球 防御率
2020 34 12 8 3 76.0 93 5 14 1.99
2021 35 33 13 11 199.0 144 25 59 3.70
2022 36 33 12 10 193.0 132 22 54 3.79
2023 37 33 9 11 184.0 127 23 58 3.49
2024 38 32 14 10 202.0 148 22 57 3.85
2025 39 33 13 10 199.0 138 24 55 4.24

今シーズンから2025年までに積み重ねる(予定)の勝利数が61勝, これが実現するとメジャーリーグ通算で132勝(日米通算で225勝)となります.

2021年現在で日本人通算最多勝の野茂英雄さんが123勝なのでこの記録も交わすことになりそうです, 強い.

【抑え】今シーズンのダルさんは?

というわけで, データサイエンス・AI的な機械的手法で成績予測をしました.

今回の手法はまあまあ筋良いと自画自賛しているのですが,

  • 奪三振があまりにも下がり過ぎなのはイケてない. この辺は投球結果(Batted Ball*6)やトラッキングデータ*7で補正して求めていいかも.
  • ダルさんが今年からプレーするサンディエゴ・パドレスの本拠地は投手有利なのでパークファクター等で補正してもいいかも

などなど, いくつか穴があります.

この辺をもうちょっといい感じにできたらいいなって思っています.

また, データサイエンティストじゃない私(≒野球ファンな私)の視点だと, 少なくとも今年(35歳)は予測成績より全然良い成績残す気がしています.

本日(日本時間3/8朝)のオープン戦初登板では2回4奪三振無失点と相変わらず圧巻の投球をしていて衰えどころか進化すら感じます.

full-count.jp

また, 所属するパドレスは今シーズン補強しまくっていて(ダルさんもその一人でトレード移籍しました), 投打ともに充実しているチームなので援護はかなりアリそうな気がします.*8

...と考える・考察するとキリがないのですがそれぐらい野球のデータは楽しいので今シーズンもちょいちょい分析やっていこうと思います.

最後までお付き合いいただきありがとうございました!

もうすぐ⚾️の季節, エンジョイしていきましょう.

Appendix - 参考書籍・サイトなど

基本的な野球のデータサイエンス・分析はこの本がメッチャ参考になります.

Rによるセイバーメトリクス入門

Rによるセイバーメトリクス入門

今回の分析はPythonをめちゃくちゃ使っています.

改訂版 Pythonユーザのための Jupyter[実践]入門

改訂版 Pythonユーザのための Jupyter[実践]入門

この辺を使えれば同じようなことができると思います.

shinyorke.hatenablog.com

ガチで学びたい方はPyCon JP 2020の発表をご覧いただけると幸いです🙇‍♂️

*1:日本は日ハム, メジャーはアスレチックスで特にアスレチックスは今シーズン連覇とかイケるんじゃないかと期待してます.

*2:ちなみにナ・リーグのサイ・ヤング賞はトレバー・バウアーでした.

*3:これはダルさんに限らずですが奪三振が多い投手は, ゴロやフライを打たせるタイプの投手と比べて, 四球を出しやすくなります.

*4:これは言うまでもなくコントロールの改善をしつつ, 三振取れるボールを使ってる(あのおばけみたいなスライダーとか)からと言えそう. この辺はトラッキングデータを解析するとわかります(このエントリーではしていませんが)

*5:このサービスを知ったのは所属するJX通信社の大阪都構想特設サイトでした. 詳しくはテックブログをどうぞ.

*6:投球結果のデータのことで, 「ゴロがおおい」「フライ打球が少ない」みたいな分析ができます. Retrosheetというデータセットが有名.

*7:Statcastデータのこと. 球速や座標情報があるので投球内容・フレーミングの分析ができる

*8:懸念があるとするなら同じリーグ・同じ地区のドジャースがメッチャ強いことぐらいじゃないでしょうか.