Excel 二項分配與白努利分配:發生與否,以及 n 次中發生幾次
一句話說:白努利分配回答「會不會發生?」,答案是 1 或 0;二項分配回答「n 次中發生幾次?」。
白努利分配是單一個「是或否」的事件:風險以機率 p 發生(1),否則不發生(0),在 Excel 中用 =IF(RAND() < p, 1, 0) 抽樣。二項分配計算 n 次獨立嘗試中「是」的次數,每次機率相同,用 =BINOM.INV(n, p, RAND()) 抽樣。一批 50 件、不良率 4% 時,平均有 2 件不良品;整批沒有不良品的機率是 13.0%,有 5 件以上的機率是 4.9%。
白努利分配:發生還是不發生?
模型中許多不確定性是事件,不是金額:許可申請延誤與否、供應商失敗與否、風險登記冊中的某項風險發生與否。白努利分配以機率 p 得到 1,否則得到 0。乘上影響金額,就是該風險在每次試驗的成本:=IF(RAND() < 0.3, 1, 0) * 500 在約 30% 的試驗中是 500,其餘是 0。
| 儲存格 | 公式 | 值 |
|---|---|---|
| 亂數 u (I14) | =RAND() | |
| 抽樣值 (J14) | =IF(I14<D14, | |
| 單一儲存格的抽樣 | =IF(RAND()<D14, | |
| 平均值 (K14) | =D14 | 0.3 |
| P10 (L14) | =BINOM.INV(1, | 0 |
| P90 (M14) | =BINOM.INV(1, | 1 |
它的平均值是 p,所以該風險的期望成本是 0.3 × 500 = 150。但沒有任何一次試驗的成本是 150:每次不是 0,就是 500。把機率 × 影響金額當固定數字放進模型,正好藏起這一點,所以這類風險的登記冊,要靠模擬來估應變準備金(見風險登記冊範例)。xellstorm 對這一列抽樣 10,000 次,風險在 30.0% 的試驗中發生。
二項分配:n 次中有幾次?
把同樣的是非機會獨立重複 n 次,數出「是」的次數,這個次數就是二項分配。例如一批中的不良品、200 位客戶中接受報價的人數、20 天中下雨的天數。平均值是 n × p,標準差是 √(n × p × (1 − p)):一批 50 件、p = 0.04 時,分別是 2 與 1.39。白努利分配就是 n = 1 的二項分配。
圖怎麼看:每根長條是 10,000 個模擬批次中,不良品剛好是那個件數的占比;每個圓點是理論機率。
| 儲存格 | 公式 | 值 |
|---|---|---|
| 亂數 u (I15) | =RAND() | |
| 抽樣值 (J15) | =BINOM.INV(D15, | |
| 單一儲存格的抽樣 | =BINOM.INV(D15, | |
| 平均值 (K15) | =D15*F15 | 2 |
| P10 (L15) | =BINOM.INV(D15, | 0 |
| P90 (M15) | =BINOM.INV(D15, | 4 |
核對數字:理論值,對照 Excel 與 xellstorm 各 10,000 個抽樣值
| 理論值 | Excel, RAND() | xellstorm | |
|---|---|---|---|
| 平均值 | 2 | 2.01 | 2.00 |
| 標準差 | 1.39 | 1.40 | 1.39 |
| P10 | 0 | 0 | 0 |
| P50(中位數) | 2 | 2 | 2 |
| P90 | 4 | 4 | 4 |
Excel 用 RAND() 完全隨機抽樣;xellstorm 把抽樣值平均分散在整個範圍(拉丁超立方抽樣),所以統計量更貼近理論值。
Excel 中的二項分配
BINOM.DIST(k, n, p, FALSE)是剛好 k 次的機率:這批中剛好有 2 件不良品的機率是 27.6%。用TRUE則是 k 次以下的機率,所以=1-BINOM.DIST(4, 50, 0.04, TRUE)得到 5 件以上的機率 4.9%。BINOM.INV(n, p, probability)回答相反的問題:累積機率至少達到指定值時,最小的次數是多少,也就是百分位數。搭配RAND()就抽出隨機次數:=BINOM.INV(D15,F15,RAND())。注意順序:機率放在最後,和NORM.INV不同。舊名稱是CRITBINOM。
嘗試次數多、機率小時,二項分配與同平均值的卜瓦松分配很接近:一批沒有不良品的機率,二項分配是 13.0%,平均值 2 的卜瓦松分配是 13.5%。
在 xellstorm 設定白努利與二項分配
- 把儲存格設為輸入,在「分配」步驟選白努利分配,輸入 p;或選二項分配,輸入 n 與 p。
- 風險事件的影響金額,放在另一個儲存格(固定數字,或另一個輸入,如 PERT),在 Excel 檔案裡相乘:這樣風險發生與否和大小各自獨立,敏感度分析也看得出是哪一個影響結果。
- 有過往的 0/1 結果時,側邊面板的「由資料」會配適白努利分配;有已知 n 之下的過往次數時,在「二項分配:已知試驗次數」填入 n,再重新配適。
「由檔案匯入」會把 =IF(RAND() < p, 1, 0) 轉成白努利輸入,=BINOM.INV(n, p, RAND()) 轉成二項輸入;增益集模型則可轉換 RiskBernoulli、VoseBernoulli、PsiBernoulli、RiskBinomial、VoseBinomial 與 PsiBinomial。
常見問題
Excel 怎麼模擬風險會不會發生?
用 =IF(RAND() < p, 1, 0),它以機率 p 回傳 1,再乘上風險的影響金額。重新計算很多次後,1 的比例會趨近 p。每項風險各用一個 RAND(),風險才會獨立發生。
白努利分配與二項分配有什麼不同?
白努利分配是一次嘗試,結果是 0 或 1。二項分配是 n 次機率相同的獨立嘗試,結果是其中有幾次是 1,從 0 到 n。白努利分配就是 n = 1 的二項分配。
Excel 怎麼產生二項分配的亂數?
用 =BINOM.INV(n, p, RAND()):一批 50 件、不良率 4% 時,是 =BINOM.INV(50, 0.04, RAND())。每次重新計算會得到 0 到 n 之間的新整數;它們的平均會趨近 n × p = 2。
該用二項分配還是卜瓦松分配?
機會次數 n 固定、每次機率相同時,用二項分配:次數不會超過 n。事件在一段期間內以平均速率發生、次數不限時,用卜瓦松分配。n 很大、p 很小時,兩者的結果幾乎一樣。
相關內容
- 指南
機率分配怎麼選?蒙地卡羅模型的分配選擇指南
兩個問題找出合適的機率分配:PERT、三角、常態、對數常態、韋伯、卜瓦松、二項、貝他等分配,並附各自的用途與 Excel 公式。 - 風險登記冊
風險登記冊需要多少應變準備金?
機率 × 最可能影響加總為 291;模擬的平均損失為 359,最差 5% 的平均為 1,436(單位:千美元)。應變準備金要看最差的結果來定。 - 指南
Excel 卜瓦松分配:計數事件,以及何時改用負二項分配
卜瓦松分配用來計算一段期間內、以已知平均速率發生的事件數。附 POISSON.DIST、沒有反函數時在 Excel 產生卜瓦松隨機計數的做法,以及變動更大的計數該用的負二項分配。
xellstorm 是在瀏覽器中執行的 Excel 模型蒙地卡羅模擬工具:免裝增益集,Excel 檔案也不會離開您的電腦。