廣義線性模型(GLM):用連結函數統一迴歸家族
從線性迴歸的崩潰談起,用三要素與連結函數把邏輯斯、Poisson、負二項收進同一框架,並深入 IRLS 與 quasi-likelihood 的估計機制。
為什麼「登入次數」不該硬塞進線性迴歸?
假設你想分析 Uedu 上學生的學習投入程度,手邊有一個很自然的應變數:每位學生一週的「討論區發文數」。多數人第一反應是把它丟進線性迴歸,看看哪些變數能預測發文多寡。但只要稍微觀察資料,麻煩就浮現了:發文數大量集中在 0、1、2,偶爾有人一週狂發 30 篇;它永遠是非負整數,不可能是 −1.7 篇。如果你硬用普通最小平方法(OLS)配適,模型會堂而皇之地預測「某類學生本週發文 −2.3 篇」,而且殘差呈現右偏、變異隨平均值上升——線性迴歸賴以成立的常態與等變異假設,在這裡幾乎全數崩潰。
問題不在資料「不乖」,而在我們選錯了模型家族。廣義線性模型(Generalized Linear Model, GLM) 正是為此而生:它保留線性預測子的簡潔,卻把「應變數該服從什麼分布」與「平均值如何連結到線性組合」這兩件事拆開來分別設定,於是常態迴歸、邏輯斯迴歸、Poisson 迴歸都成了同一個框架下的特例。
GLM 的三個要素
一個 GLM 由三個部件組成,理解它們就理解了整個家族。

