# 指数族与广义线性模型


这篇笔记整理指数族、$b(\theta)$、canonical link 和 GLM 之间的关系。核心问题是：响应变量的分布如何决定均值与方差结构，而 link function 又如何把这种结构接到线性预测子上。

## 从线性回归到 GLM

普通线性回归处理的是连续响应变量。它通常写成：

$$
Y_i=\mu_i&#43;\epsilon_i,\qquad \mu_i=x_i^\top\beta,\qquad \epsilon_i\sim N(0,\sigma^2).
$$

这里的核心想法很清楚：响应变量的条件均值 $\mu_i=E(Y_i\mid x_i)$ 可以由协变量的线性组合 $x_i^\top\beta$ 来解释。

但很多实际数据并不适合这种设定。比如一道题答对/答错是二元变量，均值其实是概率，必须落在 $[0,1]$。某段时间内事件发生次数是计数变量，均值必须大于 0。并且这些变量的方差也常常随均值变化：Bernoulli 的方差是 $\mu(1-\mu)$，Poisson 的方差是 $\mu$。

GLM 的目标就是扩展线性回归的思想。它保留“协变量通过线性预测子影响响应变量”的结构，同时允许响应变量来自不同类型的分布。

## 指数族形式与自然参数

GLM 常见的响应分布可以写成指数族形式：

$$
f(y_i\mid \theta_i,\phi)=
\exp\left\{
\frac{y_i\theta_i-b(\theta_i)}{\phi}
&#43;c(y_i,\phi)
\right\}.
$$

这里：

- $\theta_i$ 叫作 natural parameter 或 canonical parameter，是分布在指数族形式下最自然的参数尺度。
- $\phi$ 叫作 dispersion parameter 或 scale parameter，用来控制方差的整体大小。
- $b(\theta_i)$ 叫作 cumulant function，也常被理解为 log-normalizer。它是指数族里非常关键的函数，决定了均值和方差结构。
- $c(y_i,\phi)$ 主要负责把和 $y_i$、$\phi$ 有关的部分放进来，使整个表达式成为正确的概率质量函数或密度函数。

很多分布原本可以用均值参数 $\mu$ 来写，但为了放进统一的指数族形式，需要把参数换到一个更合适的尺度上。这个尺度就是 $\theta$。

以 Poisson 分布为例，原始形式是：

$$
P(Y=y)=\frac{e^{-\mu}\mu^y}{y!}.
$$

改写成指数形式：

$$
P(Y=y)=
\exp\left\{y\log\mu-\mu-\log(y!)\right\}.
$$

令：

$$
\theta=\log\mu.
$$

就得到：

$$
P(Y=y)=\exp\left\{y\theta-e^\theta-\log(y!)\right\}.
$$

所以 Poisson 分布中：

$$
b(\theta)=e^\theta.
$$

Bernoulli 分布也类似。若 $Y\sim \operatorname{Bernoulli}(p)$，则：

$$
P(Y=y)=p^y(1-p)^{1-y}.
$$

把它整理成指数族形式，会得到：

$$
\theta=\log\frac{p}{1-p}.
$$

也就是说，Bernoulli 的自然参数是 log-odds。

因此，$\theta$ 可以理解为：为了把不同分布写进同一个指数族模板，我们选择的一种标准参数尺度。

## 累积函数的作用

$b(\theta)$ 是指数族形式里最重要的函数之一。它的作用可以分成三层来看。

**第一层：保证表达式真的是一个概率分布。**

对任意合法的概率分布，都必须满足：

$$
\sum_y f(y\mid \theta,\phi)=1
$$

或在连续情形下：

$$
\int f(y\mid \theta,\phi),dy=1.
$$

指数族形式中，$y\theta$ 这一项会随着 $\theta$ 改变而改变整个概率质量的大小。如果没有 $b(\theta)$ 去校正，概率加总可能不等于 1。
因此，$b(\theta)$ 可以理解为 normalization 所需要的校正项。它把整个分布“压回”合法概率分布的范围内。

**第二层：$b(\theta)$ 直接生成均值。**

从指数族形式出发：

$$
f(y\mid \theta,\phi)=
\exp\left\{
\frac{y\theta-b(\theta)}{\phi}
&#43;c(y,\phi)
\right\}.
$$

因为所有概率加总为 1：

$$
\int f(y\mid \theta,\phi),dy=1.
$$

对 $\theta$ 求导：

$$
0=
\int
\frac{y-b^{\prime}(\theta)}{\phi}
f(y\mid \theta,\phi),dy.
$$

整理后得到：

$$
E(Y)-b^{\prime}(\theta)=0.
$$

