見出し画像

杉谷拳士選手に打率を統計的に分析したらリアルすぎた

※この分析は野球でデータ分析することの面白さを重視した内容です。
 分析結果が必ずしも全て正しいことはいえませんのでご了承ください。
 野球データで楽しんでもらえれば幸いです。

プロ野球もシーズンが終わりに近づいてきました。
今年も杉谷選手はたくさんの笑いと感動を与えてくれました。
杉谷選手はそのパフォーマンスから知名度は高い?ですが、本来のポテンシャルが気になるところです。
そこで、今回は野手ではまず目を向ける打率について統計的に分析します。

分析内容

野手の成績には数多くありますが、バッティングでまず触れる打率の平均値を推定をしていきます。
杉谷選手の1軍での試合出場をし始めた2011年から2019年の成績をもとに打率の平均値がどの範囲に収まるかを推定します。

手法

杉谷選手の打率の平均を推定する方法は、平均値の区間推定を行います。
区間推定というとピンとこないかも知れませんが、簡単に杉谷選手の打率が大体この範囲に収まるよね、ということを統計的に求めていきます。
打率の平均値の範囲を推定するためには、扱うデータの分布を仮定しなければなりません。
打率の分布がどのような分布かでどの手法を使うべきかは本来決まってきます。
しかし、打率の分布が正規分布かどうかを議論している間に本来行いたい区間推定に行き着くまでに記事1本分以上の内容が入ってきては、知りたいこともしれないので、正規分布を仮定します。

実際に10年分のプロ野球選手の野手成績の打率の分布を見ても2割5部くらいを中心にばらけてるので正規分布として扱います(ちょっと苦しいけどねw)。

打率分布

10年間の1軍のプロ野球選手の打率ヒストグラム


そうすると、打率は正規分布にし違うとして、平均値の区間推定をする際に杉谷選手の打率はt分布に従うことにできます。
このt分布に従った際に杉谷選手の2011年から2019年の打率成績とt分布を用いて、打率の平均値がどのくらいの範囲か推定します。

推定する際にもう一つ決めておくことがあります。
何%の信頼区間にするかです。
信頼区間はこの値の範囲で収まるよね、というところです。
この信頼区間が95%、つまり95%の信頼区間であれば、区間推定して求められた値は95%の確率でこの値の範囲で収まることが言えます。
今回は95%の信頼区間で推定します。

結果

推定すると結果は、

0.184 < x < 0.248

になります。
(プログラムと手計算とでは計算誤差が若干ございます。)
t分布の信頼区間の値を調べて計算していく作業になるのでなかなかどのようなことをやっているか表現するのは難しいですw
参考に手計算でもできるデータ量ですので、その計算結果を載せます。

平均打率推定_手計算

A4用紙1枚くらいでできます。
ちなみにpythonのコードでかくと、統計解析のライブラリscript.statsがありますので20行足らずで終わります。

import statistics
from scipy import stats
import math
sugiya = pd.read_csv('sugiya_kenshi.csv')
data = sugiya['打率'].to_list()
n = len(data) #サンプルサイズ 
mean = statistics.mean(data)
variance = statistics.variance(data)
se = math.sqrt(variance/n) #標準誤差 
Degree_of_freedom = n - 1

bottom, up = stats.t.interval(alpha=0.95, loc=mean, scale=se, df=Degree_of_freedom)
print('{:.3f} < x < {:.3f}'.format(bottom, up))

結果を見ると、95%の確率で2割1分8厘から2割4分8厘の範囲で平均打率が落ち着く結果になりました。
これは杉谷選手の打率から見た能力は2割前半台と言えるでしょう。
1試合に1本の安打を打ってくれるかくらいになりますのでもう一つ安打を打てるようになって欲しいところです。

今シーズンの(2020年11月8日現在)打率成績0.221と比較しても区間推定の値の範囲に収まっています。
妥当な結果と言えそうです。
この推定結果を覆す、成績を来年は期待しましょう!

まとめ

統計的には杉谷選手の打率は大体2割前半台で落ち着くでしょう!
2割後半の打率を出してくれば攻撃面でもさらに活躍が期待されレギュラーに近づくかもしれません!

今回の分析に使用したデータとコードはこちら(有料)

今回使用したプログラムとデータはこちらにあります。
Pythonで区間推定する場合どのようなコードは書くか興味ある人はぜひダウンロードしてください。

ここから先は

35字 / 2ファイル
この記事のみ ¥ 200

よろしければサポートをよろしくお願いします。サポートいただいた資金は活動費に使わせていただきます。