M1.0 13 分鐘閱讀 2026年9月

M1.0 兩台體重計:Gaussian 的線性組合

起點:兩個讀數

家裡有兩台體重計。你知道它們都沒有系統性的偏差(長期平均是準的),但每次讀數會抖:A 台的抖動大約 ±1\pm1 kg,B 台比較好,大約 ±0.5\pm0.5 kg。今天早上 A 讀 72.8、B 讀 71.9。

問題:你該報幾公斤?

直覺最常見的答案是「取平均,72.35」,也有人說「B 比較準,用 B 的 71.9」。請寫下你的答案和有多確定。

接著追問:取平均之後,你對這個數字的信心應該比只看 B 更高還是更低?多數人會說更高——「兩個資訊總比一個多」。這一篇會算出來:直接平均比只用 B 還差。 但「兩個資訊總比一個多」這句話本身沒錯,錯的是平均的方式。要能說清楚這件事,需要一個能對「雜訊合併」做算術的工具。

課堂提問Q1

把情境翻成數學:這裡的隨機變數是什麼?「±1\pm1 kg」該怎麼寫成數學物件?我們想比較的是哪些做法、用什麼標準比?

先想一想,再展開看整理後的答案

最直覺的說法是「體重是隨機變數」。這差了一點:你的體重 ww 今天早上是一個固定但未知的數隨機的是讀數

寫成式子:A 台讀到 YA=w+εAY_A=w+\varepsilon_A,B 台讀到 YB=w+εBY_B=w+\varepsilon_BεA,εB\varepsilon_A,\varepsilon_B 是兩台的雜訊。「沒有系統偏差」是 E[ε]=0\mathbb E[\varepsilon]=0;「±1\pm1 kg」最自然的翻譯是雜訊的標準差 σA=1\sigma_A=1σB=0.5\sigma_B=0.5。再加一個常見的模型假設:雜訊是 Gaussian(正常分佈),εAN(0,σA2)\varepsilon_A\sim\mathcal N(0,\sigma_A^2);以及兩台的雜訊獨立——A 抖多少跟 B 抖多少無關。

我們要比較的做法都是「用兩個讀數算一個數」:w^=aYA+bYB\hat w=aY_A+bY_B。要它長期平均是準的,需要 a+b=1a+b=1(因為 E[w^]=(a+b)w\mathbb E[\hat w]=(a+b)w)。「取平均」是 a=b=12a=b=\tfrac12,「只用 B」是 a=0,b=1a=0,b=1。比較的標準是 w^\hat w 抖得多大——它的 variance。所以問題變成:aYA+bYBaY_A+bY_B 的 variance 是多少、哪一組 (a,b)(a,b) 最小? 這需要知道「兩個 Gaussian 加起來會變成什麼」。

兩種抖動疊在一起

想像一支筆尖在紙上抖:A 台的雜訊讓它左右晃出一團寬 1 cm 的模糊,B 台的雜訊讓它晃出一團寬 0.5 cm 的模糊。把兩種晃動起來——不是取寬的那一個,也不是相加成 1.5 cm。因為兩種晃動彼此無關,有時同向、有時反向,疊起來的寬度介於中間,而且有一個固定的規律:寬度的平方相加。 12+0.521.12\sqrt{1^2+0.5^2}\approx1.12 cm。

疊起來之後這團模糊的形狀沒變,還是同一種鐘形,只是寬了一點。這兩件事——形狀保持、寬度平方相加——就是 Gaussian 在「合併」這件事上好用的全部原因。

把「合併」寫成數學

一維。 XN(μ,σ2)X\sim\mathcal N(\mu,\sigma^2) 的密度是 12πσexp ⁣((xμ)22σ2)\frac1{\sqrt{2\pi}\sigma}\exp\!\big(-\frac{(x-\mu)^2}{2\sigma^2}\big)。兩個基本事實:

  1. 縮放與平移aX+bN(aμ+b, a2σ2)aX+b\sim\mathcal N(a\mu+b,\ a^2\sigma^2)。乘 aa 讓寬度變 a|a| 倍、variance 變 a2a^2 倍。
  2. 獨立相加:若 X1N(μ1,σ12)X_1\sim\mathcal N(\mu_1,\sigma_1^2)X2N(μ2,σ22)X_2\sim\mathcal N(\mu_2,\sigma_2^2) 獨立,則 X1+X2N(μ1+μ2, σ12+σ22)X_1+X_2\sim\mathcal N(\mu_1+\mu_2,\ \sigma_1^2+\sigma_2^2)

