ベイズ推定で事後確率の確信度を求め、安全在庫の設定に生かす具体例

2023年10月18日

ベイズ推定で確信度を定量化

コインを5回投げて4回表が出ても、そのコインが表が出易いように加工された「いかさまコイン」とは言えませんね。

でも50回投げて40回表が出れば、いかさまコインかもと疑うでしょう。

 

同じようなことは物流の世界でも起こります。

ある船社は、2回に1回くらい遅延することで有名です。

でも実際に使ってみたところ、5回の中で4回は遅延しませんでした。

これに安心して、安全在庫を減らしても大丈夫でしょうか?

普通は、もう少し様子を見るでしょう。

でも50回の中で遅延なしが40回だったら、安全在庫を減らす判断をするかもしれません。

 

このように確率は同じ(この例だとすべて80%)だとしても、試行回数の多少によって確信度は異なります。

これを定量化できれば、在庫管理やリスク管理に役立てることができますし、コンサルティングをしている人にとっては良い提案書を作れます。

 

ベイズ推定では、これを定量化できます。

上の例では「二つに一つの事象」ですので、二項分布のベイズ推定になります。

ベイズ推定とMAP推定の違いを高校野球の勝率予測でわかりやすく解説

で解説したように、二項分布のベイズ推定では事前分布ベータ分布を使います。

そこで、まずはベータ分布のおさらいから始めましょう。

 

試行結果を確率分布で表すベータ分布

ベータ分布は何回中何回成功したという確率をグラフで表すことができます。

例えば、2回中1回成功した場合のベータ分布のグラフは、次のようになります。

 

成功する確率が50%である確率密度が一番大きくなっています。

確率密度とは、0-100%のスケールで表されていない確率のようなものだと思っておいて下さい。

可能性と言ってもいいかもしれません。

確率密度と確率は比例します。

 

このグラフから分かることは、成功する確率が50%である可能性が一番高いけれども、30%とか80%である可能性もそこそこある、でも成功する確率が0%や100%である可能性はゼロであるということです。

 

次に3回中2回成功した場合のベータ分布は次のようになります。

 

成功する確率が0.67である可能性が一番高くて、離れるに従ってなだらかに低くなっています。

普通の確率計算では成功する確率は0.67になりますが、それ以外である可能性も結構あるということです。

こういうことは普通の確率計算では分かりませんね。

 

次に30回中20回成功した場合のベータ分布を見てみましょう。

 

成功する確率が0.67である可能性が一番高いことは同じですが、それ以外の確率になる可能性は低くなっていますね。

つまり、成功する確率が0.67である確信度が上がったことが、このグラフから読み取れます。

このように、ベータ分布で確率分布を表すと確信度まで分かるのです。

 

このベータ分布を式で表すと次のようになります。

Be(α,β)=A×p(α-1)×(1-p)(β-1)

α成功した回数+1β失敗した回数+1です。

Aは正規化するための定数です。

2回中1回成功したのであれば、1回失敗していることになりますので、α=2、β=2となり、Be(2,2)と表すことができます。

 

ちなみにBe(1,1)は何も情報がない一様分布となり、グラフでは次のようになります。

 

この一様分布はベイズ推定における事前確率の分布として頻繁に登場します。

ベータ分布のベイズ推定以外での使い方については、こちらで解説しています。

【同じ打率でも確実性は違う】ベータ分布を使って成功確率を確率分布で比較

 

ベイズ推定の計算方法

成功する確率がpの試行を、n回試行してx回成功する確率は二項分布に従って、

nCk×pk×(1-p)(n-k)

で表すことができました。

>> 【エクセルで実演!】二項分布のグラフの描き方を具体例でわかりやすく解説

 

また、ベイズの定理では

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

の式により、事前確率は新しく与えられた情報(尤度)により、事後確率に更新されます。

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

ベイズ推定とMAP推定の違いを高校野球の勝率予測でわかりやすく解説

 

そして、その事後確率を今度は事前確率として新しく与えられた情報により更新すれば、次々と確率が更新されていくことになります。

これをベイズ更新ともいいます。

 

これを今回の例に当てはめてみましょう。

5回コインを投げて、

表、裏、表、表、表

が出たケースを想定します。

 

1回目の事後確率の求め方

まず、事前確率としては全く情報がないという前提で一様分布を採用します。

ベータ分布ではBe(1,1)になります。

1回目は表が出ました。

これを二項分布の式で表すと、1回試行して1回表が出ましたので、

1C1×p1×(1-p)(1-1)

= p1×(1-p)(1-1)

となります。

これが尤度になります

 

従って、事後確率は

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

p1×(1-p)(1-1)×Be(1,1)

p1×(1-p)(1-1)× A×p(1-1)×(1-p)(1-1)

=A× p1×(1-p)(1-1)

となります。

p1はpで、(1-p)(1-1)は1なので、Apになりますが、後の説明のためにこのように書いておきます。

これが2回目の試行の事前確率になります。

 

2回目の事後確率の求め方

2回目は裏が出ましたので、尤度は

1C0×p0×(1-p)(1-0)

= p0×(1-p)(1-0)

となります。

 

従って、事後確率は

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

= A× p1×(1-p)(1-1)× p0×(1-p)(1-0)

= A× p1×(1-p)(2-1)

となり、これが3回目の試行の事前確率になります。

 

3回目の事後確率の求め方

3回目は表が出ましたので、尤度は

1C1×p1×(1-p)(1-1)

= p1×(1-p)(1-1)

となります。

 

従って、事後確率は

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

