Excelのポアソン分布:事象の回数の扱い方と、負の二項分布の使いどころ
ひとことで言うと:事象が平均の頻度で1件ずつ起きるとき、1週間、1か月、1年のあいだに何回起きるかを表します。
ポアソン分布は、1週間のクレーム件数や1か月の故障回数のように、既知の平均頻度で互いに独立に起きる事象について、一定期間内の回数を表します。決める数値は平均の1つだけです。クレームが平均して週に4件なら、1件もない週は1.8%、8件以上の週は5.1%の確率です。Excelには POISSON.DIST はありますが逆関数はなく、ランダムな回数は累積確率の小さな表から得ます。回数のばらつきがポアソン分布の想定より大きいときは、負の二項分布を使います。
ポアソン分布とは
事象が、一定の平均頻度で、1件ずつランダムに到着する様子を思い浮かべてください。電話、不良、クレーム、大規模な設備群の故障などです。1週間に入る件数は0、1、2…という整数で、その分布は平均の件数だけで決まります。平均は、週ごとのばらつきの大きさも決めます。標準偏差は平均の平方根で、週に4件のクレームなら2です。こうした事象の間隔は指数分布になり、ここでは平均1.75日です。
グラフの見方:棒は、シミュレーションした10,000週のうち、クレームがその件数だった週の割合、点はその理論上の確率です。棒と点は一致しています。
最も起きやすいのは、クレームが3件か4件の週(それぞれ19.5%)です。P10は2、P90は7で、10週のうち少なくとも8週は、この間に収まります。
Excelでのポアソン分布
POISSON.DIST(k, mean, FALSE) はちょうどk回起きる確率を、TRUE にするとk回以下の確率を返します。=1-POISSON.DIST(7, 4, TRUE) は、8件以上になる確率の5.1%です。POISSON.INV はないので、ランダムな回数にはもう一手間かかります。Excelファイルは、Tablesシートに0〜99回の累積確率を並べ、そのうち乱数uを下回るものがいくつあるかを数えます。その数は、累積確率がuに届く最小のkで、まさにポアソン分布から引いた値です。1つのセルにまとめると =COUNTIF(Tables!B$3:B$102,"<"&RAND()) です。
| セル | 数式 | 値 |
|---|---|---|
| 乱数 u(I12) | =RAND() | |
| 引いた値(J12) | =COUNTIF(Tables!B$3:B$102, | |
| 1つのセルで引く | =COUNTIF(Tables!B$3:B$102, | |
| 平均(K12) | =D12 | 4 |
| P10 (L12) | =COUNTIF(Tables!B$3:B$102, | 2 |
| P90 (M12) | =COUNTIF(Tables!B$3:B$102, | 7 |
数値の確認:理論値と、Excelとxellstormがそれぞれ引いた10,000個の値の比較
| 理論値 | Excel(RAND()) | xellstorm | |
|---|---|---|---|
| 平均 | 4 | 3.99 | 4.00 |
| 標準偏差 | 2 | 1.98 | 2.00 |
| P10 | 2 | 2 | 2 |
| P50(中央値) | 4 | 4 | 4 |
| P90 | 7 | 7 | 7 |
Excelは RAND() で完全にランダムに引きます。xellstormは範囲全体に均等に散らして引く(ラテンハイパーキューブサンプリング)ので、統計値が理論値に近くなります。
負の二項分布:回数のばらつきがポアソン分布の想定より大きいとき
実際の回数は、ポアソン分布より偏ることがよくあります。需要には忙しい月と静かな月があり、不良はまとまって出て、クレームは悪天候で増えます。履歴を確認してください。回数のばらつきがポアソン分布の想定よりずっと大きい(分散、つまり標準偏差の2乗が、平均より明らかに大きい)なら、ポアソン分布は静かな期間も忙しい期間も小さく見積もります。負の二項分布は、この余分なばらつきのために2つ目のパラメーターを加えます。平均は同じ4で、分散が8の場合です。
グラフの見方:線は、1週間に事象が0回、1回、2回、…起きる確率を結んだものです。負の二項分布は両端で高くなります。事象が1回もない週も、たくさん起きる週も、ポアソン分布より多くなります。
| ポアソン分布 | 負の二項分布 | |
|---|---|---|
| 分散 | 4 | 8 |
| 1件もない確率 | 1.8% | 6.3% |
| 8件以上の確率 | 5.1% | 11.3% |
| P10 – P90 | 2 – 7 | 1 – 8 |
| セル | 数式 | 値 |
|---|---|---|
| 乱数 u(I13) | =RAND() | |
| 引いた値(J13) | =COUNTIF(Tables!C$3:C$102, | |
| 1つのセルで引く | =COUNTIF(Tables!C$3:C$102, | |
| 平均(K13) | =D13*(1-F13)/F13 | 4 |
| P10 (L13) | =COUNTIF(Tables!C$3:C$102, | 1 |
| P90 (M13) | =COUNTIF(Tables!C$3:C$102, | 8 |
Excelでは、NEGBINOM.DIST(k, n, p, TRUE) が累積確率を返し、同じ表の方法で値を引けます。数式は =COUNTIF(Tables!C$3:C$102,"<"&RAND()) です。パラメーターはnとpです(教科書的には、n回目の成功までの失敗の回数)。平均と分散からは、p = 平均 / 分散、n = 平均² / (分散 − 平均) で、ここではp = 0.5、n = 4です。発注点の例では、このために月ごとの需要を負の二項分布から引いています。
ポアソン分布、負の二項分布、二項分布の使い分け
- ポアソン分布は、一定の頻度で起きる独立した事象の回数で、実務上は上限がない場合に使います。到着、電話、不良、大きな母集団の故障などです。
- 負の二項分布は、同じ種類の回数で、履歴のばらつきが平均より大きい場合に使います。需要、クレーム、まとまって出る不良などです。
- 二項分布は、機会の数が決まっている場合です。50個のロットの不良品や、200人のうちオファーを受ける顧客などです。
xellstormでポアソン分布を入力する
- セルを入力にして、「分布」ステップでポアソン分布を選び、平均を入力します。または、負の二項分布を選び、nとpを入力します。
- 過去の回数があれば、入力を選び、サイドパネルの「データから」を使います。整数のデータには、連続分布と並べてポアソン分布と負の二項分布を当てはめ、順位を付けます。回数のばらつきが平均を超えない場合は、負の二項分布を飛ばして、ポアソン分布を使うよう案内します。
アドイン向けのモデルは、RiskPoisson、VosePoisson、PsiPoisson と、RiskNegbin、VoseNegBin、PsiNegBinomial から変換できます。
よくある質問
Excelでポアソン乱数を作るには?
Excelにポアソン分布の逆関数はありません。列にk = 0, 1, 2, …を並べ、隣に POISSON.DIST(k, mean, TRUE) を置き、その累積確率のうち RAND() を下回るものの数を数えます。表がB3:B102にあれば、=COUNTIF(Tables!B$3:B$102,"<"&RAND()) です。最後の確率が表示桁数で1になるまで、表を長くしてください(平均が4なら30行で足ります)。
POISSON.DISTのTRUEとFALSEの違いは何ですか?
FALSE はちょうどk回起きる確率、TRUE はk回以下の確率を返します。平均が4の場合、ちょうど4回の確率は19.5%、8回以上の確率は、7回以下の累積確率を1から引いた5.1%です。
ポアソン分布と負の二項分布のどちらを使いますか?
回数の分散と平均を比べます。ほぼ同じならポアソン分布、明らかに大きければ負の二項分布で、2つ目のパラメーターがそのばらつきを捉えます。平均4で、分散8の負の二項分布なら、8件以上になる確率は11.3%で、ポアソン分布の5.1%を上回ります。
ポアソン分布の平均は小数でもよいですか?
はい。平均は平均頻度なので、月0.3回の故障のような値でも構いません。得られる回数は常に整数です。平均が1より小さければ、ほとんどが0で、ときどき1か2が出ます。
関連ページ
- ガイド
確率分布の選び方:モンテカルロシミュレーションで使う分布はどれか?
2つの質問で、適した確率分布が見つかります。PERT分布、三角分布、正規分布、対数正規分布、ワイブル分布、ポアソン分布、二項分布、ベータ分布などについて、使いどころとExcelの数式を紹介します。 - ガイド
Excelの二項分布とベルヌーイ分布:はい・いいえの事象と、n回のうちの回数
ベルヌーイ分布は、リスクが起きるか起きないかのような、はい・いいえの1回の事象です。二項分布は、n回のうち「はい」の回数を数えます。Excelの数式、BINOM.DISTとBINOM.INV、リスク登録簿での使い方を解説します。 - 在庫方針
コストと欠品のバランスをとる発注点はどれか?
発注点を180個から250個に上げると、欠品が起きる年の確率は28.0%から5.1%に下がり、年間の平均コスト2,133に345が加わります。
xellstormは、Excelモデル向けのブラウザー型モンテカルロシミュレーションツールです。アドインは不要で、Excelファイルがパソコンの外に出ることはありません。