Skip to content

3.2 构造 GLM

假设你想要构造一个模型来预测在给定时间内到某商店购物的顾客人数,我们输入的特征为促销情况、宣传营销、天气、星期几等。由泊松过程相关知识,我们知道泊松分布对这类问题来说是一种良好的预测模型。在了解到以上信息后,我们该如何构建我们的模型呢?本节我们就着手构建广义线性模型(泊松分布是指数分布族的一种

假设这是一个回归问题或者分类问题,我们需要给出目标变量 y 关于特征 x 的函数。我们作出以下假设:

  • yx;θExponentialFamily(η)
  • 对于给定的 x,我们的目标是预测条件期望 E[T(y)x];而在大多数情况下 T(y)=y,所以亦即求 h(x)=E[yx]
  • ηx 是线性关系:η=θTx. 若 η 是向量,则 ηi=θiTx.

普通最小二乘

在最小二乘问题中,我们假设 yhθ(x),即噪音项是正态分布,即 yxN(μ,σ2)。由于正态分布是指数族分布的一种,根据前面推导的结论,有

hθ(x)=E[yx;θ]=μ=η=θTx.

这就推导出了线性回归的公式。

逻辑回归

在逻辑回归中,响应变量 y 的取值为 {0,1}。我们假设 yx;θBernoulli(ϕ),由于伯努利分布是指数族分布的一种,根据前面的推论,我们有 ϕ=1/(1+eη);并且条件期望可以简单地由 E[yx;θ]=ϕ 给出。

hθ(x)=E[yx;θ]=ϕ=1/(1+eη)=1/(1+exp(θTx)).

这就自然地解释了为什么在条件分布为伯努利分布的情况下,我们要采用逻辑回归。

术语

  • 典范响应函数:g(η)=E[T(y);η]
  • 典范链接函数:g1.

有关指数族分布

以下讨论基于上面的三条假设。

非条件期望

性质 1. E[T(y);η]=a(η).

[!证明]

由概率密度函数在 R 上的积分为 1,即

+p(y;η)dy=+b(y)exp(ηTT(y))/exp(a(η))dy=1.

+b(y)exp(ηTT(y))dy=exp(a(η)).

两边对 η 求导,有

η+b(y)exp(ηTT(y))dy=+b(y)exp(ηTT(y))T(y)dy=exp(a(η))a(η).

exp(a(η)) 移至左边,即

+T(y)b(y)exp(ηTT(y)a(η))dy=a(η).

亦即

E[T(y);η]=a(η).

而在大多数情况下,T(y)=y,因此我们可以得到非条件期望

E(y;η)=a(η).

这样,原本需要通过复杂的积分求解的期望,现在只需对 a(η) 求导便可得到。

方差

  • Var(T(y);η)=a(η).

[!证明]

在上面的证明中,我们得到了

+b(y)exp(ηTT(y))T(y)dy=exp(a(η))a(η).

两边对 η 求导,有

+T2(y)b(y)exp(ηTT(y))dy=exp(a(η))([a(η)]2+a(η)).

exp(a(η)) 移到左边,有

+T2(y)b(y)exp(ηTT(y)a(η))=[a(η)]2+a(η).

E[T2(y);η]=[a(η)]2+a(η)

然后结合上题结论,我们就得到了方差

Var(T(y))=a(η).

在一般情况下,T(y)=y,所以我们就得到了方差

Var(y)=a(η).

损失函数

对指数族函数,我们一般用负对数似然函数 l(θ) 作为损失函数。证明:l(θ) 的 Hessian 阵为半正定阵,即 l 为凸函数。

[!证明]

首先写出 l(θ) 的表达式

l(θ)=logp(yx;θ)=logb(y)+a(η)ηTT(y)=logb(y)+a(θTx)xTθT(y).

其对 θ 的梯度为

θl(θ)=a(θTx)xT(y)x.

θ 的 Hessian 阵为

Hl(θ)=a(θT)xxT.

显然 xxT 半正定,故只需证 a(η)0.

Var(T(y))=a(η)0

a(η)0. 故 Hl(θ) 半正定。


从上面的讨论中我们可以看到:

  • 所有的 GLM 模型都是对其参数都是凸的;
  • 计算非条件期望和方差只需对 a(η) 求一阶和二阶导。