合起來:獨立 Gaussian 的任何線性組合仍是 Gaussian,mean 線性組合、variance 用係數平方加權相加。 「variance 相加」對任何獨立隨機變數都成立(不需要 Gaussian);Gaussian 多給的是「形狀不變」——合併後你仍然完全知道它的分佈。

展開細節為什麼獨立 Gaussian 相加仍是 Gaussian(用 moment generating function,五行)

XN(μ,σ2)X\sim\mathcal N(\mu,\sigma^2) 的 moment generating function 是 MX(s)=E[esX]=exp(μs+12σ2s2)M_X(s)=\mathbb E[e^{sX}]=\exp(\mu s+\tfrac12\sigma^2s^2)(把指數配方即可算出)。獨立時 E[es(X1+X2)]=E[esX1]E[esX2]\mathbb E[e^{s(X_1+X_2)}]=\mathbb E[e^{sX_1}]\,\mathbb E[e^{sX_2}],所以

MX1+X2(s)=exp ⁣((μ1+μ2)s+12(σ12+σ22)s2),M_{X_1+X_2}(s)=\exp\!\big((\mu_1+\mu_2)s+\tfrac12(\sigma_1^2+\sigma_2^2)s^2\big),

正好是 N(μ1+μ2,σ12+σ22)\mathcal N(\mu_1+\mu_2,\sigma_1^2+\sigma_2^2) 的 MGF;MGF 決定分佈,證畢。「variance 相加」那一部分不需要 Gaussian:Var(X1+X2)=Var(X1)+Var(X2)+2Cov(X1,X2)\mathrm{Var}(X_1+X_2)=\mathrm{Var}(X_1)+\mathrm{Var}(X_2)+2\,\mathrm{Cov}(X_1,X_2),獨立時最後一項為零。

多維。dd 個讀數排成向量 X=(X1,,Xd)X=(X_1,\dots,X_d)。它的 mean 是向量 μ\mu,而「抖動」需要一個矩陣才裝得下:covariance matrix Σij=Cov(Xi,Xj)\Sigma_{ij}=\mathrm{Cov}(X_i,X_j),對角線是各自的 variance,非對角線是「ii 抖大時 jj 是否也傾向抖大」。獨立時 Σ\Sigma 是對角矩陣。多變量 Gaussian XN(μ,Σ)X\sim\mathcal N(\mu,\Sigma) 的線性變換規則只有一行:

AX+bN(Aμ+b, AΣA ⁣).AX+b\sim\mathcal N\big(A\mu+b,\ A\Sigma A^{\!\top}\big).

AA 為一列權重 a ⁣=(a1,,ad)a^{\!\top}=(a_1,\dots,a_d),就得到最常用的特例:Var(a ⁣X)=a ⁣Σa=i,jaiajΣij\mathrm{Var}(a^{\!\top}X)=a^{\!\top}\Sigma a=\sum_{i,j}a_ia_j\Sigma_{ij}。獨立時它退化成 iai2σi2\sum_i a_i^2\sigma_i^2——一維規則的直接推廣。

回到情境:平均,還是加權?

算兩種做法。 w^=aYA+bYB\hat w=aY_A+bY_Ba+b=1a+b=1,雜訊獨立:

Var(w^)=a2σA2+b2σB2.\mathrm{Var}(\hat w)=a^2\sigma_A^2+b^2\sigma_B^2 .

兩台體重計的雜訊獨立,所以交叉項是零,只剩兩項各自的貢獻,而且權重是平方進去的——這一點決定了下面兩種做法差多少。

  • 直接平均a=b=12a=b=\tfrac12):14(1+0.25)=0.3125\tfrac14(1+0.25)=0.3125,標準差 0.560.56 kg。
  • 只用 Ba=0,b=1a=0,b=1):0.250.25,標準差 0.50.5 kg。

直接平均比只用 B 還差。 直覺「兩個資訊總比一個多」沒有錯,錯在平均給了差的那台一半的話語權——等於把 A 台 ±1\pm1 kg 的抖動用一半的音量混進來,比 B 自己的抖動還大。

最佳權重。aa 最小化 a2σA2+(1a)2σB2a^2\sigma_A^2+(1-a)^2\sigma_B^2,令導數為零:aσA2=(1a)σB2a\sigma_A^2=(1-a)\sigma_B^2,得

a=1/σA21/σA2+1/σB2,b=1/σB21/σA2+1/σB2,Var(w^)=11/σA2+1/σB2.a=\frac{1/\sigma_A^2}{1/\sigma_A^2+1/\sigma_B^2},\qquad b=\frac{1/\sigma_B^2}{1/\sigma_A^2+1/\sigma_B^2},\qquad \mathrm{Var}(\hat w)=\frac{1}{1/\sigma_A^2+1/\sigma_B^2}.

