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

均勻分配與指數分配

兩個最簡單的連續分配:均勻分配把權重完美均勻地鋪在一個區間上,而指數分配——等待時間的法則——把權重堆在零附近、再平滑地淡去。兩者一起把「密度」與「等待」變得具體可感。

從長條到一條平滑曲線

來到這個階段時,你已經對離散分配很自在了——在那裡,機率質量函數會在每個值上堆起一塊確定的機率。連續隨機變數有一點令人困惑的不同:任何單一的精確值,機率都是零。問「隨機選到的等待時間恰好是 3.0000... 秒」的機率是多少,答案是 0,因為有不可數那麼多個實數在爭奪同一個有限的總量 1。機率現在不再住在點上,而是住在區間上,並由一個[[probability-density-function|機率密度函數]] f(x) 來描述。

有兩條規則讓密度保持誠實。它絕不能變成負的(任何地方都不可能有負機率),而且它的總面積必須恰好等於 1(某個值一定會發生)。使 f(x) > 0 的那組 x 稱為分配的支撐集——也就是結果真正可能落入的區域。手裡握著這幅圖,我們就能來認識兩個最親切的連續形狀:一片平坦的高原,和一道平滑的下坡。

均勻分配:在一個區間上完全公平

區間 [a, b] 上的[[continuous-uniform-distribution|連續均勻分配]],記為 X ~ Uniform(a, b),是「每個結果都一樣可能」的連續版本。它的密度是平的:在 [a, b] 上是一個固定高度,在外面則為零。由於總面積必須是 1、而底邊寬度是 b - a,高度就被迫等於 1/(b - a)。除了「一個面積為 1 的矩形」之外,這裡沒什麼要背的。一個可以停在錶盤上任何位置的指針,或一具只報整秒的時鐘所產生的捨入誤差,都能用均勻分配很好地描述。

由於密度是平的,機率就只是長度而已。對 Uniform(0, 10) 來說,值落在 [2, 5] 的機率,就是一個寬 3、高 1/10 的矩形面積,也就是 3/10——你不必積分就能讀出來。累積分配函數 F(x) = P(X <= x) 像一道直線斜坡,從 x = a 處的 0 一路爬到 x = b 處的 1。由對稱性,平均數恰好落在正中間,E[X] = (a + b)/2;做個短短的積分可得變異數 Var(X) = (b - a)^2 / 12。區間越寬,分散得越開,正如你的直覺所料。

指數分配:等待的法則

現在把那片平坦的高原彎成一道滑梯。[[prob-exponential-distribution|指數分配]] X ~ Exponential(lambda),描述某件事發生之前的等待時間:到下一通電話、下一次放射性衰變、櫃台前下一位顧客的時間。它的密度住在非負的半直線上、平滑地衰減,f(x) = lambda * e^(-lambda x)(當 x >= 0),而 x < 0 時為 0。唯一的參數 lambda > 0 是一個[[rate-intensity-parameter|率]]——也就是每單位時間的事件數。lambda 越大,事件來得越快,所以你平均等得越短;lambda 越小,等待就漫長而有耐心。

把你真正會用到的兩個事實推導出來,比硬背划算得多。累積分配函數來自對密度積分:F(x) = P(X <= x) = 1 - e^(-lambda x)(當 x >= 0)。在實務上更有用的是它的補集,也就是存活函數,即「到了時刻 x 你仍在等待」的機率:P(X > x) = e^(-lambda x)。平均等待時間竟然是率的倒數,E[X] = 1/lambda,這讀起來很漂亮:如果電話以 lambda = 3 通/分鐘的速率到來,你平均等 1/3 分鐘。變異數則是 Var(X) = 1/lambda^2。

X ~ Exponential(lambda),   lambda > 0,   x >= 0

  density   f(x) = lambda * e^(-lambda x)
  CDF       F(x) = 1 - e^(-lambda x)
  survival  P(X > x) = e^(-lambda x)

  E[X]   = 1 / lambda          (mean wait = 1 / rate)
  Var(X) = 1 / lambda^2
指數分配的全貌:單一個率參數 lambda 掌控一切。

