Excel 均勻分配:在兩個數值之間產生亂數
一句話說:最小值與最大值之間的每個值可能性都相同,像把擲骰子拉到一整個範圍上。
均勻分配讓最小值與最大值之間的每個值可能性都相同。在 Excel 中,=min + (max - min) * RAND() 可以抽樣,RANDBETWEEN(min, max) 則抽出整數。單價介於 40 與 60(美元)之間時,平均值是 50,P10 是 42,P90 是 58。
均勻分配是什麼
兩個數字決定它:最低與最高的可能值。兩者之間密度是平的,所以範圍內任何一段得到的結果占比,與它的寬度成正比:範圍寬 20 時,每一單位占 5.0% 的結果,P10 就在從最小值算起十分之一的位置。
圖怎麼看:每根長條是 10,000 個模擬值中,落在那一段的個數;線條是理論曲線。長條愈高,值落在那裡的次數愈多。這裡所有長條高度差不多:範圍內沒有哪一段特別偏好。
公式:平均值、標準差、百分位數
| 項目 | 公式與範例 |
|---|---|
| 平均值與中位數 | (min + max) / 2 = 50 |
| 標準差 | (max − min) / √12 = 20 / 3.464 = 5.77 |
| 百分位數 p | min + p × (max − min) P10 = 42,P90 = 58 |
Excel 中的均勻分配
RAND() 本身就是 0 到 1 之間的均勻分配。把它拉伸到任何範圍,就是均勻抽樣:在單一儲存格裡,公式是 =D9+(F9-D9)*RAND(),最小值在 D9,最大值在 F9。要整數的話,RANDBETWEEN(min, max) 會回傳從 min 到 max(含兩端)的整數。
| 儲存格 | 公式 | 值 |
|---|---|---|
| 亂數 u (I9) | =RAND() | |
| 抽樣值 (J9) | =D9+(F9-D9)*I9 | |
| 單一儲存格的抽樣 | =D9+(F9-D9)*RAND() | |
| 平均值 (K9) | =(D9+F9)/2 | 50 |
| P10 (L9) | =D9+(F9-D9)*0.1 | 42 |
| P90 (M9) | =D9+(F9-D9)*0.9 | 58 |
核對數字:理論值,對照 Excel 與 xellstorm 各 10,000 個抽樣值
| 理論值 | Excel, RAND() | xellstorm | |
|---|---|---|---|
| 平均值 | 50.00 | 49.96 | 50.00 |
| 標準差 | 5.77 | 5.78 | 5.77 |
| P10 | 42.00 | 41.97 | 42.00 |
| P50(中位數) | 50.00 | 49.91 | 50.00 |
| P90 | 58.00 | 57.95 | 58.00 |
Excel 用 RAND() 完全隨機抽樣;xellstorm 把抽樣值平均分散在整個範圍(拉丁超立方抽樣),所以統計量更貼近理論值。
何時適用均勻分配
只知道一個範圍、其他一無所知時才用:範圍內沒有哪個值比較可能。這種情形比想像的少。若寧可押中間,也不押兩端,那麼三角分配或 PERT 就說得出這一點。同樣是 40 到 60 的範圍,在 50 達到峰值的三角分配,有 75.0% 的結果落在 45 與 55 之間;均勻分配只有 50.0%,標準差則是 5.77,三角分配為 4.08。
- 適合的用法:落在已知區間內任何位置的值(一小時內到達、零件上的位置)、想在合理範圍內掃描,看它有多重要的參數,或在有更好的估算之前,先做模型的初稿。
- 不適合的用法:成本與工期,因為極端值比中間值更不可能;以及任何沒有硬性上下限的量。
在 xellstorm 設定均勻分配
- 把儲存格設為輸入,在「分配」步驟選均勻分配,輸入最小與最大。要整數就選整數均勻分配。
- 有過往數值時,側邊面板的「由資料」會把均勻分配與其他形狀比較,看資料是否真的是平的。
「由檔案匯入」會把 =a + (b - a)*RAND() 這類儲存格轉成均勻分配的輸入,RANDBETWEEN(a, b) 轉成整數均勻分配的輸入;增益集模型則可轉換 RiskUniform、VoseUniform 與 PsiUniform。
常見問題
Excel 怎麼在兩個數值之間產生亂數?
用 =min + (max - min) * RAND(),例如介於 40 與 60 之間,就寫 =40 + (60 - 40) * RAND()。要整數,用 =RANDBETWEEN(40, 60)。兩者在工作表每次重新計算時都會重抽。
均勻分配的平均值與標準差是多少?
平均值是中點 (min + max) / 2,標準差是 (max − min) / √12,約為寬度的 0.29 倍。從 40 到 60:平均值 50,標準差 5.77。
該用均勻還是三角分配?
範圍內沒有哪個值比較可能時,用均勻分配;有最可能值時,用三角分配或 PERT。同樣的範圍,均勻分配分散得較廣:標準差是 5.77,在中間達到峰值的三角分配則是 4.08。
相關內容
- 指南
機率分配怎麼選?蒙地卡羅模型的分配選擇指南
兩個問題找出合適的機率分配:PERT、三角、常態、對數常態、韋伯、卜瓦松、二項、貝他等分配,並附各自的用途與 Excel 公式。 - 指南
Excel 三角分配:公式、平均值,以及與 PERT 的比較
三角分配把最小、最可能與最大值轉成呈直線的機率。附 Excel 抽樣與百分位數的公式、平均值,以及三角分配與 PERT 的比較。 - 指南
Excel 蒙地卡羅模擬怎麼做?有無增益集都行
Excel 模型做蒙地卡羅模擬的三種方式:RAND() 加資料表、增益集,或免增益集的瀏覽器工具。附 PERT 公式。
xellstorm 是在瀏覽器中執行的 Excel 模型蒙地卡羅模擬工具:免裝增益集,Excel 檔案也不會離開您的電腦。