【正規分布のベイズ推定】予想打率を逐次更新する例でわかりやすく解説

2024年5月19日

◆仕事や勉強の息抜きに。。。

ベイズ推定で確率を逐次更新する

史上最強打者と言われるジロー選手は2034年から2043年までの平均打率が3割5分でした。

ところが2044年開幕は絶不調で、4月の月間打率は2割5分5厘でした。

5月の打率はいくつになると予想しますか?

 

また5月には調子を取り戻して、月間打率は4割でした。

6月の打率はいくつになると予想しますか?

 

ベイズ推定では、このように新しいデータが得られるたびに確率を更新していくことができます。

以下、ジロー選手の予想打率を更新してみましょう。

 

前年までの打率と4月の打率から5月の打率を予想する

ベイズの定理に定式化する

2034年から2043年まで10年間のジロー選手の年度別打率は次の通りです。

これを事前確率としてベイズ推定してみましょう。

事前確率は尤度によって、次式で更新されます。

事後確率=事前確率×尤度

「ベイズの定理」の導出とその適用例をわかりやすく解説【初心者向け】

 

正規分布の掛け算で事後確率を計算する

このように掛け算によって更新されますので、事前確率も尤度も正規分布で定義できれば、比較的簡単に事後確率の分布を計算できます。

【正規分布を掛け算したら標準偏差は?】Excelで計算してグラフ表示する

 

事前確率は平均μ350、標準偏差σ24ですので、次のように式で表せます。

f1(x) = 1 / 24√2π×exp [-1/2×{(x – 350)/24}2]

 

尤度はどのように表せるでしょうか?

4月の月間打率が2割5分5厘ですが、週間打率は次のようでした。

※標準偏差は4つの標本データ個々の標準偏差ではなく、標本平均の標準偏差 (= √σ2/n)

 

よって、尤度は次式で表せます。

f2(x) = 1 / 27√2π×exp [-1/2×{(x – 255)/27}2]

 

従って、事後確率は次のように計算できます。

事後確率

= 事前確率×尤度

= 1 / 24√2π×exp [-1/2×{(x – 350)/24}2]× 1 / 27√2π×exp [-1/2×{(x – 255)/27}2]

 

これをグラフにすると次のようになります。

 

絶不調の4月の打率.255(尤度)が、過去10年間の平均打率.350(事前確率)で補正されて、.310くらいが実力値(事後確率)でしょうと予想されています。

 

きちんと計算すると、事後確率の平均と標準偏差は次のようになります。

平均:μ12 = {(μ112)+(μ222)} / {( 1 /σ12)+(1 /σ22)} =309

標準偏差:σ12 = 1 / {( 1 /σ12)+(1 /σ22)} =18

>> 【正規分布の掛け算】具体例を使ってエクセルでわかりやすく解説

 

5月の予想打率と5月の実績打率から6月の打率を予想する

ジロー選手、5月は本来の調子を取り戻して月間打率4でした。

週間打率は次の通りでした。

 

よって、尤度は次式で表せます。

f2(x) = 1 / 14√2π×exp [-1/2×{(x – 400)/14}2]

 

事前確率は4月の打率で計算した5月の予想打率になります。

先ほど計算して平均:.309、標準偏差:18でしたので、次式で表せます。

f1(x) = 1 / 18√2π×exp [-1/2×{(x – 309)/18}2]

 

従って、f1(x)とf2(x)を掛け算すれば事後確率(6月の予想打率)が求まります。

グラフにすると次のようになります。

 

事後確率の平均と標準偏差は下記のようになります。

平均:μ12 = {(μ112)+(μ222)} / {( 1 /σ12)+(1 /σ22)} = 367

標準偏差:σ12 = 1 / {( 1 /σ12)+(1 /σ22)} = 11

 

前月の予想打率と前月の実績打率から当月の打率を予想する

同様に7月以降の打率を、前月に予想した打率を事前確率前月の打率を尤度として予想すると、下表のようになります。

クリックすると拡大します

 

赤枠で囲んだ尤度は月間打率ですので、選手の好不調で大きく振れます。

それに対し、事後確率はその選手の過去の実力を加味した予想打率ですので、月間打率ほどは振れないはずです。

調子が悪い月があっても、ジロー選手ならもっと打つはずという期待が働くためです。

グラフにしてみると、それが裏付けられます。

 

まとめ

野球に詳しい人ならお気づきかもしれませんが、ジロー選手の2034~2043年の実績はイチローの1994~2003年の実績と同じです。

更に2044年のジロー選手の月間打率もイチローの2004年の実績と同じです。

4月と6月は不調で2割台の月間打率でしたが、7月以降は驚異的な打率で盛り返し、最終的には.372と大リーグ時代の最高打率でシーズンを終えています。

このように好不調の波が大きいシーズンでも、ベイズ推定で過去の実力値を反映すれば、予想打率はそれほど影響されません。

 

これは物流に応用できます

日々の物量は顧客の都合に左右されるため、予測不能で時に大きく振れます。

しかし、それに振り回されていては現場が混乱してしまいます。

安全在庫が必要なのは、商品の需要が振れて読めないためです。

特に新製品の需要は読みづらく、少ない実績データ過去の知見を加味して予測せざるを得ません。

 

貨物の到着時間も、交通状況次第で予測不能です。

これが船便航空便になると、更に予測しづらくなります。

 

予測というのは、古いデータより新しいデータを使う方が精度が上がるはずです。

しかし直近のデータで行おうとすると、往々にして振れが大きくなりすぎ使い物になりません。

そのような場合に、事前確率を加味した予測ができるベイズ推定は大きな魅力です。

更に、平均値を点で予測するのではなく、確信度(標準偏差)まで出してくれるので、より精緻に定量化できます。

定量化できるということは、システムで自動化できるということです。

予測を自動化できれば、その後のアクションも自動化できます。

 

ベイズ推定は、我々人間が普段行っている判断方法に似ています。

つまり、普段している判断を自動化できるのです。

人間の判断は時として暗黙知によりますが、それを形式知にできるというメリットもあります。

 

ベイズの定理、物流業界での活用競争は始まったばかりです。