所以：

$$
E(Y)=b^{\prime}(\theta).
$$

这说明 $b(\theta)$ 的一阶导数就是均值。换句话说，只要知道某个分布的 $b(\theta)$，就知道自然参数 $\theta$ 如何决定均值 $\mu$。

**第三层：$b(\theta)$ 也生成方差。**

继续看一阶导数：

$$
\frac{\partial \log f(y\mid \theta,\phi)}{\partial \theta}
=\frac{y-b^{\prime}(\theta)}{\phi}.
$$

这个量叫 score。它反映的是，改变 $\theta$ 时，log likelihood 会怎样变化。

再对 $\theta$ 求一次导数：

$$
\frac{\partial^2 \log f(y\mid \theta,\phi)}{\partial \theta^2}
=-\frac{b^{\prime\prime}(\theta)}{\phi}.
$$

利用标准 likelihood theory 中 Fisher information 的关系，可以得到：

$$
\operatorname{Var}(Y)=\phi b^{\prime\prime}(\theta).
$$

所以 $b(\theta)$ 的二阶导数决定方差结构。如果写成均值的函数，就是：

$$
\operatorname{Var}(Y)=\phi V(\mu),
$$

其中：

$$
V(\mu)=b^{\prime\prime}(\theta)
$$

在用 $\mu=b^{\prime}(\theta)$ 替换 $\theta$ 后，叫作 variance function。

这一点非常有实际意义。不同响应变量之所以需要不同的 GLM，不只是因为它们的取值范围不同，也因为它们的方差随均值变化的方式不同。

比如 Normal 分布中：

$$
b(\theta)=\frac{\theta^2}{2}.
$$

因此：

$$
b^{\prime}(\theta)=\theta,\qquad b^{\prime\prime}(\theta)=1.
$$

所以：

$$
\operatorname{Var}(Y)=\phi.
$$

这就是普通线性回归里的常方差结构。

Poisson 分布中：

$$
b(\theta)=e^\theta.
$$

因此：

$$
b^{\prime}(\theta)=e^\theta=\mu,
\qquad
b^{\prime\prime}(\theta)=e^\theta=\mu.
$$

所以：

$$
\operatorname{Var}(Y)=\phi\mu.
$$

标准 Poisson 里 $\phi=1$，于是：

$$
\operatorname{Var}(Y)=\mu.
$$

这说明 Poisson 模型天然假设均值越大，方差也越大，而且二者相等。如果真实数据的方差远大于均值，就会出现 overdispersion，这时可能需要 quasi-Poisson、negative binomial 或 random-effects 模型。

Bernoulli 分布中：

