「隨機」究竟是什麼意思(以及不是什麼意思)
在日常用語裡,「隨機」常指奇怪、不公平,或憑空冒出來——「怎麼會發生這麼隨機的事」。但在統計學裡,它的意思精確得多、也有用得多:在任何單一次發生時你無法預測它的結果,但只要觀察很多次,它就會呈現出一個穩定、可被掌握的規律。單擲一次硬幣無法預測;同一枚硬幣擲一萬次卻極度可預測:大約一半會是正面。
這是本篇最重要的觀念翻轉。隨機並不是「沒有規律」——而是一種只在「整體」中才顯現的規律。賭場無法告訴你輪盤下一轉是贏是輸;但它能幾乎精準到個位數地告訴你,一百萬轉下來它會賺多少。資料科學正活在這道縫隙裡:單一事件充滿不確定,但它們的整體行為卻規律到足以讓一門生意押注其上。
隨機可以來自兩個截然不同的源頭,把它們分開來看會很有幫助。有些是製程裡真正內建的機遇——放射性衰變、量子雜訊、充分洗勻的一副牌。但資料中的大多數隨機,其實是我們自己的無知:下一位顧客會不會點擊,原則上由他的心情、螢幕、天氣,以及上百個我們從未測量的原因所決定。正因為我們看不見那些原因,從我們的角度看,這個結果的行為就和機遇一模一樣。對於做統計而言,源頭通常不重要——兩者我們都用同一套方式來建模。
一分鐘講完機率:長期相對次數
機率不過是一個介於 0 與 1 之間的數字,用來衡量某件事在「長期」中發生的頻繁程度。0 代表從不發生;1 代表總是發生;1/2 代表發生與不發生的次數差不多。整個概念就這麼簡單。當我們說一顆公正的六面骰子擲出 4 的機率是 1/6,我們其實是在做一個具體、可檢驗的宣稱:如果你擲 6,000 次,你大約應該看到 1,000 個 4。
這就是機率的頻率學派讀法(之所以這樣命名,是因為它把機率綁在長期相對次數上):一個事件的機率,就是在相同條件下不斷重複這個情境時,它會發生的那個比例。對於每個結果機會均等的情況——公正的骰子、洗勻的牌——你只要數一數就能算出機率。
當各結果機會均等時,算機率就是在數數。擲出 4:六個面中有一個是我們要的,所以是 1/6 ≈ 0.167。
兩條規則能帶你走很遠。第一,每個機率都落在 0 與 1 之間——你永遠不會看到 −0.3 或 1.4。第二,如果你把一次試驗所有可能的結果都列出來、彼此不重疊、也沒有遺漏,它們的機率加起來剛好等於 1。骰子六個面各有 1/6 的機率,而 6 × 1/6 = 1:總得發生某件事。所有可能結果所成的集合稱為樣本空間(sample space),而我們在意的「某件事」——例如「擲出偶數」——則是一個事件(event),它不過是一些結果的集合。
兩點誠實的提醒。長期的圖像是一種理想化:你其實永遠不會真的把骰子擲無限多次,而一枚公正的硬幣完全可能連續出現七次正面——那是隨機,不是壞掉的硬幣。另外,機率對於「你下一次單獨會得到哪個結果」什麼都沒說。如果有人告訴你連出好幾次正面後硬幣「該」出反面了,那他就中了賭徒謬誤(gambler’s fallacy)的圈套;硬幣沒有記憶。
如果你想要把規則慢慢鋪陳一遍——樣本空間、事件,以及機率如何相加相乘——可參考機率基礎與樣本空間與事件。但就我們的目的而言,上面這個一分鐘版本已經足夠讓我們上路了。
用一張具體的表格講條件機率與獨立性
大多數真實的問題都不是「這件事有多可能?」,而是「在我已經知道的前提下,這件事有多可能?」後者就是條件機率(conditional probability):當你已經得知另一件事為真之後,某件事發生的機會。記號 P(A | B) 唸作「在 B 之下 A 的機率」,那一條直槓就是「在⋯⋯之下」的意思。它幾乎是你日後用資料做任何預測時背後的引擎。
我們用一個小小的行銷資料集把它變具體。想像有 1,000 位電子報訂閱者。我們寄了一封信給他們,之後記錄了誰打開、誰後來購買。下面這四個格子——一張列聯表(contingency table,就是把兩個是/否變數交叉統計)——裝著整個故事。
bought did not buy row total opened email 80 320 400 did not open 20 580 600 -------------------------------------------------- column total 100 900 1,000
先看最樸素、沒有條件的購買率。1,000 人中有 100 人購買,所以 P(購買) = 100/1,000 = 0.10,也就是 10% 的機會。現在我們以「有打開信件」為條件。在 400 位打開者中有 80 人購買,所以 P(購買 | 打開) = 80/400 = 0.20——20% 的機會。在 600 位未打開者中只有 20 人購買,所以 P(購買 | 未打開) = 20/600 ≈ 0.033,約 3.3%。多知道一個事實——他們打開了嗎?——就把我們對購買機率的估計,從 10% 移動到 20% 或 3.3%。這個「移動」正是「下條件」的全部價值。
公式:兩件事都發生的機率,除以你所依據的那件事的機率。這裡 P(購買且打開)=80/1000、P(打開)=400/1000,1000 約掉後就得到 80/400。
現在看另一面。當得知其中一件事「完全不會」改變你對另一件事的判斷時,這兩個事件就是獨立(independence)的——下了條件,機率卻動也不動。嚴格地說,若 P(A | B) = P(A),則 A 與 B 獨立,這等價於說它們的聯合機率可以拆成乘積:
把獨立性看成乘法。兩次公正的擲硬幣:P(先正面再正面) = 0.5 × 0.5 = 0.25,因為第一次的結果對第二次毫無透露。
我們的「打開信件」與「購買」顯然不獨立:若它們獨立,P(購買 | 打開) 應該等於樸素的 P(購買)=10%,但它是 20%。打開與購買是結伴同行的。相對地,兩次公正的擲硬幣是獨立的——硬幣沒有記憶,第二擲不理會第一擲。而從一副牌中抽兩張、抽完第一張不放回,就不獨立:抽走黑桃 A 會改變剩下的牌。
更多範例請見條件機率與獨立性。老實說,能用正確的方式下條件,並察覺獨立性在何時悄悄失效——這正是「謹慎的分析師」與「自信的分析師」之間很大一部分的差別。
隨機變數:把結果變成數字
到目前為止,我們的結果都是文字——正面、打開、一個 4。要對「機遇」做算術,我們需要數字。隨機變數(random variable)不過是一條規則,把一個數字貼到隨機過程的每個結果上。最經典的日常例子:擲三枚硬幣,令 X 為正面的個數。無論發生什麼,X 都是 0、1、2、3 其中之一,而在擲之前,會是哪一個是機遇的事。我們通常用大寫字母(X)寫這個變數,用小寫字母(x)寫它取到的某個特定值。
把這個變數所有可能的取值,連同每個取值的機率一併列出來,你就有了它的機率分配(probability distribution)——一個隨機變數完整的指紋。三枚公正硬幣共有八個機會均等的結果,數一數每種正面個數各對應幾種結果,就得到:
X = number of heads in 3 coin flips
x outcomes that give it P(X = x)
0 TTT 1/8 = 0.125
1 HTT, THT, TTH 3/8 = 0.375
2 HHT, HTH, THH 3/8 = 0.375
3 HHH 1/8 = 0.125
total: 8/8 = 1隨機變數有兩種風味。離散型(discrete)只能取一些彼此分開、原則上可以一一列出的值——正面個數、今天的客服工單數、1 到 5 顆星的評分。連續型(continuous)則能取某個範圍內的任何值——一個人的精確身高、到你下一次造訪網站的確切時間、一個溫度。對離散變數,我們可以給每個值一個機率;對連續變數,任何「剛剛好的單點值」機率基本上是零(沒有人「剛好」是 170.000⋯ 公分),所以我們改談「落在某個區間內」的機率,並把它想成曲線下的面積。等一下講鐘形曲線時,我們就會看到那條曲線。
為什麼要費事把結果變成數字?因為有了數字,我們才能「摘要」。與其隨身扛著整張八列的表,我們可以對任何隨機變數問兩個簡單的問題:它的中心在哪裡?它有多分散?這兩個數字——下一節登場——就描述了我們通常需要知道的絕大部分。
中心與分散:平均數、變異數、標準差
一個隨機變數的中心是它的期望值(expected value,又稱平均數)——如果你一遍又一遍地對它抽樣,你會得到的那個長期平均值。它不是「最可能的單一值」,甚至不一定是變數能取到的值;它是分配的「平衡點」。以公正的骰子為例,把六個面平均:(1+2+3+4+5+6)/6 = 3.5。你永遠擲不出 3.5,但成千上萬次的擲骰,平均起來剛好落在 3.5。
當各結果機會不均等時,相加之前先用各自的機率為每個值加權——也就是一個「以機率加權的平均」。以我們三枚硬幣的變數 X 為例,就是 0×(1/8) + 1×(3/8) + 2×(3/8) + 3×(1/8) = 12/8 = 1.5,平均 1.5 個正面,這完全合理:三枚硬幣,每枚平均貢獻半個正面。
期望值:走過每個可能的值,乘上它的機率,再相加。當各結果機會均等時,這就只是普通的平均數。
但只看中心可能會騙了你。想像兩檔基金,平均年報酬都是 5%。A 基金每年都穩穩地 +5%。B 基金則是好年 +25%、壞年 −15%,各一半機會。它們的平均數一模一樣(0.5×25 + 0.5×(−15) = 5),但持有它們是天差地別的兩回事。我們需要第二個數字,描述結果在中心附近「跳動」得多劇烈。那個數字就是變異數(variance),以及它更易讀的表親標準差(standard deviation)。
變異數是「與平均數距離的平方」的平均。為什麼要平方?否則高於與低於平均數的差距會互相抵消成零,而且平方也讓「大失誤」比「小失誤」受到更重的懲罰。對 A 基金,每個結果都剛好等於平均數,所以變異數是 0——沒有意外。對 B 基金,每個結果都離平均數 20 個百分點,所以變異數是 0.5×(20²) + 0.5×(20²) = 400。
變異數是「與平均數 μ(希臘字母『mu』)距離的平方」的期望值。標準差 σ(『sigma』)是它的平方根,會回到原本的單位。
平方把單位也「吹大」了——變異數 400 的單位是「百分點的平方」,這對人來說毫無意義。於是我們取平方根,回到單純的百分點:B 基金的標準差是 √400 = 20%,而 A 基金是 √0 = 0%。這才是人能「感覺到」的關鍵數字:B 基金的年報酬通常會落在離 5% 平均值約 20 個百分點之處。標準差是日常衡量「分散、風險與雜訊」的尺度——把它記牢;你會不斷用到它。
一座小小的分配動物園
少數幾個有名字的分配,就足以描述你日後會建模的隨機事物中相當大的一部分。把它們想成「樣板」:認出你問的是哪一類問題,正確的形狀就會連同公式、直覺與現成的工具一起到位。以下是第一天就值得認識的五種。
- 伯努利(Bernoulli)——一次成功機率為 p 的是/否試驗。一次擲硬幣、一位會點或不會點的訪客。其他分配都是由這個「原子」堆出來的。
- 二項(binomial)——在 n 次獨立伯努利試驗中成功的次數。寄出 10 封信、每封各以 0.2 的機率被打開;這 10 封會被打開幾封?我們三枚硬幣的「正面個數」就是一個 n = 3、p = 0.5 的二項分配。
- 卜瓦松(Poisson)——在固定的一段時間或空間內、稀少事件的計數,前提是每個事件可獨立發生。每小時的客服工單、每頁的錯字、每分鐘抵達的顧客。
- 均勻(uniform)——某個範圍內的每個結果機會均等。一顆公正的骰子、一個良好的亂數產生器在 0 到 1 之間取數。它刻意地平坦、毫無特徵。
- 常態(normal)——連續的鐘形曲線:對稱、單峰,大部分的「質量」集中在平均數附近,遠處的尾巴很薄。身高、測量誤差,以及——關鍵的——許多事物的平均。
五張並排的小圖:兩根長條的伯努利、隆起且對稱的二項、向右偏斜的卜瓦松、平坦的均勻,以及平滑對稱、鐘形的常態曲線。
選分配,真正在做的是「對上你資料生成的故事」,而不是去找「最貼合某張直方圖的曲線」。問問自己:每筆觀測是一次單一的是/否嗎?那就是伯努利。是在固定次數的嘗試中數成功幾次嗎?二項。是在一段區間內數稀少事件嗎?卜瓦松。是每個結果都機會均等嗎?均勻。而每當你看的是「平均」或「許多小影響的總和」時,就該懷疑是常態——這正是下一節。
為什麼常態分配無所不在
在所有形狀中,常態——那條鐘形曲線——是你最常遇到的一個,而背後有個深刻的原因。並不是大自然偏愛鐘形。而是:每當一個量是「許多小而獨立的影響的總和或平均」時,無論單個零件長什麼樣,這個總和都傾向於看起來像常態。一個人的身高是許多基因,加上營養、加上睡眠、加上機遇的總和——而身高就是鐘形的。一個測量誤差是數十個微小抖動的總和——而誤差就是鐘形的。這個近乎魔法的事實有個名字:中央極限定理(Central Limit Theorem)。
這裡有個迷你版的示範。單擲一顆骰子是均勻的——平坦,一點也不鐘形。但若你擲十顆骰子、取它們的平均,再把這件事重複幾千次、並把所有這些平均值畫出來:圖像會是一條乾淨的鐘形,中心在 3.5。單顆骰子的「平坦」消失了;取平均,從一個非常態的原料中「製造」出了常態的形狀。在下面試試看。
一個互動面板:選擇一個崎嶇不平的來源分配與一個樣本數;反覆抽樣並把樣本平均畫出來,會逐漸堆出一條平滑、對稱、鐘形的直方圖,而且隨樣本數增大而收窄。
鐘形之所以方便,是因為一旦你知道它的中心(平均數 μ)與分散(標準差 σ),你就完全掌握了它。這帶出了著名的經驗法則(empirical rule,又稱 68–95–99.7 法則),對任何常態分配都成立:約 68% 的值落在離平均數一個標準差之內、約 95% 在兩個之內、約 99.7% 在三個之內。如果成人身高平均 170 公分、標準差 7 公分,那麼約 95% 的人落在 156 到 184 公分之間——而一位 200 公分的人,離平均數超過四個標準差,是真正的罕見。
標準化(standardize):減去平均數、再除以標準差,把任何值表達成「離平均幾個標準差」。那位 200 公分的人,z = (200−170)/7 ≈ 4.3。
最後這一點——平均會隨樣本變大而變得常態、可預測——正是整個領域旋轉所依的那個樞紐。它讓一份幾千人的調查能代表數百萬人,也賦予誤差範圍它的寬度。我們在這裡只是先預告;下一篇會讓它成為主秀。延伸閱讀:常態分配(數學細節見常態分配)、中央極限定理(其正式敘述),以及它較安靜的手足大數法則。