一個小小的算例可以把它釘牢。假設一個服務台以 lambda = 2 通/小時的速率接到電話,那麼到下一通電話的等待時間就是 Exponential(2)(以小時為單位)。等超過 30 分鐘(x = 0.5 小時)的機率是 P(X > 0.5) = e^(-2 * 0.5) = e^(-1),約為 0.37。平均等待是 1/2 小時 = 30 分鐘,然而超過這個平均值的機率卻只有 37%,而非 50%——又長又薄的尾巴把平均數拉到中位數的右邊。這種不對稱是指數分配的招牌特徵,也是一個有用的提醒:對於一個偏斜的分配,平均數和典型值並不是同一回事。

為什麼是指數分配,而不是別的曲線?

指數分配不是因為方便才被挑中的;它是被一個自然的假設逼出來的。回想上一階段的離散卜瓦松分配,那是計算「在一個固定時段內發生了幾件事」的稀有事件法則。它的連續夥伴是卜瓦松過程:事件以固定的平均率 lambda 發生、彼此獨立、沒有任何兩件恰好同時發生。指數分配,正是這種過程「連續兩個事件之間的時間」的分配。數事件的件數得到卜瓦松;計兩件之間的間隔得到指數。它們是同一種底層隨機性的兩種看法。

  1. 從存活函數出發:「在時刻 x 仍在等待」意味著在 [0, x] 內沒有任何事件發生。
  2. 在卜瓦松過程中,長度為 x 的窗口內的事件數服從平均數為 lambda*x 的卜瓦松分配,所以「零件事件」的機率是 e^(-lambda x)。
  3. 因此 P(X > x) = e^(-lambda x);等待時間超過 x,恰好就是 [0, x] 內的計數為零的時候。
  4. 對 F(x) = 1 - e^(-lambda x) 微分,便回復出密度 f(x) = lambda*e^(-lambda x)。一旦你假設了固定的率,指數分配就是不可避免的結果。

這個身世故事,也正是指數分配最著名、最違反直覺的性質的來源:無記憶性。如果你已經為一通電話等了 10 分鐘,那麼剩餘等待時間的分配,和你一開始時完全一樣——這個過程不會「暖機」,也不會「逾期該來了」。這是賭徒謬誤的連續版表親:一個 Exponential(lambda) 的等待時間,並不記得你已經站在那裡多久。它是固定率隨機性的一個真實特徵,而非悖論;緊接著的下一篇指南,就專門用來把「它到底意味著什麼、不意味著什麼」釘清楚。

誠實的細則與陷阱

這兩個模型都是靠著做出強烈的假設來換取簡單,而在假設失效的地方使用它們,正是常見的錯誤。均勻分配假設整個區間內每處都真正等可能——但真實的「隨機」選擇很少是平的。人挑的數字、檔案大小、城市人口都以「不均勻」著稱,所以僅僅因為你「沒有任何資訊」就抓 Uniform(a, b) 來用,可能悄悄地就錯了。指數分配假設一個從不隨年齡改變的固定率。這對放射性衰變和隨機到達非常好用,但對機械零件或生物體就不合適了,因為它們的失效率會隨著磨損而升高。

解決最後那個失效的辦法,正指向前方。當允許率隨年齡改變時——這由危險率這個工具捕捉,本階段其餘部分會加以發展——指數分配就推廣成更豐富的家族。把好幾個獨立的指數分配相加,得到伽瑪分配(等到第 k 件事件,而不只是第一件);把那個固定的率彎成時間的某個冪次,則得到韋伯分配,也就是磨損失效的標準模型。指數分配是拱心石:它是那無記憶的特例,端坐在你將於第 5 篇指南探索的整個等待時間法則家族的正中央。

最後,再提醒一次本篇引入的這個基石觀念,因為它撐起了後面的一切。對連續變數而言,f(x) 這個值本身並不是任何機率問題的答案;只有面積才是。當有人說「恰好 4.2 秒的機率」時,他是在隨口說說——那個機率是 0,而他幾乎總是指 4.2 附近一個小區間的機率,約等於 f(4.2) 乘上那個區間的寬度。把「高度」和「面積」放進不同的抽屜裡,連續的世界就不再令人困惑了。