跳到主要內容跳到頁尾

計次的機率:BINOM.DIST、POISSON.DIST、HYPGEOM.DIST 與 PROB 怎麼選

8 分鐘閱讀Lv.3 中級摘要與日期

20 位客人有幾位會加購、一小時來幾位客人、抽驗 10 個杯子有幾個瑕疵。整理 BINOM.DIST、BINOM.INV、POISSON.DIST、NEGBINOM.DIST、HYPGEOM.DIST、PROB 與 BINOMDIST、CRITBINOM 等舊名共 11 個函式,附手算核對過的機率。

發布 更新

文章目錄

今天來整理一組「數次數」的機率函式:BINOM.DIST、POISSON.DIST、HYPGEOM.DIST、NEGBINOM.DIST,加上 BINOM.INV 和 PROB,還有它們的舊名。

坦白說,我工作上最常碰到的問題都長這樣:「20 位客人裡面,有 10 位以上加購甜點的機會有多大?」「這個時段一小時進來 20 位以上算不算怪?」「一箱 50 個杯子有 8 個瑕疵,抽 10 個抽到 2 個壞的機率是多少?」這些問題的共通點是結果是整數(幾位、幾個),所以用的是離散分布。連續數值(身高、金額)的常態分布在 常態分布 那篇,這篇不重複。

怎麼選

先問自己:事情是怎麼發生的?

情況用這個例子
固定次數的試驗,每次成功機率一樣BINOM.DIST20 位客人,每人 30% 加購
固定次數的試驗,反推備貨量BINOM.INV95% 把握夠用要備幾份
一段時間內事件發生幾次,沒有上限POISSON.DIST一小時來客數
不放回的抽樣,母體不大HYPGEOM.DIST50 個杯子抽 10 個驗瑕疵
試到第 N 次成功為止,問失敗幾次NEGBINOM.DIST試吃要失敗幾次才賣出第 3 份
每個結果與機率自己列在表上PROB每天客訴件數的機率表

舊名 BINOMDIST、CRITBINOM、NEGBINOMDIST、HYPGEOMDIST、POISSON 各有一節,放在對應的新名後面。

下面每個公式都用自己的數字,不需要範例資料,除了 NEGBINOM.DIST 的逐項加總與最後的 PROB 要一張小表。

二項分布

BINOM.DIST

固定 n 次試驗、每次成功機率都是 p,恰好成功 k 次(或最多 k 次)的機率。

語法:

  • 累積:FALSE 是恰好 k 次,TRUE 是 k 次以內(含)。

假設一天有 20 位客人結帳,每位有 30% 的機會加購甜點(這是假設的比例)。恰好 6 位加購:

Google 試算表公式
fx

恰好 6 位加購

=BINOM.DIST(6, 20, 0.3, FALSE)

結果是 0.1916。手算:C(20,6) = 38760,0.3 的 6 次方是 0.000729,0.7 的 14 次方是 0.006783,三個相乘得到 0.1916。

最多 6 位:

Google 試算表公式
fx

6 位以內(含)

=BINOM.DIST(6, 20, 0.3, TRUE)

結果是 0.6080。20 位客人期望 6 位加購(20 × 0.3),所以 6 位剛好差不多是中位數。

「10 位以上」要反過來算,因為累積機率只給「以內」:

Google 試算表公式
fx

10 位以上加購的機率

=1 - BINOM.DIST(9, 20, 0.3, TRUE)

結果是 0.0480,大約每 20 天會遇到 1 天。常犯的錯是寫成 1 - BINOM.DIST(10, ...),那樣算出來的是「11 位以上」。

注意:這個模型假設每位客人彼此獨立,而且機率都一樣。如果是情侶一起來、一起決定加購,獨立的假設就不成立,這時極端結果(很多人一起加購,或幾乎沒人加購)的機率會被這個模型低估。

BINOMDIST

BINOM.DIST 的舊名,參數一樣。

語法:

Google 試算表公式
fx

舊名寫法,恰好 6 位

=BINOMDIST(6, 20, 0.3, FALSE)

結果同樣是 0.1916。

BINOM.INV

反過來問:累積機率至少要到 target,最少要幾次成功。拿來備貨很直覺。

語法:

甜點每天最多備幾份,才有 95% 的把握夠賣?

Google 試算表公式
fx

95% 把握夠用的備貨量

=BINOM.INV(20, 0.3, 0.95)

結果是 9。查上面的累積機率:9 份以內是 0.9520(已經超過 0.95),8 份以內是 0.8867(還不到)。所以 9 份是第一個夠的。

這個函式回傳的是「累積機率大於或等於目標」的最小整數,不是四捨五入或內插。目標改成 0.5, 是 6,跟上面的中位數一致。

CRITBINOM

BINOM.INV 的舊名,參數一樣。

語法:

Google 試算表公式
fx

舊名寫法

=CRITBINOM(20, 0.3, 0.95)

結果是 9。

負二項分布

NEGBINOM.DIST

試到第 r 次成功為止,期間恰好失敗 f 次的機率。

語法:

Google 的函式說明只列「失敗次數、成功次數、成功機率」三個引數,沒有累積;實測第四個引數可以給,省略等於 FALSE。Excel 的 NEGBINOM.DIST 則要求四個引數都寫,cumulative 必填,貼到 Excel 時要補上 FALSE 或 TRUE。

試吃攤位每位路人願意買的機率是 25%(假設值)。想知道賣出第 3 份之前,剛好有 5 個人拒絕的機率:

Google 試算表公式
fx

第 3 份賣出前,恰好 5 人拒絕

=NEGBINOM.DIST(5, 3, 0.25)

結果是 0.0779。手算:最後一個人一定是買的,前面 7 個人(5 個拒絕、2 個買)有 C(7,2) = 21 種排法,機率是 21 × 0.25 的 3 次方 × 0.75 的 5 次方 = 0.0779。

第四參數省略或 FALSE 算「恰好」,TRUE 算「以內」。例如 NEGBINOM.DIST(3,2,0.5) 與第四參數 FALSE 都是 0.125,TRUE 為 0.8125。舊名 NEGBINOMDIST 多給第四參數則回 #N/A,兩者不能混用簽章。下面保留逐項加總的寫法,讓累積機率的意思看得見:A2:A7 放 0 到 5,B2 往下填公式,再加總:

Google 試算表公式
fx

B2:失敗 0 次時的機率,往下填到 B7

=NEGBINOM.DIST(A2, 3, 0.25)
Google 試算表公式
fx

5 人以內拒絕的累積機率

=SUM(B2:B7)

結果是 0.3215。這代表有三成多的機會,不用被拒絕超過 5 次就能賣出第 3 份。

NEGBINOMDIST

NEGBINOM.DIST 的舊名,參數一樣。

語法:

Google 試算表公式
fx

舊名寫法

=NEGBINOMDIST(5, 3, 0.25)

結果是 0.0779。

超幾何分布

HYPGEOM.DIST

不放回抽樣:母體裡有 K 個目標,抽 n 個,恰好抽到 k 個目標的機率。

語法:。第五參數省略為 FALSE。

Google 的函式說明只列成功次數、抽出次數、母體中的成功次數、母體大小四個引數,沒有累積,但實測第五個引數可以給。Excel 的 HYPGEOM.DIST 要求五個引數都寫,cumulative 必填,貼到 Excel 時要補上 FALSE 或 TRUE。

一箱 50 個杯子裡有 8 個瑕疵(假設)。隨機抽 10 個檢查,剛好抽到 2 個瑕疵:

Google 試算表公式
fx

抽 10 個恰好 2 個瑕疵

=HYPGEOM.DIST(2, 10, 8, 50)

結果是 0.3217。手算:C(8,2) × C(42,8) ÷ C(50,10) = 28 × 118,030,185 ÷ 10,272,278,170 = 0.3217。

「抽 10 個至少抽到 1 個瑕疵」,也就是驗得出來的機率:

Google 試算表公式
fx

至少抽到 1 個瑕疵

=1 - HYPGEOM.DIST(0, 10, 8, 50)

結果是 0.8568。

跟二項分布的差別是抽了不放回。如果硬用 BINOM.DIST(2, 10, 8/50, FALSE),結果是 0.2856,跟 0.3217 差了約 3.6 個百分點。母體比抽樣數大很多(例如幾萬個抽 10 個)時兩者就會很接近,母體小就要用超幾何。

第五個累積參數省略或 FALSE 為恰好機率,TRUE 為以下累積。HYPGEOM.DIST(1,4,3,10) 與第五參數 FALSE 都為 0.5,TRUE 為 0.6666666667。舊名 HYPGEOMDIST 多給第五參數回 #N/A。

HYPGEOMDIST

HYPGEOM.DIST 的舊名,只接受四個參數,對應恰好機率;不要把新名支援的第五個累積參數直接搬過來。

語法:

Google 試算表公式
fx

舊名寫法

=HYPGEOMDIST(2, 10, 8, 50)

結果是 0.3217。

卜瓦松分布

POISSON.DIST

一段固定時間或空間裡,事件發生 k 次的機率,只需要平均發生次數。

語法:

假設平日中午一小時平均進來 12 位客人。剛好 15 位:

Google 試算表公式
fx

一小時剛好 15 位客人

=POISSON.DIST(15, 12, FALSE)

結果是 0.0724。15 位以內(含):

Google 試算表公式
fx

15 位以內

=POISSON.DIST(15, 12, TRUE)

結果是 0.8444。那 20 位以上算不算怪?

Google 試算表公式
fx

20 位以上的機率

=1 - POISSON.DIST(19, 12, TRUE)

結果是 0.0213,大約 2%,也就是平均每 47 個中午的小時會遇到一次。要是人手只備到能應付 19 位以內,不夠的時間大概就是這 2%。

手算 15 位那個:12 的 15 次方 ÷ 15! × e 的 −12 次方 = 0.0724。

使用時有一個前提:事件要彼此獨立、平均速率要固定。午休的人潮在 12:00 前後和 13:30 差很多,如果把整個中午當成同一個平均值,算出來的尾巴機率會偏低。要拆成幾個時段各算各的。

第三個參數必填:FALSE 算恰好發生指定次數,TRUE 算以下的累積機率。省略第三參數實測回 #N/A,Excel 的 POISSON.DIST 同樣要求三個引數都寫;POISSON.DIST(2,3,FALSE) 為 0.2240418077,改 TRUE 為 0.4231900811。

POISSON

POISSON.DIST 的舊名,累積參數在舊名裡是必填。

語法:

Google 試算表公式
fx

舊名寫法,15 位以內

=POISSON(15, 12, TRUE)

結果是 0.8444。

PROB

不屬於上面任何一個分布:結果和機率自己列在表上,問某個範圍的機率有多大。

語法:

  • 上限省略時,只算剛好等於下限的機率。
  • 機率範圍加起來要等於 1。

以每天客訴件數為例(機率是假設的):

A:客訴件數B:機率
00.40
10.30
20.15
30.10
40.05

這張表從 A2 放到 B6(A1、B1 放標題)。

Google 試算表公式
fx

一天 1 到 2 件客訴的機率

=PROB(A2:A6, B2:B6, 1, 2)

結果是 0.45,就是 0.30 + 0.15。

Google 試算表公式
fx

剛好 2 件的機率

=PROB(A2:A6, B2:B6, 2)

結果是 0.15。

PROB 沒有現成的「期望值」,但可以用 SUMPRODUCT 補:

Google 試算表公式
fx

平均每天客訴件數

=SUMPRODUCT(A2:A6, B2:B6)

結果是 1.1。手算 0×0.4 + 1×0.3 + 2×0.15 + 3×0.1 + 4×0.05 = 1.1。

五個問題的對照

問題公式結果
20 位客人恰好 6 位加購BINOM.DIST(6, 20, 0.3, FALSE)0.1916
95% 把握,甜點備幾份BINOM.INV(20, 0.3, 0.95)9
一小時來客 20 位以上1 - POISSON.DIST(19, 12, TRUE)0.0213
50 個抽 10 個恰好 2 個瑕疵HYPGEOM.DIST(2, 10, 8, 50)0.3217
賣出第 3 份前恰好 5 人拒絕NEGBINOM.DIST(5, 3, 0.25)0.0779

函式只負責把「假設的分布」換成機率,機率值有沒有意義,要看那個 30%、每小時 12 位是不是真的有資料撐著。拿最近一兩個月的實際數字回頭驗一下,比算到小數點後第四位重要。要判斷「實際數字和預期差多少算不尋常」,下一步是 卡方檢定。

分享:
#二項分布#卜瓦松分布#機率#備貨
喜特先生 Mr. Sheet

喜特先生 Mr. Sheet

數據分析師/商業分析師

八年工作經驗,跨不同業界解決數據需求。做過的案例都整理在作品集。

接下來可以

相關文章

查看所有文章

留言討論

共 0 則留言

訂閱電子報,新文章上線就通知你

免費,隨時可取消。

送出即表示同意服務條款與隱私權政策。