プロ野球における得点と勝利の関係

みなさん。こんにちは!とーらすです。
今日は桜花賞でしたね。私は本命ドゥアイズで爆死しました。にしてもリバティーアイランド強すぎでしたね。オークスも余裕勝ちするでしょうね。

というわけで本題はここからです。私はデータサイエンティストとして働いていて、スキルをつけるためにもkaggleとかに参加しようと思ってはいるんですけど、なかなかやる気でないんですよね。
何でやる気出ないか考えると理由は単純で、kaggleコンペによくある購買予測とか需要予測とかのタスクに興味がないんですよね。
じゃあ、自分が興味のある分野のデータ分析をしたらいいのでは?と思い、早速「Rによるセイバーメトリクス入門」という書籍を購入し、野球データの分析に関して勉強し始めました。これから、勉強した内容をnoteで投稿していきたいと思います。

当たり前のことを言いますが、野球の試合で勝つためには、相手チームより得点を多く取る必要があります。つまり、得失点差($${得点数-失点数}$$)が大きいチームほど、たくさん勝利しているという仮説が立ちます。その仮説を確認するために、得失点差と勝率($${\frac{勝利数}{(勝利数+敗戦数)}}$$)の関係を確認してみましょう。

よし、じゃあプロ野球のデータをネットからダウンロードして分析しよう!と思ったんですが、プロ野球のデータはあまり整理されてないんですよね。(MLBのデータは、csv形式とかで整理されているのに)もちろんcsv形式のデータが存在するわけもなく、このサイトを参考にスクレイピングをして2009年から2022年までのプロ野球のデータを取得しました。

では、データ分析を始めましょう。利用するデータはこんな感じです。(何年のデータかを判別できるように「year」というカラムを追加しています。)

プロ野球のデータ(2009年〜2022年)

これで、2009年〜2022年までのプロ野球12球団のデータを扱えるようになりました。では、得失点差(Run difference)と勝率(Winning Percentage)の散布図を確認してみましょう。

得失点差と勝率の関係

まさか、得失点差と勝率にこれほどまで線形な関係があるとは思いもよりませんでした。やはり、得失点差が大きくなればなるほど、勝率も上昇していくという仮説は正しかったです。

次に、得失点差と勝率が線形関係にあるので線形回帰をしてみます。これにより、得失点差から勝率を予測できるようになります。

線形回帰

線形回帰の結果、 $${勝率= 0.000754\times得失点差 + 0.500059}$$となりました。もし得失点差が0ならば、勝率5割になります。(確かに、それっぽい)また、得失点差が60の時の勝率が0.545で78勝に相当し、得失点差が70の時だと勝率が0.552で79勝に相当することから、得失点差が10点増えるごとに、1勝増加すると考えられます。10得点が1勝というのはここからきているんですね。

ここからは余談で、セイバーメトリクス(野球においてデータを統計学的見地から客観的に分析し、選手の評価や戦略を考える分析手法)の父と呼ばれるBill Jamesさんは、ピタゴラス勝率と呼ばれる勝率を推定する非戦形式を経験的に導出したそうです。その式は、$${勝率 = \frac{得点数^2}{得点数^2 + 失点数^2}}$$です。ピタゴラス勝率だと極端な例に対応できます。例えば、全試合1対0で勝利するチームがあるとします。この場合、得失点差が143、勝率が1になるはずですが、上の線形式だと勝率0.608という結果になりますが、ピタゴラス勝率だと勝率1と正しい結果を予測できます。ありそうもない稀なシナリオで、ピタゴラス勝率は正しい勝率の推定値を出してくれます。

これまで、得失点差と勝率の関係を調べましたが、これ何に使えるんでしょうか?まさにオフの補強に使えますよね。今シーズンの優勝チームとの勝率の差から、優勝に必要な得点数がわかりますよね。じゃあその得点数を補うための選手を獲得すればいいわけです。例えば、2011年5位に終わったオリックスと首位ソフトバンクの勝率の差は約0.15であるため、線形式を用いると205得点足りなかったことがわかります。というわけで、李大浩選手と許銘傑投手を獲得したわけですが、李大浩選手(当時韓国ロッテの4番打者)で100打点を見込み、許銘傑選手(当時西武のリリーフ)で失点を10減らせると見込んだとしても、95点足りないんですよね。(結果的に2012年は最下位でした)村田修一選手(当時横浜の4番打者)や杉内俊哉選手(当時ソフトバンクのエース)をFAで獲得できていれば変わっていたかもしれません。(獲得資金がそれなりにかかりますが)

というわけで、今後もこんな感じでプロ野球のデータ分析結果をnoteでまとめていきたいと思います!


この記事が気に入ったらサポートをしてみませんか?