Tommyball

コンセプトは「スポーツ×○○」。スポーツに関連するいろいろなものを書いていきます。

末端エンジニアが機械学習でプロ野球の年俸予測に挑む vol. 0

大学の専攻も情報系だったゆえか、仕事で今世間で騒がれているAIやIoTといった領域に関わることもあるのだが、先日こんなものを見つけた。

 

Datasets | Kaggle

 

下の方にスクロールしてみると…

Predict NHL player salaries

とある。

 

…(´⊙ω⊙`)<機械学習でNHL選手の年俸を予測するのか…

 

…(´⊙ω⊙`)<これ、プロ野球にも応用できるんじゃないか?

 

そんなわけでPythonでやってみた

 

…と、言いたいところなのだが、まずはデータセットの準備からしないといけない

 

ちなむと中の人はPythonは「触ったことがある」程度の実力だ。他の言語も決して経験豊富なわけじゃないし、正直、プログラミングが得意かと書かれると、全くそんなことはない。

とはいえ、自分の勉強にもなるし、「プログラミングで○○がしたい!」って思ったらネットにサンプルコードがゴロゴロ転がっている時代だ。

こんな面白いデータがあるわけだし、やってみようじゃないかと思った次第。

 

とはいえ、データもロクにないところなので、まずどんなデータが必要なの、というところから考えてみることとする。

 

1. 選手の年俸データ 

→ まあ当然だよね。過去の成績に関しては、「この年にこんな成績で、これだけの年俸になった」というデータにもなる。

 

2. 選手成績

→ たぶんここが一番難しい。投手なら登板数、打者なら打率・本塁打・打点・盗塁あたりのベタな数字から始めるべきか。

おそらくゴールデングラブ賞や、ベストナイン、○○王等のタイトル・表彰も影響するはず。単純な数字もそうなのだが、チーム内・リーグ内での傑出度も大きなバロメーターになるはず。

MLBなら、WARから選手価値を計算する (=1WARは○○MUSD相当) こともあるゆえ、もしかしたらMLBのデータを参考にするといいかもしれない。

 

3. FAまでの年数

当然一軍での活躍年数が長いほど年俸も上がりやすいと言っていいだろう。

そりゃ、今年始めて30本塁打打った人と、ここまで10年連続30本塁打打った人なら年俸にも差が出る。

 

まずはこの辺かな。必要に応じてデータ追加とかも考えて行くべきかと。

最後に書いた年数の話を考慮すると、どちらかというと年俸の上昇率を予測するほうが正しいのかもしれない。

あとは、同じ成績でも、球団ごとのお財布事情やチーム順位で数字も大きく変わるはず。なので特定の球団に絞るのも最初はいいかもしれない。

また、今年の丸佳浩への提示額を見ていると、FA選手はインフレするのは明らかなので、序盤はFA獲得選手を弾くのはありかもしれない。

 

そして、おそらくだが、FAが近くなると、複数年契約するかどうか、といった要素も入ってくるはず。それゆえ、複数年契約する確率や、単年契約の場合の年俸複数年契約した場合の年数や年俸まで予測できたらいい感じじゃないだろうか。

 

と、色々書いてみたが、現在はデータもコードもない状態なので、上のリンクの、NHLのデータを使ってコード書いてみようかな…

 

なにかと難しそうだが、この辺を考えること自体は楽しい。

そんなわけで次回に続く。次がいつになるかは不明だけど。