權重與 variance 成反比,叫 inverse-variance weighting1/σ21/\sigma^2 叫 precision,合併後的 precision 是各自 precision 的——「兩個資訊總比一個多」的正確版本。代數字:a=0.2a=0.2b=0.8b=0.8w^=0.2×72.8+0.8×71.9=72.08\hat w=0.2\times72.8+0.8\times71.9=72.08 kg,variance 0.20.2、標準差 0.4470.447 kg——比 B 單獨的 0.50.5 好,但只好一點,因為 A 太差、能貢獻的 precision 只有 B 的四分之一。三台、nn 台的規則完全一樣:precision 相加、權重按 precision 分。

這個結論依賴什麼。 第一,雜訊獨立——這一條寫在 Var(w^)\mathrm{Var}(\hat w) 的式子裡沒有 Cov\mathrm{Cov} 項。若兩台放在同一塊會微微下陷的地墊上,兩台會一起偏,ΣAB0\Sigma_{AB}\ne0,那部分共同的誤差平均不掉nn 台都有同一個共同誤差 σc2\sigma_c^2 時,平均的 variance 是 σc2+σ2/n\sigma_c^2+\sigma^2/n,再多台也壓不到 σc2\sigma_c^2 以下。第二,Gaussian。上面的最佳性其實只在「線性組合」裡比;雜訊若是 Gaussian,線性組合已經是所有做法裡最好的。雜訊若不是——例如 A 台偶爾會跳出一個差 10 kg 的離譜讀數——任何線性加權都會被那一次拖走,這時「先剔除離群值」或取中位數會更好。

回到情境:模擬一萬個早上

import numpy as np
rng = np.random.default_rng(0); n = 10_000; w = 72.0
sA, sB = 1.0, 0.5
def trial(rho=0.0, glitch=0.0):
    eA = rng.normal(0, sA, n); eB = rho*eA*(sB/sA) + np.sqrt(1-rho**2)*rng.normal(0, sB, n)  # rho: 兩台雜訊的相關係數
    eA = eA + glitch*rng.choice([0, 10], n, p=[0.98, 0.02])                                   # glitch: A 台 2% 機率跳 10 kg
    yA, yB = w + eA, w + eB
    for name, est in [("平均", (yA+yB)/2), ("只用 B", yB), ("加權 0.2/0.8", 0.2*yA+0.8*yB)]:
        print(f"  {name:10s} 標準差 {est.std():.3f}")
for rho, g in [(0.0, 0), (0.8, 0), (0.0, 1)]:
    print(f"rho={rho}, glitch={g}"); trial(rho, g)

第一組(獨立、Gaussian)會印出平均 0.559\approx0.559、只用 B 0.5\approx0.5、加權 0.447\approx0.447——三個數字與理論值 0.3125\sqrt{0.3125}0.25\sqrt{0.25}0.2\sqrt{0.2} 吻合。第二組(相關係數 0.8)加權的優勢幾乎消失,因為兩台一起偏。第三組(A 台偶爾跳格)加權的標準差被拉到 0.50.5 以上,「只用 B」反而勝出——線性合併對非 Gaussian 的尾巴沒有抵抗力。

先消化一下

想一想

三位朋友各自估計一場演唱會的人數:甲的估計誤差大約 ±2000\pm2000、乙 ±1000\pm1000、丙 ±1000\pm1000,三人誤差獨立且無偏。你該怎麼合併?

想一想

兩台體重計放在同一塊軟地墊上,地墊每天下陷程度不同,讓兩台一起偏高或偏低約 ±0.8\pm0.8 kg,各自另有獨立的 ±0.5\pm0.5 kg 抖動。取兩台平均後,估計的標準差大約是:

想一想

XN(μ,Σ)X\sim\mathcal N(\mu,\Sigma) 是三維的,AA 是一個 2×32\times3 矩陣。AXAX 的分佈是:

參考文獻

  1. Grimmett, G., Stirzaker, D. Probability and Random Processes, 3rd ed. Oxford University Press 2001.(獨立隨機變數和的 variance、moment generating function、多變量 Gaussian。)
  2. Bishop, C. M. Pattern Recognition and Machine Learning. Springer 2006, Ch. 2.3.(多變量 Gaussian 的線性變換與 covariance matrix。)
  3. Kay, S. M. Fundamentals of Statistical Signal Processing, Vol. I: Estimation Theory. Prentice Hall 1993.(線性無偏估計與 inverse-variance weighting 的最佳性。)