Posted at

【プロ野球】清宮の3年後の打撃成績を予測する

More than 1 year has passed since last update.


はじめに

2018年のプロ野球レギュラーシーズンも残りわずかです。

今年は悪天候による中止が多く、クライマックスシリーズ初日にまだレギュラーシーズンの試合をやっているという不思議な年になりました…。

今年の注目は、なんと言っても野手最多タイ7球団競合の清宮幸太郎選手。現在の1軍成績は、あと2試合を残し、「.200 7本塁打 18打点」となっています。ルーキーにしては十分な活躍ではありますが、まだ打線の主軸を張れるような成績ではありません。当初の期待が大きすぎたために、イマイチなイメージを持たれている方も多いのではないのでしょうか。

ということで、清宮は今後ファイターズの4番を打てるような打者になるのかを、機械学習で予測してみたいと思います。


手法

ランダムフォレスト(回帰)


データ

プロ野球データFreakさんのデータをスクレイピングして利用させていただきました。

2009年以降のデータがあるようなので、3年後の成績が判明している2009~2014の6年間の野手ルーキーのデータを学習させることで、予測モデルを構築します。

またルーキーが初年度から1軍に出場する機会は少ないので、1軍成績とファーム成績の両方を学習させることとします。項目は以下の通りです。


  • 打率

  • 試合数

  • 打席数

  • 打数

  • 安打

  • 本塁打

  • 打点

  • 盗塁

  • 四球

  • 死球

  • 三振

  • 犠打

  • 併殺打

  • 出塁率

  • 長打率

  • OPS

  • RC27

  • XR27


予測結果

2021年 清宮幸太郎

64試合

.240

54安打

6本塁打

28打点

出塁率 .297

長打率 .361

OPS .658

おぉ…。なんかリアル感がすごい…。


特徴量の重要度

ランダムフォレストでは特徴量の重要度を算出することができます。

今回は目的変数を3年後のホームラン数とした時の各説明変数の重要度をグラフ化してみました。

kiyomiya.png

圧倒的に伸びているのは、2軍の試合数でした。期待されている選手ほど、出場する試合数が多くなるからでしょうか。もしくは試合の経験を多く積むほど、成長できると考えられます。

次に多いのは1軍の三振数でした。高卒ルーキーで1軍に出場することは難しいため、初年度から1軍で経験を積める選手は実力があるということでしょうか。

そのほかだと2軍の四球数が上位となっており、選球眼も求められているようです。

私は安打数、打率、本塁打数など、打撃の実力を直に表す指標が上位にくると考えていたため、この結果をちょっと意外でした。


予測精度

テストデータでの決定係数は概ね0.2~0.4程度でした。

ただし全体のデータ数が少なく、テストデータの分割具合によって大きく変動してしまうので、あまり意味のない数字かなと思います。


課題


  • データ不足

    圧倒的にデータが足りていないので、学習データセットが少し変わるだけで結果に大きく影響が出てしまいます。NPB公式HPを見たところ、2005年までならば成績があったので、データを増やせそうです。それ以前のデータについても、プロ野球の歴史は当然長いので、文献など探せばあるんでしょうが、そこまでやる気力は無く…


  • 説明変数の正当性

    今回の学習データでは、例えば「試合数」と「打席数」など、説明変数同士で相関がある項目が多いです。重回帰分析では多重共線性が高まり良くないようですが、ランダムフォレストだとどうなんだろうか。どちらにしろ説明変数の項目はもう少し精査する必要がありそうです。


  • 説明変数の不足

    ドラフト指名順位、所属チーム、守備ポジションなど、追加する余地のある変数は多そうです。



コード

汚いですがひとまず置いておきますので、もし興味のある方がいらっしゃいましたらご覧ください。

https://github.com/Sinhalite/kiyomiya


おわりに

高卒野手がいきなり1軍で結果を残すのは、そう簡単なことではありません。もちろん山田哲人、鈴木誠也、大谷翔平のようにすぐに活躍する選手もいますが、大半の選手は出場機会すら十分に得るのが難しいでしょう。ベイスターズの主砲・筒香も活躍し始めたのは5年目からでしたし、過度にプレッシャーをかけず、気長に見守るのがいいのではないでしょうか:angel_tone1:

少しでもこの記事が参考になる、面白いと思ったら、いいねボタンをクリックしていただけると幸いです:bow_tone2: