JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

機率母函數

當一個隨機變數在「數整顆東西」——正面數、到達數、瑕疵數——時,有一個量身打造的變換:機率母函數。它是一個整齊的多項式,係數「就是」那些機率,而它的導數則一一吐出動差,並馴服變數之和。

為計數而生的變換

本梯級前面的指南給了你動差母函數,M(t) = E[e^(tX)],一個悄悄背負著整個分配、並把和化為乘積的單一函數。動差母函數出奇地通用,但它最賣力的時候,是 X 可以是任意實數的時候。然而有一大類隨機變數要樸素得多:它們只會取 0、1、2、3、…… 這些值。正面數、顧客數、瑕疵數、進球數。對這些「數整數」的變數,有一個合身得像手套的變換——機率母函數(pgf)。

它的定義只是把動差母函數做一個小小的調整。不寫 E[e^(tX)],改寫 G(s) = E[s^X],這裡 s 只是一個數,通常想成落在 -1 到 1 之間某處。(它們甚至是近親:令 s = e^t 就還原出動差母函數,因為 s^X = e^(tX)。)這個替換看似只是表面工夫,但對一個取整數值的變數來說,它生出一個美妙具體的東西:一個關於 s 的冪級數,其係數恰恰就是那些機率。把 E[s^X] 沿著可能的取值展開,你會得到 G(s) = P(X = 0) + P(X = 1) s + P(X = 2) s^2 + P(X = 3) s^3 + …——整個機率質量函數被打包進一個像多項式的物件裡。

係數「就是」那些機率

這就是機率母函數的招牌絕活,動差母函數遠遠做不到這麼乾淨。因為 G(s) = P(X=0) + P(X=1) s + P(X=2) s^2 + …,每一個機率都明擺著當係數坐在那裡。令 s = 0,所有帶 s 的項都消失,只剩 G(0) = P(X = 0)。微分一次,常數項死掉,s 的項變成常數,在 s = 0 處你讀到 G'(0) = P(X = 1)。微分兩次再除以 2 得到 P(X = 2),一般而言 P(X = k) 就是在 0 處的第 k 階導數除以 k 階乘。這正是人們說這個函數「生成」那些機率的原因:搖動曲柄——微分後在 0 處取值——它們就一個接一個地掉出來。

第二個把手給出動差。機率母函數也能還原動差,但走的是所謂的「階乘動差」而非普通動差,而這絕非偶然——計數問題天生就關乎像 X(X-1) 這樣的乘積。乾淨的事實是:G(1) 恆等於 1(這不過是全部機率加總為一,一個免費的自我檢查),G'(1) = E[X] 給出平均,G''(1) = E[X(X-1)]。由這兩者你可以重建變異數:Var(X) = G''(1) + G'(1) - (G'(1))^2,因為 E[X^2] = E[X(X-1)] + E[X] = G''(1) + G'(1)。所以同一個函數,在 0 處微分交給你機率,在 1 處微分交給你動差。

G(s) = E[s^X] = P(X=0) + P(X=1)s + P(X=2)s^2 + ...

probabilities (differentiate at s = 0):
   P(X=k) = G^(k)(0) / k!     e.g.  G(0) = P(X=0)

moments (differentiate at s = 1):
   G(1)  = 1            (total probability)
   G'(1) = E[X]         (the mean)
   G''(1)= E[X(X-1)]    (factorial moment)
   Var(X) = G''(1) + G'(1) - (G'(1))^2
一個函數,兩個取值點:在 0 處微分取機率,在 1 處微分取動差。

一個範例:卜瓦松,一步到位

取一個率為 lambda 的卜瓦松計數——比方說一小時內的電子郵件數。它的質量函數是 P(X = k) = e^(-lambda) lambda^k / k 階乘。代入定義,那個求和漂亮地塌縮:G(s) = 對 k 求和的 s^k e^(-lambda) lambda^k / k 階乘 = e^(-lambda) 乘上 e^(lambda s) 的級數,也就是 e^(lambda(s - 1))。這個單一精簡的公式 G(s) = e^(lambda(s-1)),就是整個卜瓦松分配揣進你口袋裡了。

  1. 檢查自我檢查條件:G(1) = e^(lambda(1-1)) = e^0 = 1。很好——全部機率為一。
  2. 平均:微分得 G'(s) = lambda e^(lambda(s-1)),故 E[X] = G'(1) = lambda。平均計數恰好就是那個率。
  3. 階乘動差:G''(s) = lambda^2 e^(lambda(s-1)),故 G''(1) = lambda^2 = E[X(X-1)]。
  4. 變異數:Var(X) = G''(1) + G'(1) - (G'(1))^2 = lambda^2 + lambda - lambda^2 = lambda。平均與變異數都等於 lambda——卜瓦松著名的標誌,而我們沒有親手加總任何一個無窮級數就還原出來了。

計數之和化為機率母函數之乘積

機率母函數承繼了這些變換共有的頭號超能力:它把相加變成相乘。如果 X 與 Y 獨立,那麼對 Z = X + Y,機率母函數會分解:G_Z(s) = G_X(s) 乘 G_Y(s)——正是你在和的動差母函數那裡見過的同一條「和變乘積」規則。理由是同一句話:s^(X+Y) = s^X 乘 s^Y,而獨立性讓乘積的期望拆成期望的乘積。所以與其硬磨兩個計數分配那團亂的卷積,你只要把兩個整齊的函數相乘。

看它一行就見效。把兩個率為 lambda 與 mu 的獨立卜瓦松相加:G_Z(s) = e^(lambda(s-1)) 乘 e^(mu(s-1)) = e^((lambda+mu)(s-1))。這個乘積表面上看就是率為 lambda + mu 的卜瓦松的機率母函數。結論——不用微積分、不用無窮和:兩個獨立卜瓦松計數的總和本身也是卜瓦松,率單純相加。同一招也顯示:把若干獨立的、機率母函數為 (1 - p + p s) 的白努利指示變數相加,得到 (1 - p + p s)^n——這正是二項分配的機率母函數,也正是「二項就是 n 次擲幣加起來」的圖像。

它能釘死什麼,又止步於何處

機率母函數不只是摘要一個計數分配——它「決定」這個分配。兩個非負整數變數若在某段 s 的區間上有相同的機率母函數,它們的機率就逐項相同,因為相等的冪級數必有相等的係數。所以當你把機率母函數相乘並認出乘積時,那份認出是一個如假包換的證明,而非僥倖的猜測:上面卜瓦松加卜瓦松、白努利變二項的論證都是滴水不漏的。這份唯一性,與動差母函數唯一性定理背後是同一個原理,只是換成了計數情形——而那裡的係數字面上就是機率。

不過要老實交代邊界。機率母函數是專家:它只活在非負整數計數上,所以對身高、等待時間或溫度它一句話也說不出。而且雖然 G(s) 在 s 介於 -1 與 1 之間時安全收斂(機率加總為一,級數在那裡表現良好),要讀出動差卻需要在 s = 1 處的導數為有限,這對沒有有限平均的重尾計數可能會失敗。當你長大、跨出計數的世界——連續變數、可能為負的值、甚至毫無有限動差的分配——你就會升級到特徵函數,那個對「每一個」分配無一例外都存在的變換,也就是下一篇指南的主題。