【ディリクレ分布の使い方】日ハム清宮の長打力をExcelで視覚化してみる
野球専門メディア「Full-Count」に、今年の日ハム清宮は「安打の半数以上が長打」というプロ野球史上でも稀な成績を残しているという記事が載っていました。
清宮幸太郎、「OPS」はリーグ3位 岡本和真や佐藤輝明を上回る“異次元”の長打力
今年清宮が放っている39安打のうち単打は15本だけで、残りはすべて長打(二塁打か三塁打か本塁打)だというのです。
まだ打数が少ないものの、このままシーズンを通して長打が単打を上回ると、2009年の西武中村剛也(単打57、二塁打37、三塁打1、本塁打48)以来の特異な記録になるそうです。
そこで、この特異な記録をディリクレ分布で視覚化してみました。
ディリクレ分布とは聞き慣れない言葉ですが、多項分布の共役事前分布としてベイズ推定で用いられる重要な分布です。
直感的に理解しにくい確率分布のうちの一つですが、清宮の長打力でこれを克服しましょう。
ディリクレ分布とは?
AさんとBさんの二人がじゃんけんをする場面を考えます。
二人ともグー、チョキ、パーを出す確率が1/3で等しい場合、Aさんが勝つ確率は1/3、負ける確率も1/3、あいこの確率も1/3になります。
当然、Bさんから見ても、勝ち、負け、あいこの確率は同じです。
ところが人にはそれぞれ癖があります。
この癖によって勝ち、負け、あいこの確率は微妙に変わってくることは想像できると思います。
今、仮に30回じゃんけんをして、10回勝って、8回負けて、12回あいこだったとします。
この場合、
勝つ確率=10/30=1/3
負ける確率=8/30=4/15
あいこの確率=12/30=2/5
と考えるのが自然です。
ここで、
(勝つ確率)勝った回数×(負ける確率)負けた回数×(あいこの確率)あいこの回数
を計算してみます。
すると、
(1/3)10×(4/15)8×(2/5)12
=7×10-15
になります。
でもたった30回の勝負で勝ち、負け、あいこの確率を決めるのは危険です。
勝ち、負け、あいこの確率がすべて1/3と推定する人もいるでしょう。
この推定確率で先程と同じ計算をしてみると
(1/3)10×(1/3)8×(1/3)12
=5×10-15
になります。
少し小さくなりましたね。
では勝ち、負け、あいこの確率が1/3、1/6、1/2と推定した場合はどうでしょうか?
計算してみると、
(1/3)10×(1/6)8×(1/2)12
=2×10-15
になります。
更に小さくなりましたね。
実はこの計算値は、「それぞれの推定確率の確からしさ」を表しています。
30回じゃんけんをして勝ち=10回、負け=8回、あいこ=12回になった場合、
勝ちの確率=1/3、負けの確率=4/15、あいこの確率=2/5と推定するのが最も確からしいということです。
このように言うと「そんなの当たり前じゃないか」と思うかもしれませんが、確からしさを数値で表せるところがミソです。
推定確率の組み合わせは無数にありますが、それらの確からしさを計算して、それをグラフにすることによって視覚化することができます。
そしてこの推定確率の確からしさの分布こそがディリクレ分布です。
式で書くと次のようになります。
1回の試行でn通りの結果が起こりうる時、何回か試行してそれぞれα1回, α2回, ・・・, αn回起こったとします。
この時、それぞれが起こる確率の組(x1, x2,・・・,x n)の確からしさは、
f(x1, x2,・・・,xn)=Cx1α1x2α2・・・xnαn
で計算できます。
色々な確率の組(x1, x2,・・・,x n)に対して1つの数値が決まる関数になっています。
(但し、この確率の組は x1+x2+・・・+x n=1を満たす必要があります)
この確からしさを求める関数こそがディリクレ分布です。
ここで、Cは合計確率を1にするための定数です。
教科書にはガンマ関数を使った難しい式が書かれていますが、様々な確率の組に対応する確からしさを相対的に比較するだけならC=1と考えて大丈夫です。
また教科書では
f(x1, x2,・・・,xn)=Cx1α1-1x2α2-1・・・xnαn-1
のように(回数-1)乗する式が書かれていますが、これもガンマ関数との整合性を取るためですので、C=1とするなら回数から1を引く必要はありません。
強打者たちのディリクレ分布
日ハム清宮のディリクレ分布
冒頭の「Full-Count」の記事は6月15日のもので、7月18日現在の清宮の打撃成績は次の通りです。
清宮 幸太郎 – 北海道日本ハムファイターズ – プロ野球 より抜粋
打数、単打、長打、凡打別にに集計すると次のようになります。
打数=223、単打=21、長打=32、凡打=170
これをディリクレ分布風に表現すると、223回の試行で単打が21回、長打が32回、凡打が170回だったということになります。
α1=21、α2=32、α3=170です。
また、この結果からそれぞれの確率を推定すると、
単打の確率=x1=21/223=0.094
長打の確率=x2=32/223=0.144
凡打の確率=x3=170/223=0.762
ということになり、これが一番素直な推定確率になります。
ですので、これをディリクレ分布の式に代入すると、
f(x1, x2, x3)=Cx1α1x2α2x3α3
∝0.09421×0.14432×0.762170
=2.7×10-69
となり、数ある確率(x1, x2, x3)の組み合わせの中でも、2.7×10-69が一番大きな確からしさの値になります。
それを確かめるために、(x1, x2, x3)=(0.094, 0.144, 0.762)の近傍点における確からしさの値を計算してみましょう。
まず、x1+x2+x3=1の性質を使って(単打の確率+長打の確率+凡打の確率=1)、確からしさf(x1, x2, x3)を次のように書き換えます。
f(x1, x2, x3)=Cx1α1x2α2x3α3
= Cx1α1x2α2(1-x1-x2)α3
∝x1α1x2α2(1-x1-x2)α3
これでx1とx2だけの関数になったので、二次元の表で計算できます。
横軸に単打数、縦軸に長打数を取ると、Excelで次のように計算できます。
縦軸、横軸ともに75までとしました。
打数が223なので、その1/3もあれば単打数、長打数ともに収まると思われるからです。
(あまりこれを大きくすると視覚的に傾向が見えにくくなる)
これで、(x1, x2, x3)が色々な値を取る場合のf(x1, x2, x3)の値を計算できたので、3Dグラフで視覚化してみましょう。
【相関なし/あり】二変量正規分布の3Dグラフをエクセルで作成する方法を実演
このようになりました。
円錐の頂点が、水平座標で単打数=21と長打数=32が交わる点で、ここが最も確からしい確率の組になります。
この最も確からしい点がその周辺にある可能性もありそうですが、単打数=21と長打数=32の交点から離れるに従って、その可能性は小さくなっていることが分かります。
西武中村のディリクレ分布
次に特異な記録として引き合いに出されていた「おかわり君」こと西武中村のディリクレ分布を視覚化してみましょう。
まずは中村のシーズンごとの成績を見てみましょう。
すると、なんと2008年~2011年の4年連続で長打数が単打数を上回っていました。
安打数は単打数と長打数の合計であることに注意です。
中村剛也 – Wikipedia より抜粋
この特異な記録を4年連続で達成しているとは、さすが「おかわり君」ですね。
それでは代表として2009年の成績をディリクレ分布で視覚化してみましょう。
501打数で57本の単打、86本の長打、358本の凡打です。
Excelで次のように計算できます。
3Dグラフにするとこのようになります。
こう見ると、円錐が左の奥側にあるところが清宮ととても良く似ています。
一方で円錐が細くなっていますね。
これは中村の打数の方が多く、推定確率の確からしさが増しているためです。
ロッテ落合のディリクレ分布
次に昭和のミスター三冠王落合の長打力を視覚化してみましょう。
若い人には中日ドラゴンズの元監督というイメージしかないと思いますが、現役時代の打撃は凄まじいものでした。
1982年から1986年の5年間で3度の三冠王に輝いています。
落合博満 – Wikipedia より抜粋
特に凄かった1985年の成績をディリクレ分布にしてみましょう。
460打数で92本の単打、77本の長打、291本の凡打です。
清宮や中村の時と同じように計算して3Dグラフにすると、次のようになります。
円錐が右の奥側にありますね。
さすがは三冠王、単打も長打も沢山打っているということです。
三冠王を取る選手のディリクレ分布はこのようになります。
オリックスイチローのディリクレ分布
次に単打数が多いイメージのイチローのディリクレ分布を見てみましょう。
オリックス時代には1994年から7年連続で首位打者を獲得していますが、打率.387を達成した最終年である2000年の成績をディリクレ分布にしてみます。
イチロー – Wikipedia より抜粋
2000年の成績をまとめると、395打数で118本の単打、35本の長打、242本の凡打です。
同じように二次元の表を作って3D グラフにすると、次のようになります。
今までのホームランバッターと全然違いますね。
特に、清宮や中村とは対称的な位置に円錐が来ていることが分かります。
エンゼルス大谷のディリクレ分布
次にホームランを打ちまくった昨年の大谷翔平の成績をディリクレ分布にしてみます。
昨年の大谷は537打数で58本の単打、80本の長打、399本の凡打でした。
3Dグラフにするとこうなります。
どこかで見たようなグラフですね。
そうです、中村とほぼ同じ分布になっています。
清宮はまだ打数が少ないので円錐がなだらかですが、このままの調子でシーズンを終了すれば、円錐が急になって大谷や中村と同じような分布になります。
今年こそ、そうなって一皮向けて欲しいものです。
まとめ
今回は単打と長打と凡打の3つに分けてディリクレ分布を作ってみましたが、単打/二塁打/三塁打/本塁打/凡打の5つに分けることも可能です。
ただ、そうすると視覚的にグラフで表せないので長打はすべてまとめました。
単打と長打と凡打の3つに分ける場合でも、単打をx軸、長打をy軸、凡打をz軸にとった三次元のグラフにして、それぞれの点にf(x1, x2, x3)の値を対応させようとすると四次元になってしまい視覚的に表せなさそうに思えますが、
単打の確率+長打の確率+凡打の確率=1
という関係があるため、単打と長打の確率が決まれば凡打の確率は自動的に決まります。
つまり自由度が2なので、三次元のグラフで表せるのです。