第一,隨機成分(random component)。 它指定應變數 $Y$ 的條件分布,而這個分布必須屬於指數族(exponential family)。常態、二項、Poisson、Gamma、負二項都在其中。指數族的一般形式可寫為
$$f(y;\theta,\phi)=\exp\!\left\{\frac{y\theta-b(\theta)}{a(\phi)}+c(y,\phi)\right\}$$
其中 $\theta$ 稱為自然參數(natural parameter),$\phi$ 為離散參數(dispersion parameter)。這個看似抽象的形式有個漂亮的性質:平均數與變異數都能由 $b(\theta)$ 推得,
$$\mathbb{E}[Y]=\mu=b'(\theta),\qquad \mathrm{Var}(Y)=a(\phi)\,b''(\theta).$$
注意 $b''(\theta)$ 通常是 $\mu$ 的函數,這正是 GLM 能容許「變異隨平均值改變」的數學根源——對 Poisson 而言變異恰好等於平均,對二項而言變異是 $\mu(1-\mu)$。
第二,系統成分(systematic component)。 這就是熟悉的線性預測子(linear predictor):
$$\eta=\beta_0+\beta_1 x_1+\cdots+\beta_p x_p=\mathbf{x}^\top\boldsymbol{\beta}.$$
不論應變數是什麼分布,這一層永遠是參數的線性組合,所以「線性」的精神被完整保留。
第三,連結函數(link function)。 它是 GLM 真正的關鍵,負責把分布的平均值 $\mu$ 連到線性預測子 $\eta$:
$$g(\mu)=\eta.$$
連結函數 $g$ 必須單調可微。它的作用是把可能受限的 $\mu$(例如機率限在 $0$ 到 $1$、計數的平均限在正數)映射到整條實數線,這樣線性預測子才能自由取值而不違反約束。線性迴歸不過是「連結函數取恆等函數 $g(\mu)=\mu$、分布取常態」的特例罷了。
每個指數族分布都有一個典型連結(canonical link),即令 $\theta=\eta$ 的那個連結;它讓估計性質特別良好(充分統計量恰為 $\mathbf{X}^\top\mathbf{y}$)。常態的典型連結是恆等、二項是 logit、Poisson 是 log。
邏輯斯迴歸:當應變數是「會/不會」
當應變數是二元的(學生是否通過、是否繳交作業),$Y\sim\text{Bernoulli}(p)$。我們想建模成功機率 $p$,但 $p$ 被限在 $[0,1]$,不能直接讓它等於線性預測子。logit 連結解決了這件事:
$$\operatorname{logit}(p)=\log\frac{p}{1-p}=\mathbf{x}^\top\boldsymbol{\beta}.$$
左邊的 $\frac{p}{1-p}$ 是勝算(odds),取對數後值域是整條實數線。反解可得 logistic(sigmoid)函數
$$p=\frac{1}{1+e^{-\mathbf{x}^\top\boldsymbol{\beta}}}.$$
係數的解讀建立在勝算比(odds ratio)上:$x_j$ 每增加一單位,勝算會乘上 $e^{\beta_j}$。這個「乘法效果」正是 logit 連結帶來的,而非加法效果。
Poisson 迴歸:為計數而生的模型
回到開頭的發文數問題。計數型資料(一段時間內某事件發生的次數)的標準模型是 Poisson 分布,$Y\sim\text{Poisson}(\mu)$,其中 $\mu>0$ 是期望次數。為了確保平均值恆正,採用 log 連結:
$$\log\mu=\mathbf{x}^\top\boldsymbol{\beta}\quad\Longleftrightarrow\quad \mu=e^{\mathbf{x}^\top\boldsymbol{\beta}}.$$
指數形式天然保證 $\mu>0$,再也不會預測出負的發文數。係數解讀同樣是乘法的:$x_j$ 增加一單位,期望計數乘以 $e^{\beta_j}$,即變動 $(e^{\beta_j}-1)\times 100\%$。
當不同觀測的「曝光量」不同(例如有人只註冊三天、有人整週都在),需要加入 offset:把 $\log(\text{曝光時間})$ 當作係數固定為 1 的項放進線性預測子,模型實際建模的就變成「單位時間的發生率」。
帶數字的小範例:解讀 Poisson 係數
假設我們用 Poisson 迴歸預測學生一週的發文數,唯一預測變數是「是否啟用 AIDA 優學伴」($x=1$ 表啟用),配適結果為
$$\log\hat\mu=0.41+0.62\,x.$$
對未啟用者($x=0$):$\hat\mu=e^{0.41}\approx 1.51$ 篇。
對啟用者($x=1$):$\hat\mu=e^{0.41+0.62}=e^{1.03}\approx 2.80$ 篇。
率比(rate ratio)為 $e^{0.62}\approx 1.86$,意思是啟用 AIDA 的學生期望發文數約為未啟用者的 1.86 倍,亦即多出約 86%。注意這是模型在給定資料下的關聯估計,並非因果:可能是本來就積極的學生更傾向啟用 AIDA。要談因果還需隨機分派或更謹慎的設計。
當 Poisson 不夠用:過度離散與負二項
Poisson 分布有個強硬的假設:變異數等於平均數($\mathrm{Var}(Y)=\mu$)。真實的行為資料卻常常「過度離散(overdispersion)」——變異遠大於平均。發文數就是典型例子:多數人零星發文,少數活躍者貢獻大量發文,造成尾巴很長。
過度離散的後果不是讓係數偏掉,而是讓標準誤被低估,於是 $p$ 值過於樂觀、信賴區間過窄,容易得出虛假的「顯著」結論。診斷上可看 Pearson $\chi^2$ 或 deviance 除以殘差自由度,若這個比值明顯大於 1,就是過度離散的訊號。
處理方式有二。其一是改用負二項迴歸(Negative Binomial),它在 Poisson 之上多放一個服從 Gamma 分布的隨機效果,使變異成為
$$\mathrm{Var}(Y)=\mu+\alpha\mu^2,$$
額外的 $\alpha\mu^2$ 項吸收了多餘的變異,$\alpha\to 0$ 時退回 Poisson。其二是 quasi-Poisson/quasi-likelihood(見最後一節),它不改分布假設,只把變異膨脹一個常數倍。在 Uedu 這類社群行為資料上,發文數、登入次數、訊息數幾乎都該先檢查過度離散,預設改用負二項往往更穩健。
Deviance 與概似比檢定
GLM 不像 OLS 有現成的 $R^2$ 與 F 檢定,取而代之的核心量是 deviance(偏差)。它衡量「你的模型」相對於「飽和模型(saturated model,參數多到完美配適每一點)」的對數概似差距:
$$D=2\big[\ell(\text{飽和})-\ell(\text{配適})\big].$$
deviance 越小,模型越貼近資料;它在 GLM 中扮演著類似殘差平方和的角色。
要比較兩個巢狀模型(簡單模型是複雜模型的特例)時,用概似比檢定(likelihood ratio test):兩者 deviance 之差
$$\Delta D=D_{\text{簡單}}-D_{\text{複雜}}$$
在虛無假設(多出的係數皆為 0)下近似服從卡方分布,自由度等於兩模型參數個數之差。若 $\Delta D$ 大到超過卡方臨界值,就有證據支持較複雜的模型。模型選擇上也常用 AIC($-2\ell+2k$),兼顧配適與簡約。
帶數字的小範例:用概似比檢定判斷是否該加變數
設基準模型(只有截距)的 deviance 為 248.6,加入「是否啟用 AIDA」後 deviance 降為 240.1,兩者參數差為 1。則
$$\Delta D=248.6-240.1=8.5.$$
查自由度 1 的卡方分布,$\chi^2_{0.05,1}=3.84$、$\chi^2_{0.01,1}=6.63$。由於 $8.5>6.63$,在 $\alpha=0.01$ 水準下拒絕虛無假設,表示「是否啟用 AIDA」確實顯著改善了模型配適。
重點回顧
- GLM 把三件事拆開設定:隨機成分(指數族分布)、系統成分(線性預測子 $\eta=\mathbf{x}^\top\boldsymbol{\beta}$)、連結函數($g(\mu)=\eta$)。線性迴歸只是「常態 + 恆等連結」的特例。
- 連結函數負責把受限的平均值映到整條實數線:二元用 logit、計數用 log,係數因此都是乘法解讀(勝算比、率比)。
- 計數型資料(發文數、登入次數)先想 Poisson,但務必檢查過度離散;變異遠大於平均時改用負二項或 quasi-Poisson,否則標準誤被低估、結論過於樂觀。
- deviance 是 GLM 的核心配適量;巢狀模型用概似比檢定($\Delta D$ 近似卡方)比較,模型選擇可輔以 AIC。
- 所有係數都是關聯而非因果;要談因果仍需實驗設計或因果推論方法。
深入探討(研究所視角)
IRLS:所有 GLM 共用的估計引擎。 GLM 的最大概似估計沒有像 OLS 那樣的封閉解,因為對數概似對 $\boldsymbol{\beta}$ 非線性。實務上用 Newton–Raphson 求解 score 方程式 $\partial\ell/\partial\boldsymbol{\beta}=0$。對指數族搭配典型連結時,期望 Hessian(Fisher 資訊)有特別簡潔的形式,使 Newton–Raphson 等價於迭代加權最小平方(Iteratively Reweighted Least Squares, IRLS)。每一輪迭代解一個加權最小平方問題:
$$\boldsymbol{\beta}^{(t+1)}=\left(\mathbf{X}^\top\mathbf{W}^{(t)}\mathbf{X}\right)^{-1}\mathbf{X}^\top\mathbf{W}^{(t)}\mathbf{z}^{(t)},$$
其中工作反應(working response)
$$z_i=\eta_i+(y_i-\mu_i)\frac{d\eta_i}{d\mu_i},$$
而對角權重 $W_{ii}=\left[\left(\dfrac{d\eta_i}{d\mu_i}\right)^2 \mathrm{Var}(Y_i)\right]^{-1}$。直觀上,IRLS 在每一步把非線性問題局部線性化成一個 WLS:權重 $\mathbf{W}$ 反映各觀測的變異結構(變異大的點權重小),工作反應 $\mathbf{z}$ 則是把實際反應在連結尺度上做一階修正。反覆迭代直到 $\boldsymbol{\beta}$ 收斂。這也解釋了為什麼 R 的 glm()、Python 的 statsmodels 不論你配適邏輯斯還是 Poisson,底層跑的都是同一套 IRLS——換分布只是換了 $\mathbf{W}$ 與 $\mathbf{z}$ 的計算公式。收斂後 $\left(\mathbf{X}^\top\mathbf{W}\mathbf{X}\right)^{-1}$ 恰好給出係數的漸近共變異矩陣,標準誤由此而來。
Quasi-likelihood:不指定完整分布的估計。 Wedderburn(1974)的洞見是:IRLS 其實只用到平均—變異關係 $\mathrm{Var}(Y)=\phi\,V(\mu)$,而非完整的概似函數。換言之,只要你願意指定「變異如何隨平均變化」這個函數 $V(\mu)$,就能定義一個 quasi-score 並求解,得到的估計具有與 ML 相同的一致性與漸近常態性,卻不必假設資料真的服從某個指數族分布。quasi-Poisson 就是設 $V(\mu)=\mu$ 但放開離散參數 $\phi$(由資料估計而非固定為 1),把標準誤乘上 $\sqrt{\hat\phi}$ 來修正過度離散。這比負二項更不依賴分布假設,代價是失去了完整概似,因此不能用 AIC、概似比檢定等需要概似的工具(改用 F 檢定或穩健夾心估計量 sandwich estimator)。
與其他方法的連結。 GLM 是諸多現代模型的母體:加入隨機效果即成廣義線性混合模型(GLMM),可處理 Uedu 上「同一學生重複觀測」「學生巢套於課程」的階層結構;把線性預測子換成樣條(spline)即成廣義加性模型(GAM);連結函數與指數族的觀念也延伸到 zero-inflated 模型(處理「結構性零」,例如根本不參與討論區的學生)。在實務取捨上,建模 Uedu 的計數行為資料時,建議的決策路徑是:先 Poisson 看 deviance/df → 若過度離散且想保留完整概似(要做 AIC、LR 檢定)則負二項 → 若只在意係數與穩健標準誤則 quasi-Poisson → 若零過多再考慮 zero-inflated 或 hurdle 模型。把這條路徑走清楚,才能讓「發文數」「登入次數」這類資料說出可信的故事。