= A× p1×(1-p)(2-1) ×p1×(1-p)(1-1)

= A× p2×(1-p)(3-2)

となります。

 

n回目の事後確率の求め方

ここまでで3回の試行が終わりましたが、法則性があるのにお気づきでしょうか?

3回の試行で2回表が出た場合の事後確率が

A× p2×(1-p)(3-2)

ですから、n回の試行でx回表が出た場合の事後確率は

A× px×(1-p)(n-x)

となります。

 

先述したようにベータ分布の式は

Be(α,β)=A×p(α-1)×(1-p)(β-1)

ですので、

A× px×(1-p)(n-x)

= Be(x+1,n-x+1)

になります。

つまり、n回の試行でx回表が出た場合のpの確率分布は、

Be(x+1,n-x+1)

というベータ分布になるのです。

この式は非常に重要です。

 

従って、5回コインを投げて4回表が出た場合に、表が出る確率pは

Be(4+1,5-4+1)

= Be(5,2)

で表すことができ、グラフで描くと次のようになります。

 

確率分布から確信度を求める

このようにベイズ推定により、表が出る確率pの確率分布をグラフで表すことができますが、もっと端的に定量化するにはどうすればよいでしょうか?

それには、この確率密度関数累積分布関数に変換すると便利です。

ベータ分布Be(5,2)の累積分布関数を描くと次のようになります。

これを見ると、成功する確率pが0.5以下になる確率は約10%、pが0.9より小さくなる確率は約90%になること等が分かります。

これは見方を変えれば、5回中4回表が出たので最も可能性の高いpは80%ですが、pが50%以下である可能性も10%くらいあるということです。

 

次に、50回中40回表が出た場合のpの確率分布を求めてみましょう。

ベータ分布では

Be(x+1,n-x+1)

= Be(41,11)

となります。

グラフではこうなります。

 

だいぶグラフがシャープになりました。

これはpが80%である確信度が高まったことを意味します。

 

これの累積分布関数をグラフにすると次のようになります。

 

Pが50%以下である確率はほぼ0%、90%以下である確率はほぼ100%になったことが分かります。

 

物流への適用事例

遅延確率50%なら安全在庫の積み増し必要

これは、そのまま船の遅延に応用できます。

5回の航行中、4回遅延しなかった(成功した)場合のpの確率分布はBe(5,2)で表せますので、pが50%以下になる確率は10%あります。

 

船便で輸入しているケースを想定してみましょう。

50%の確率で船便が遅れるのであれば、遅れた場合のリードタイムを前提とした在庫を持つ必要があるでしょう。

リードタイムを短くしても在庫削減はできない!|シミュレーションで証明します

 

遅延確率10%なら安全在庫はそのままで航空便で対応

しかしその確率が10%であれば、在庫を多く積み増すよりも、遅れた場合だけ航空便で緊急輸送する方がコストが低くなるかもしれません。

これは、在庫保有コストInventory carrying cost)と緊急輸送費のバランスによって決まります。

 

同じ遅延確率でも確信度により対応は異なる

もし5回中3回遅延しなかったケースではどうなるでしょうか?

Pの確率分布はBe(4,3)になりますので、確率分布は次のようになります。

 

そして累積分布関数は次のようになります。

 

Pが50%になる確率は34%もあります。

このくらい遅延する確率が高いと、航空便で緊急輸送するよりも、在庫を積み増しておく方がコスト安になるでしょう。

 

しかし、もし50回中30回遅延しなかったらどうなるでしょうか?

Pの確率分布はBe(31,21)になり、累積分布関数をグラフにすると次のようになります。

 

Pが50%以下になる確率は8%しかありません。

これくらい低ければ、在庫を積み増しておく必要はないかもしれませんね。

 

まとめ

通常の確率の計算では、5回中3回成功も、50回中30回成功も同じ60%の確率です。

直観的には5回中3回成功だと60%の確率とするのは確信度が低いと分かっていても、それを定量化することはできません。

ベイズ推定ではそれを定量化でき、確信度を数字でバシッと示すことができます。

 

これはコンサルティングをする際には非常に説得力を持ちます。

また、システム化する際にも有用であることは言うまでもありません。

 

Udemyの関連講座

はじめての統計(推定・検定編) ~記述統計から推測統計へ!しっかり9時間、97レクチャーでデータ時代の入場券を手に入れる

データサイエンス時代にまず押さえるべきデータの扱い方・見方を扱った統計講座。データをどう要約し、分かりやすく伝えるのか(記述統計)から、そのデータから母集団について何が言えるのか(推測統計)まで、丁寧に統計的発想を身に付けます。

 

文系出身・数学がニガテ・知識ゼロの方大歓迎!社会人のための統計活用力養成講座 ~ データサイエンスの基礎を攻略!

「最も面白く,役に立った!」と評価される集合型研修のオリジナル映像講座版!文系・数学が苦手・過去に学習したが挫折したといった方でも大丈夫!統計を実際に使う時に必要な視点から学ぶ,統計を使って的確な解釈・判断ができるようになることを目指す講座

 

【しっかり原理を理解したい方向け】東大理系女子と学ぶはじめての統計学

統計学を学んだことのない方向けの入門コースです。原理をきちんと説明しますので、これからステップアップしたい方に最適です。

 

いちばん理解できる統計学ベーシック講座その1【確率分布・推定・検定】

統計学の基礎を効率的に学べるベーシック講座です。統計学の入り口となる「確率分布・推定・検定」について豊富な図を用いて説明していきます。統計学や確率思考という一生モノのスキルを一緒に身につけましょう!