$$
b(\theta)=\log(1&#43;e^\theta).
$$

因此：

$$
\begin{aligned}
b^{\prime}(\theta)&amp;=\frac{e^\theta}{1&#43;e^\theta}=\mu,\\
b^{\prime\prime}(\theta)&amp;=\mu(1-\mu).
\end{aligned}
$$

所以：

$$
\operatorname{Var}(Y)=\mu(1-\mu).
$$

这个结果很直观：当概率接近 0 或 1 时，结果几乎确定，方差小；当概率接近 0.5 时，不确定性最大，方差最大。

因此，$b(\theta)$ 可以看作指数族分布的“均值—方差说明书”。它告诉我们两个核心问题：自然参数如何决定均值，以及该分布的方差应当如何随均值变化。

## 参数、均值与 link function

GLM 里有三个层次需要分开看：

- 分布参数是 $\theta_i$，它属于指数族分布本身。
- 条件均值是 $\mu_i=E(Y_i\mid x_i)$，指数族给出 $\mu_i=b^{\prime}(\theta_i)$。
- 线性预测子是 $\eta_i=x_i^\top\beta$。

GLM 通过 link function 把均值和线性预测子连接起来：

$$
g(\mu_i)=\eta_i=x_i^\top\beta.
$$

所以完整链条是：

$$
\theta_i
\longrightarrow
\mu_i=b^{\prime}(\theta_i)
\longrightarrow
g(\mu_i)=x_i^\top\beta.
$$

也可以从回归建模方向理解：

$$
x_i^\top\beta
\longrightarrow
\mu_i=g^{-1}(x_i^\top\beta)
\longrightarrow
\theta_i=(b^{\prime})^{-1}(\mu_i).
$$

这里 $b$ 属于响应分布，$g$ 属于建模选择。两者会在 canonical link 的情形下产生一个特别简洁的关系。

Canonical link 的定义正是来自这个关系。

指数族中有：

$$
\mu=b^{\prime}(\theta).
$$

把这个关系反过来：

$$
\theta=(b^{\prime})^{-1}(\mu).
$$

GLM 中 link function 是：

$$
g(\mu)=x^\top\beta.
$$

如果选择：

$$
g(\mu)=(b^{\prime})^{-1}(\mu),
$$

那么：

$$
g(\mu)=\theta.
$$

于是：

$$
x_i^\top\beta=\theta_i.
$$

这种 link function 叫作 canonical link。它的特点是让线性预测子直接等于自然参数：

$$
\eta_i=\theta_i.
$$

几个典型例子：

| 响应分布      |        $b(\theta)$ |              $\mu=b^{\prime}(\theta)$ | canonical link                 |
| --------- | -----------------: | ----------------------------: | ------------------------------ |
| Normal    |       $\theta^2/2$ |                      $\theta$ | $g(\mu)=\mu$                   |
| Bernoulli | $\log(1&#43;e^\theta)$ | $\frac{e^\theta}{1&#43;e^\theta}$ | $g(\mu)=\log\frac{\mu}{1-\mu}$ |
| Poisson   |         $e^\theta$ |                    $e^\theta$ | $g(\mu)=\log\mu$               |

因此 logistic regression 的 logit link 很自然，因为 Bernoulli 的自然参数就是 log-odds：

$$
\theta=\log\frac{\mu}{1-\mu}.
$$

Poisson regression 的 log link 也很自然，因为 Poisson 的自然参数是：

$$
\theta=\log\mu.
$$

GLM 需要三部分：

$$
\begin{aligned}
Y_i\mid x_i &amp;\sim \text{exponential family},\\
\mu_i &amp;= E(Y_i\mid x_i),\\
g(\mu_i) &amp;= x_i^\top\beta.
\end{aligned}
$$

指数族形式提供响应变量的随机部分，也就是 $Y_i\mid x_i$ 的条件分布。link function 提供均值和协变量之间的连接。线性预测子 $x_i^\top\beta$ 则保留了线性模型的可解释性。

所以 GLM 的核心并不是让 $Y_i$ 本身对 $x_i$ 线性，而是让响应变量的条件均值在某个合适尺度上对 $x_i$ 线性。

## GLM 的主要理解

GLM 的第一个 insight 是统一性。普通线性回归、logistic regression、Poisson regression 可以放在同一个框架下理解。它们的差异主要来自响应分布、link function 和 variance function。

第二个 insight 是尊重响应变量的取值范围。二元响应的均值是概率，因此适合用 logit 或 probit link 把线性预测子映射到 $[0,1]$。计数响应的均值必须为正，因此 log link 很自然：

$$
\mu_i=\exp(x_i^\top\beta)&gt;0.
$$

第三个 insight 是方差结构。GLM 不再默认所有响应变量都有常方差。Bernoulli、Poisson、Gamma 等分布都有自己的 mean-variance relationship，而这个关系正是通过 $b^{\prime\prime}(\theta)$ 或 $V(\mu)$ 体现出来的。

第四个 insight 是解释性。虽然均值经过了 link function 转换，但 $\beta$ 仍然有清晰解释。logistic regression 中，$\beta$ 描述协变量对 log-odds 的影响；Poisson regression 中，$\beta$ 描述协变量对 log-rate 的影响。

最后，指数族形式也带来统一的估计方法。因为 log-likelihood 的结构很规整，GLM 可以用 Fisher scoring 或 IRLS 进行估计。canonical link 的情况下，数学形式尤其简洁。

## 总结

$$
\begin{aligned}
Y_i\mid x_i &amp;\sim \text{exponential family},\\
\mu_i &amp;= E(Y_i\mid x_i)=b^{\prime}(\theta_i),\\
\operatorname{Var}(Y_i\mid x_i) &amp;= \phi b^{\prime\prime}(\theta_i)=\phi V(\mu_i),\\
g(\mu_i) &amp;= x_i^\top\beta.
\end{aligned}
$$

其中，$b(\theta)$ 来自响应分布，负责均值和方差结构；$g(\mu)$ 是 link function，负责把均值接到线性预测子上；canonical link 是特殊选择：

$$
g(\mu)=(b^{\prime})^{-1}(\mu),
$$

它让：

$$
x_i^\top\beta=\theta_i.
$$

GLM 把“线性建模”的思想推广到二元、计数、连续、比例等多种响应变量，同时保留概率分布、均值结构、方差结构和参数解释之间的清晰关系。


---

> 作者: [Wenqian](https://github.com/Pi-Xu)  
> URL: https://pi-xu.github.io/pages-zn/posts/2026-04-30-glm/  

