猜一個數字:點估計
想像你經營一家小型網路商店。你想知道一個數字:在所有曾經、以及將來會造訪你網站的人之中,真正下單購買的比例是多少?這個比例就是你真正的轉換率(conversion rate)。問題很明顯——你無法等到每一位未來的訪客都來過,更不可能去問那些還沒上門的人。這個真實比例是一個固定、但你不知道的數字,靜靜地待在這世界的某處。
於是你做一件務實的事:你看一個樣本。上週有 2,000 人造訪,其中 60 人買了東西。對那個真實比例,你最好的單一數字猜測就是 60 除以 2,000,等於 0.03,也就是 3%。這個單一數字——你對未知量所做的那一個最佳猜測——就稱為點估計(point estimate)。
把兩個初學者常常混在一起的概念分開,會很有幫助。那個配方——「數出買家人數,再除以訪客人數」——叫做估計量(estimator):它是一條固定的規則,你可以套用在任何樣本上。而這條配方針對「這一個」樣本吐出來的數字——3%——叫做估計值(estimate)。統計學家會幫那個未知的真值取個名字(這裡是母體的轉換率,寫作 p),並用一個頭上戴著小帽子的符號來表示估計值。
比例的點估計:「是」的次數(x)除以樣本數(n)。p 上面那頂帽子(讀作 p-hat)是「從資料估計而來」的通用標記。
這正是統計推論的全部工作:從一個你看得到的樣本,伸手去談一個你看不到的母體。點估計是這份工作的前半段;圍繞它的不確定性,則是後半段——也是更重要的那一半。
每個估計都有誤差:再談標準誤
關鍵的思考轉折在這裡。你的 3% 來自一個隨機樣本。如果宇宙再隨機交給你一個同樣是 2,000 名訪客的全新一週,你算出來的數字會略有不同。想像把這件事重複幾千次:幾千個星期、幾千個點估計,每一個都有點不一樣。把它們全部收集起來,就構成一個分配——你那個估計值的抽樣分配(sampling distribution)。
這幅圖像是推論的核心,你在上一篇已經見過它。那些估計值會聚集在真值附近,而且因為中央極限定理,這個聚集呈鐘形——一個常態分配——即使原始資料(買或不買的是非題)一點也不像鐘形也一樣。我們現在想要的,是一個用來衡量「這團聚集有多寬」的數字:也就是我們的估計值,從一個樣本到另一個樣本之間,會晃動得多厲害。
那個數字就是標準誤(standard error)。它其實就是抽樣分配的標準差——也就是一個估計值與真值之間的典型距離。要小心:標準誤不是你「原始資料」的離散程度,而是「估計值本身」的離散程度。對比例來說,它有一條清爽的公式;對平均數來說,公式甚至更清爽。
左:平均數的標準誤,等於資料的離散程度(sigma)除以樣本數的平方根。右:比例的對應公式。兩者都以「一除以根號 n」的速度縮小。
把你的數字代進去。當 p-hat = 0.03、n = 2,000,標準誤就是「0.03 乘以 0.97 再除以 2,000」的平方根,算出來大約是 0.0038——約 0.38 個百分點。所以你的估計值在每週之間的典型晃動,還不到半個百分點。正是這一個數字,把一個赤裸裸的猜測,變成一個誠實的猜測。
一個標示為「母體」的大方框,一個箭頭指向標示為「樣本」的小方框,再一個箭頭指向一條由許多樣本估計值構成的鐘形曲線;鐘的半寬標示為「標準誤」。
一步一步建立信賴區間
點估計是數線上的一個點。信賴區間(confidence interval)則是圍繞那個點畫出的一段範圍,它實際上是在說:「真值很可能就落在這裡面某處。」建立它的方法,是從你的估計值出發,往左右兩邊各伸出「若干個標準誤」的距離。整個概念就這樣;其餘的都只是記帳。
- 算出點估計。這裡 p-hat = 3%。
- 算出標準誤。這裡 SE = 0.38 個百分點。
- 選一個信心水準。95% 是慣用的預設值;90% 與 99% 也很常見。
- 查出該水準對應的乘數。由於抽樣分配近似常態,95% 對應到約 1.96。
- 相乘:誤差範圍 = 乘數 × SE = 1.96 × 0.38 ≈ 0.75 個百分點。
- 往兩邊各伸出去:區間 = 估計值 ± 誤差範圍 = 3% ± 0.75% = [2.25%, 3.75%]。
用符號寫出的信賴區間配方:取估計值,再加上、減去「乘數 z-star 乘以標準誤」。那個「加減」的部分,自己有個名字。
那個「加減」的部分——這裡是 0.75 個百分點——就是誤差範圍(margin of error)。它正是民調新聞說「支持度 52%,正負 3 個百分點」時所指的同一個量。誤差範圍把標準誤和你所選的信心水準,打包成一個圍繞估計值、容易閱讀的半徑。
「95% 信心」究竟是什麼意思(又不是什麼)
現在來談整個統計學裡最常被誤解的一句話。你算出了 [2.25%, 3.75%]。最誘人的讀法是:「真實轉換率落在 2.25% 到 3.75% 之間的機率有 95%。」它聽起來完全合理。但在標準的(所謂頻率學派,frequentist)觀點下,它是錯的。
為什麼?因為真實比例是一個固定的數字。它就是它本來的樣子——比方說 3.1%——而且不會移動。你算出來的區間,一旦定下來也是固定的。所以真值要嘛在 [2.25%, 3.75%] 裡面、要嘛不在;對一個早已塵埃落定的事實,談不上「95% 的機率」,就像「7 大於 5」沒有 95% 機率一樣。隨機性從來不在真相裡,它在你的樣本裡。
那麼,這 95% 是關於什麼的?它是「程序」的一項性質,不是「這一個」區間的性質。想像把整套流程一再重複——抽一個全新的隨機樣本、算一個全新的區間——如此反覆。其中約有 95% 的區間會涵蓋真值,約有 5% 會完全錯過。「95% 信心」是「這個區間出自一套有 95% 機率正確的方法」的簡稱。眼前這一個區間,只是這台「長期可靠的機器」吐出的一次結果;你就是無法知道今天這一次,是幸運的 95 之一、還是不幸的 5 之一。
一條垂直線標出真實的轉換率。來自反覆抽樣的數十個水平信賴區間沿頁面層層堆疊;大多數都穿過那條線,而被標示出來的少數幾個整個偏向一側、完全錯過了它。
如果你真心想要一句像「這個比例落在此範圍內的機率有 95%」的陳述,那種陳述確實存在——但它需要另一套哲學。貝氏的可信區間(credible interval)把未知的比例本身當成「帶有一個機率分配」,因此它可以名正言順地被讀成「關於那個值的機率」。那是另一台機器、有不同的輸入(你必須提供一個先驗信念),它在貝氏推論那一篇另有專文。
寬度:樣本數、變異性與信心水準
寬的區間是個模糊的答案;窄的區間則是個精確的答案。控制寬度的旋鈕有三個,而且就只有三個。一旦你看懂它們,你就能用清明的眼光去讀任何一個區間——或設計任何一項研究。
第一個旋鈕是樣本數 n。更多資料會讓區間變窄——但記得平方根定律,所以寬度是以「一除以根號 n」的速度縮小,而不是「一除以 n」。具體而言:要把 0.75 點的誤差範圍砍成一半,你不是把樣本從 2,000 加倍到 4,000,而是要翻成四倍、到 8,000,才會把誤差範圍降到約 0.37 點。前一千名訪客替你買到很多精確度;第一萬名幾乎買不到什麼。
第二個旋鈕是資料本身的變異性——平均數用 sigma,比例用 p(1−p)。結果越吵雜,區間就越寬。對比例來說,這在 50% 處達到最大,因為那裡的結果最難預測;越接近 0% 或 100% 就越收緊。你通常無法控制這個旋鈕,但了解它,能解釋為什麼有些量天生就比其他量更難釘住。
第三個旋鈕是信心水準本身。要求更高的信心——用 99% 取代 95%——會把乘數從 1.96 推到 2.576,並讓區間變寬。天下沒有白吃的午餐:你只能用「接受一個更模糊的答案」來換取「更高的確定性」。一個 100% 信心的區間會是「介於 0% 到 100% 之間」——絕對安全,也絕對無用。
三個旋鈕濃縮成一行:信心乘數 z-star(變大=變寬)、變異性 sigma(變大=變寬),以及根號底下的樣本數 n(變大=變窄,但報酬遞減)。
同樣那一疊信賴區間,現在多了「樣本數」與「信心水準」兩個滑桿;增大樣本數會明顯縮短每一根橫條,提高信心水準則會把它們全部拉長。
做決策時,信賴區間勝過光禿禿的 p 值
p 值(下一篇的主角)回答一個是非題:這個效果能不能和零區分開來?信賴區間則回答決策者真正關心的問題:這個效果有多大、我們又有多確定?區間裡其實包含了 p 值的答案,並補上了 p 值丟掉的那個「大小」。
把它講具體。兩個 A/B 測試都回報「統計上顯著,p < 0.05」。測試 A 對提升幅度的 95% 區間是 [+0.1%, +0.3%]:真實,但很小。測試 B 的是 [+4%, +18%]:很大,但非常不確定。光禿禿的 p 值無法把這兩者分開——兩個都只說了「不是零」。但區間把你需要的一切都說了:B 那種成效該上線,而 A 那種成效,你得先問它值不值得那些工程投入。
這裡有個漂亮的對應:一個排除了零的 95% 區間,對應到一個在 5% 水準下顯著的檢定;而一個包含了零的區間,對應到一個不顯著的檢定。但區間能顯示出「不顯著」這三個字所掩蓋的東西。「不顯著」可以代表兩種相反的情況:一個緊貼著零的窄區間(有力證據顯示效果很小),或一個橫跨零的巨大區間(我們根本還毫無頭緒)。同樣的判決,卻是完全不同的處境——而只有區間能揭露你身處哪一種。
實例演練:估計轉換率
讓我們把整條流程,用一組全新的數字,慢慢地完整跑一次。你上線了一個重新設計的結帳頁。在測試期間,它吸引了 4,000 名訪客,其中 220 人完成轉換。你想要一個誠實的估計,來描述這個新頁面真正的轉換率。
- 點估計:p-hat = 220 / 4,000 = 0.055,也就是 5.5%。
- 標準誤:「0.055 × 0.945 / 4,000」的平方根 ≈ 0.0036,也就是 0.36 個百分點。
- 95% 的誤差範圍:1.96 × 0.0036 ≈ 0.0071,也就是 0.71 個百分點。
- 區間:5.5% ± 0.71% = [4.79%, 6.21%]。
完成的區間。把它念出來:我們最好的猜測是 5.5%,而我們有 95% 信心,這套方法所給的區間 [4.8%, 6.2%] 涵蓋了真實比例。
import numpy as np n, x = 4000, 220 p = x / n # point estimate = 0.055 se = np.sqrt(p * (1 - p) / n) # standard error = 0.0036 z = 1.96 # 95% multiplier (normal) lo, hi = p - z * se, p + z * se # 95% CI = (0.0479, 0.0621) print(round(p, 4), round(lo, 4), round(hi, 4)) # 0.055 0.0479 0.0621
現在來做決定。假設舊頁面的轉換率是 6.0%。這個值落在 [4.79%, 6.21%] 之內,所以這份資料並沒有給出「新頁面有所不同」的明確證據——誠實的解讀是「我們還無法把它們區分開來」。但若舊頁面的轉換率是 4.0%,那它落在整個區間之下,這就是「真有改善」的證據。同一個區間、兩個不同的基準、兩個不同的決策——而且請注意,你一路走到這裡,從來都不需要一個 p 值。