广义线性模型[generalize linear model]是线性模型的扩展,通过联结函数建立响应变量的数学期望值与线性组合的预测变量之间的关系。其特点是不强行改变数据的自然度量,数据可以具有非线性和非恒定方差结构。是线性模型在研究响应值的非正态分布以及非线性模型简洁直接的线性转化时的一种发展。
1.指数分布族
指数族分布是指概率密度函数(或是离散型随机变量的概率分布)具有特定形式的一类分布的集合,其概率密度函数的形式如下:
f
(
y
i
,
θ
i
,
ϕ
)
=
exp
{
y
i
θ
i
−
b
(
θ
i
)
a
(
ϕ
)
+
h
(
y
i
,
ϕ
)
}
f(y_i,\theta_i,\phi)=\exp\left\{\cfrac{y_i\theta_i-b(\theta_i)}{a(\phi)}+h(y_i,\phi)\right\}
f(yi,θi,ϕ)=exp{a(ϕ)yiθi−b(θi)+h(yi,ϕ)}
常见的指数分布族有高斯分布,伯努利分布,多项分布,泊松分布,
Γ
\Gamma
Γ分布等。分别以高斯分布和伯努利分布为例来说明这个问题。
高斯分布:
f
(
y
i
,
μ
i
,
σ
)
=
exp
{
−
(
y
i
−
μ
i
)
2
2
σ
2
−
ln
(
2
π
σ
)
}
=
exp
{
y
i
μ
i
−
μ
i
2
2
σ
2
−
y
i
2
2
σ
−
ln
(
2
π
σ
)
}
f(y_i,\mu_i,\sigma)=\exp\left\{-\cfrac{(y_i-\mu_i)^2}{2\sigma^2}-\ln(\sqrt{2\pi}\sigma)\right\}=\exp\left\{\cfrac{y_i\mu_i-\frac{\mu_i^2}{2}}{\sigma^2}-\cfrac{y_i^2}{2\sigma}-\ln(\sqrt{2\pi}\sigma)\right\}
f(yi,μi,σ)=exp{−2σ2(yi−μi)2−ln(2πσ)}=exp{σ2yiμi−2μi2−2σyi2−ln(2πσ)}
可以看出,
θ
i
=
μ
i
,
b
(
θ
i
)
=
μ
i
2
2
,
a
(
ϕ
)
=
σ
2
,
h
(
y
i
,
ϕ
)
=
−
y
i
2
2
σ
−
ln
(
2
π
σ
)
\theta_i=\mu_i,b(\theta_i)=\cfrac{\mu_i^2}{2},a(\phi)=\sigma^2,h(y_i,\phi)=-\cfrac{y_i^2}{2\sigma}-\ln(\sqrt{2\pi}\sigma)
θi=μi,b(θi)=2μi2,a(ϕ)=σ2,h(yi,ϕ)=−2σyi2−ln(2πσ)
伯努利分布:
p
(
y
i
,
π
i
)
=
π
i
y
i
(
1
−
π
i
)
1
−
y
i
=
exp
{
y
i
ln
π
i
1
−
π
i
+
ln
(
1
−
π
i
)
}
p(y_i,\pi_i)=\pi_i^{y_i}(1-\pi_i)^{1-y_i}=\exp\left\{y_i\ln\cfrac{\pi_i}{1-\pi_i}+\ln(1-\pi_i)\right\}
p(yi,πi)=πiyi(1−πi)1−yi=exp{yiln1−πiπi+ln(1−πi)}
显然,
θ
i
=
ln
π
i
1
−
π
i
,
b
(
θ
i
)
=
−
ln
(
1
−
π
i
)
,
a
(
ϕ
)
=
1
,
h
(
y
i
,
ϕ
)
=
0
\theta_i=\ln\cfrac{\pi_i}{1-\pi_i},b(\theta_i)=-\ln(1-\pi_i),a(\phi)=1,h(y_i,\phi)=0
θi=ln1−πiπi,b(θi)=−ln(1−πi),a(ϕ)=1,h(yi,ϕ)=0
指数族分布的概率密度函数在
R
\mathbb{R}
R上的积分应当为1,根据这个性质,进一步地能推出更多普适结论,比如,对密度函数关于
θ
\theta
θ求导:
0
=
∂
∂
θ
i
∫
R
f
(
y
i
,
θ
i
,
ϕ
)
d
y
i
=
∫
R
∂
∂
θ
i
f
(
y
i
,
θ
i
,
ϕ
)
d
y
i
=
1
a
(
ϕ
)
∫
R
(
y
i
−
d
b
(
θ
i
)
d
θ
i
)
f
(
y
i
,
θ
i
,
ϕ
)
d
y
i
=
1
a
(
ϕ
)
(
μ
i
−
d
b
(
θ
i
)
d
θ
i
)
0=\cfrac{\partial}{\partial\theta_i}\displaystyle{ \int_{\mathbb{R}} f(y_i,\theta_i,\phi) dy_i }=\displaystyle{\int_{\mathbb{R}} \frac{\partial}{\partial\theta_i}f(y_i,\theta_i,\phi) dy_i }=\cfrac{1}{a(\phi)}\displaystyle{ \int_{\mathbb{R}} \left(y_i-\frac{db(\theta_i)}{d\theta_i}\right)f(y_i,\theta_i,\phi) dy_i }=\cfrac{1}{a(\phi)}\displaystyle{ \left(\mu_i-\frac{db(\theta_i)}{d\theta_i}\right)}
0=∂θi∂∫Rf(yi,θi,ϕ)dyi=∫R∂θi∂f(yi,θi,ϕ)dyi=a(ϕ)1∫R(yi−dθidb(θi))f(yi,θi,ϕ)dyi=a(ϕ)1(μi−dθidb(θi))
得到指数分布族的期望
μ
i
=
d
b
(
θ
i
)
d
θ
i
\mu_i=\cfrac{db(\theta_i)}{d\theta_i}
μi=dθidb(θi);在此基础上再对
θ
i
\theta_i
θi求一次导数:
0
=
∂
2
∂
θ
i
2
∫
R
f
(
y
i
,
θ
i
,
ϕ
)
d
y
i
=
1
[
a
(
ϕ
)
]
2
(
E
(
y
i
2
)
−
μ
i
2
−
a
(
ϕ
)
d
2
b
(
θ
i
)
d
θ
i
2
)
0=\cfrac{\partial^2}{\partial\theta_i^2}\displaystyle{ \int_{\mathbb{R}} f(y_i,\theta_i,\phi) dy_i }=\cfrac{1}{[a(\phi)]^2}\displaystyle{ \left(E(y_i^2)-\mu_i^2-a(\phi)\frac{d^2b(\theta_i)}{d\theta_i^2}\right)}
0=∂θi2∂2∫Rf(yi,θi,ϕ)dyi=[a(ϕ)]21(E(yi2)−μi2−a(ϕ)dθi2d2b(θi))
即
E
(
y
i
2
)
=
μ
i
2
+
a
(
ϕ
)
d
2
b
(
θ
i
)
d
θ
i
2
E(y_i^2)=\mu_i^2+a(\phi)\cfrac{d^2b(\theta_i)}{d\theta_i^2}
E(yi2)=μi2+a(ϕ)dθi2d2b(θi),再由方差公式知
var
(
y
i
)
=
a
(
ϕ
)
d
2
b
(
θ
i
)
d
θ
i
2
=
a
(
ϕ
)
d
μ
i
d
θ
i
\text{var}(y_i)=a(\phi)\cfrac{d^2b(\theta_i)}{d\theta_i^2}=a(\phi)\cfrac{d\mu_i}{d\theta_i}
var(yi)=a(ϕ)dθi2d2b(θi)=a(ϕ)dθidμi
整理一下上面所做的工作:通过推导,我们得到了指数分布族期望与方差的计算公式
μ
i
=
d
b
(
θ
i
)
d
θ
i
\mu_i=\cfrac{db(\theta_i)}{d\theta_i}
μi=dθidb(θi)
var
(
y
i
)
=
a
(
ϕ
)
d
2
b
(
θ
i
)
d
θ
i
2
=
a
(
ϕ
)
d
μ
i
d
θ
i
\text{var}(y_i)=a(\phi)\cfrac{d^2b(\theta_i)}{d\theta_i^2}=a(\phi)\cfrac{d\mu_i}{d\theta_i}
var(yi)=a(ϕ)dθi2d2b(θi)=a(ϕ)dθidμi
这两个公式作为指数分布族的重要性质将会在下文用到,至于指数分布族的其他一些性质,比如充分性和完备性,由于超出本文范畴,此处不再介绍。
2.广义线性模型
普通线性模型具有的模型形式为:
y
i
=
x
i
T
β
+
ε
i
y_i=\pmb{x}_i^T\pmb{\beta}+\varepsilon_i
yi=xxxiTβββ+εi;建立普通线性模型是基于常数方差,独立性和高斯假设前提;如果误差项不满足常数方差和独立性假设,那么我们已经有一些以广义最小二乘法(GLS)为代表的解决方案;但是,如果数据不满足常数方差及高斯分布的假设呢?比如,如果响应变量
y
i
∈
{
0
,
1
}
y_i\in\left\{0,1\right\}
yi∈{0,1},这是一个只含二值的问题,我们建立模型:
y
i
=
E
(
y
i
∣
x
i
,
β
)
+
ε
i
y_i=E(y_i|\pmb{x}_i,\pmb{\beta})+\varepsilon_i
yi=E(yi∣xxxi,βββ)+εi则误差项显然是离散型随机变量,而且它的方差随期望的变化而变化,当然,我们仍然可以用线性模型来拟合数据,然后用GLS学习参数取值,不过由于真实数据不再具有线性结构,所以由GLS强行用线性函数拟合得到的估计量不再是BLUE估计量,另一方面,这样得到的模型鲁棒性不够的,容易受新样本的影响,而且预测时,由线性模型计算出的预测值可能远远大于1或者小于0.
考虑到线性模型在解决非线性结构数据时存在的这些问题,可以利用一个连接函数
g
(
⋅
)
g(\cdot)
g(⋅),然后建立模型
y
i
=
g
(
x
i
T
β
)
+
ε
i
y_i=g(\pmb{x}_i^T\pmb{\beta})+\varepsilon_i
yi=g(xxxiTβββ)+εi,比如对于上文提到的二值问题,可以取
g
(
x
)
=
sigmoid
(
x
)
g(x)=\text{sigmoid}(x)
g(x)=sigmoid(x).指数分布族为这类广义线性模型(GLM)中连接函数的寻找提供了一个一般的思路。
为了说明这个问题,先以最简单的普通线性模型为例。当响应变量服从高斯分布时,我们假设响应变量的期望是回归变量的线性函数,即
μ
i
=
x
i
T
β
\mu_i=\pmb{x}_i^T\pmb{\beta}
μi=xxxiTβββ,将高斯分布的密度函数化成指数族的形式后可以看到
θ
i
=
μ
i
\theta_i=\mu_i
θi=μi,即
θ
i
=
x
i
T
β
\theta_i=\pmb{x}_i^T\pmb{\beta}
θi=xxxiTβββ,将这一假设拓展到广义线性模型中也是可行的,因为在文章的第一部分已经推导出:
μ
i
=
d
b
(
θ
i
)
d
θ
i
\mu_i=\cfrac{db(\theta_i)}{d\theta_i}
μi=dθidb(θi),这说明
μ
i
\mu_i
μi的取值由
θ
i
\theta_i
θi唯一确定而与尺度化参数
ϕ
\phi
ϕ无关,于是,可以取连接函数
g
(
θ
i
)
=
d
b
(
θ
i
)
d
θ
i
g(\theta_i)=\cfrac{db(\theta_i)}{d\theta_i}
g(θi)=dθidb(θi),根据线性假设有
μ
i
=
g
(
x
i
T
β
)
\mu_i=g(\pmb{x}_i^T\pmb{\beta})
μi=g(xxxiTβββ),所以我们可以建立模型
y
i
=
g
(
x
i
T
β
)
+
ε
i
y_i=g(\pmb{x}_i^T\pmb{\beta})+\varepsilon_i
yi=g(xxxiTβββ)+εi.
以上文中提到的二值问题为例,我们来建立它的广义线性模型。对于二值问题最常用的假设就是认为它服从伯努利分布,根据第一部分对伯努利分布指数族形式的推导有
θ
i
=
ln
π
i
1
−
π
i
\theta_i=\ln\cfrac{\pi_i}{1-\pi_i}
θi=ln1−πiπi,由于伯努利分布的期望等于取1的概率,所以
θ
i
=
ln
μ
i
1
−
μ
i
\theta_i=\ln\cfrac{\mu_i}{1-\mu_i}
θi=ln1−μiμi,再由
θ
i
=
x
i
T
β
\theta_i=\pmb{x}_i^T\pmb{\beta}
θi=xxxiTβββ,得
μ
i
=
1
1
+
exp
(
−
x
i
T
β
)
\mu_i=\cfrac{1}{1+\exp(-\pmb{x}_i^T\pmb{\beta})}
μi=1+exp(−xxxiTβββ)1,所以合适模型可以为
y
i
=
1
1
+
exp
(
−
x
i
T
β
)
+
ε
i
y_i=\cfrac{1}{1+\exp(-\pmb{x}_i^T\pmb{\beta})}+\varepsilon_i
yi=1+exp(−xxxiTβββ)1+εi,这就得到了经典的logstic回归模型。
相信读者通过以上过程已经清楚了应该如何建立一个广义线性模型,模型建立之后,接下来的问题就是参数的学习了,广义线性模型用到负对数似然损失函数学习参数的最大似然估计量(MLE),使用牛顿—拉普森算法进行数值求解,可以推导出GLM参数估计的迭代加权最小二乘(IRLS)算法。
3.迭代加权最小二乘(IRLS)算法
对数似然函数
ln
L
(
β
)
=
1
a
(
ϕ
)
∑
i
(
y
i
θ
i
−
b
(
θ
i
)
)
+
∑
i
h
(
y
i
,
ϕ
)
\ln L(\pmb{\beta})=\displaystyle{\frac{1}{a(\phi)}\sum_i\left(y_i\theta_i-b(\theta_i)\right)+\sum_ih(y_i,\phi)}
lnL(βββ)=a(ϕ)1i∑(yiθi−b(θi))+i∑h(yi,ϕ)
令对数似然函数关于
β
\pmb{\beta}
βββ的导数等于0
∂
ln
L
(
β
)
∂
β
=
∑
i
∂
ln
L
(
β
)
∂
θ
i
∂
θ
i
∂
β
=
1
a
(
ϕ
)
∑
i
(
y
i
−
μ
i
)
x
i
=
0
\cfrac{\partial\ln L(\pmb{\beta})}{\partial \pmb{\beta}}=\displaystyle{\sum_i\frac{\partial\ln L(\pmb{\beta})}{\partial\theta_i}\frac{\partial \theta_i}{\partial \pmb{\beta}}=\frac{1}{a(\phi)}\sum_i\left(y_i-\mu_i\right)\pmb{x}_i=\pmb{0}}
∂βββ∂lnL(βββ)=i∑∂θi∂lnL(βββ)∂βββ∂θi=a(ϕ)1i∑(yi−μi)xxxi=000
可以将方程写成矩阵的形式
X
T
(
y
−
μ
)
=
0
\pmb{X}^T(\pmb{y}-\pmb{\mu})=\pmb{0}
XXXT(yyy−μμμ)=000
这个方程称为得分方程,如果是线性模型,即
μ
=
X
β
\pmb{\mu}=\pmb{X\beta}
μμμ=XβXβXβ,这时得分方程等价于正规方程,于是很容易对这个方程求解。但是对一般的广义线性模型,得分方程关于参数
β
\pmb{\beta}
βββ是一个非线性方程组,因此只能用近似逼近的方法求解。
为了求解得分方程,我们希望用一个线性表达式来代替它的非线性部分,可以取
η
i
\eta_i
ηi满足:
y
i
−
μ
i
=
d
μ
i
d
θ
i
(
η
i
−
θ
i
)
y_i-\mu_i =\cfrac{d\mu_i}{d\theta_i}(\eta_i-\theta_i)
yi−μi=dθidμi(ηi−θi)
根据第一部分的推导
d
μ
i
d
θ
i
=
var
(
y
i
)
a
(
ϕ
)
\cfrac{d\mu_i}{d\theta_i}=\cfrac{\text{var}(y_i)}{a(\phi)}
dθidμi=a(ϕ)var(yi)
于是得分方程可化为
∑
i
var
(
y
i
)
a
(
ϕ
)
(
η
i
−
θ
i
)
x
i
=
0
\displaystyle{\sum_i\cfrac{\text{var}(y_i)}{a(\phi)}\left(\eta_i-\theta_i\right)\pmb{x}_i=\pmb{0}}
i∑a(ϕ)var(yi)(ηi−θi)xxxi=000
令
V
=
1
a
(
ϕ
)
d
i
a
g
(
var
(
y
1
)
,
⋯
 
,
var
(
y
n
)
)
\pmb{V}=\cfrac{1}{a(\phi)}diag(\text{var}(y_1),\cdots,\text{var}(y_n))
VVV=a(ϕ)1diag(var(y1),⋯,var(yn)),则
X
T
V
(
η
−
X
β
)
=
0
\pmb{X}^T\pmb{V}(\pmb{\eta}-\pmb{X\beta})=\pmb{0}
XXXTVVV(ηηη−XβXβXβ)=000
很明显
β
^
=
(
X
T
V
X
)
−
1
X
T
V
η
\widehat{\pmb{\beta}}=(\pmb{X}^T\pmb{VX})^{-1}\pmb{X}^T\pmb{V}\pmb{\eta}
βββ
=(XXXTVXVXVX)−1XXXTVVVηηη. all right…看上去似乎已经估计出参数取值了,不过好像又有点不太对劲。仔细检查发现我们并不知道
V
\pmb{V}
VVV和
η
\pmb{\eta}
ηηη,注意到
η
i
=
θ
i
+
d
θ
i
d
μ
i
(
y
i
−
μ
i
)
\eta_i=\theta_i+\cfrac{d\theta_i}{d\mu_i}(y_i-\mu_i)
ηi=θi+dμidθi(yi−μi),要求
V
\pmb{V}
VVV和
η
\pmb{\eta}
ηηη,就必须得知道参数
β
\pmb{\beta}
βββ的取值,这听起来令人沮丧,不过好在有迭代法这一神器,不管收不收敛,试一试总不会有问题。事实证明,只要初值选取合适,在本问题上使用迭代法是可行的。说了这么多废话,现将算法描述如下:
输入:样本
(
x
1
,
y
1
)
,
⋯
 
,
(
x
n
,
y
n
)
(\pmb{x}_1,y_1),\cdots,(\pmb{x}_n,y_n)
(xxx1,y1),⋯,(xxxn,yn)
输出:参数估计
β
^
\widehat{\pmb{\beta}}
βββ
1.初始化:
β
^
←
β
0
\widehat{\pmb{\beta}}\leftarrow\pmb{\beta}_0
βββ
←βββ0;
2.for i in 1:n,计算:
θ
^
i
←
x
i
T
β
^
\widehat{\theta}_i\leftarrow\pmb{x_i}^T\widehat{\pmb{\beta}}
θ
i←xixixiTβββ
,
μ
^
i
←
g
(
θ
^
i
)
\widehat{\mu}_i\leftarrow g(\widehat{\theta}_i)
μ
i←g(θ
i),
V
i
i
←
var
y
i
∣
θ
^
i
(
y
i
)
a
(
ϕ
)
V_{ii}\leftarrow\cfrac{\text{var}_{y_i|\widehat{\theta}_i}(y_i)}{a(\phi)}
Vii←a(ϕ)varyi∣θ
i(yi);
3.计算:
η
←
θ
^
+
V
−
1
(
y
−
μ
^
)
\pmb{\eta}\leftarrow\widehat{\pmb{\theta}}+\pmb{V}^{-1}(\pmb{y}-\widehat{\pmb{\mu}})
ηηη←θθθ
+VVV−1(yyy−μμμ
);
4.更新:
β
^
←
(
X
T
V
X
)
−
1
X
T
V
η
\widehat{\pmb{\beta}}\leftarrow(\pmb{X}^T\pmb{VX})^{-1}\pmb{X}^T\pmb{V}\pmb{\eta}
βββ
←(XXXTVXVXVX)−1XXXTVVVηηη;
5.重复2到5步,直至算法收敛.
4.IRLS为什么有效?
不少读者读到这里可能会产生一个疑惑,那就是在推导IRLS算法过程中一个关键步骤
y
i
−
μ
i
=
d
μ
i
d
θ
i
(
η
i
−
θ
i
)
y_i-\mu_i =\cfrac{d\mu_i}{d\theta_i}(\eta_i-\theta_i)
yi−μi=dθidμi(ηi−θi)似乎显得有些天马行空,
η
i
−
θ
i
\eta_i-\theta_i
ηi−θi是关于
β
\pmb{\beta}
βββ的线性函数通过变换后可以“解出”
β
\pmb{\beta}
βββ,这点挺好理解,但是为什么前面的系数是
d
μ
i
d
θ
i
\cfrac{d\mu_i}{d\theta_i}
dθidμi而不是其他,要知道这个系数直接关系到权重矩阵
V
\pmb{V}
VVV,取不同的系数参数的估计结果就会有不同的值。直观上看,这个表达式形式上类似于连接函数在
θ
i
\theta_i
θi处的一阶泰勒展开,但是
g
(
η
i
)
g(\eta_i)
g(ηi)一般是不等于
y
i
y_i
yi的,否则的话我们就可以认为这一步是利用泰勒公式取的一个线性近似。实际上IRLS可以看做由牛顿-拉普森算法推导出来的。
下面我们利用牛顿-拉普森算法来求解得分方程,具体的过程就不写了(网上一搜一堆介绍牛顿算法的,也可以参考我之前的博文),直接写出算法的更新步骤:
β
^
←
β
^
+
(
X
T
V
X
)
−
1
X
T
(
y
−
μ
^
)
\widehat{\pmb{\beta}}\leftarrow\widehat{\pmb{\beta}}+(\pmb{X}^T\pmb{VX})^{-1}\pmb{X}^T(\pmb{y}-\widehat{\pmb{\mu}})
βββ
←βββ
+(XXXTVXVXVX)−1XXXT(yyy−μμμ
)
在IRLS中将
η
←
θ
^
+
V
−
1
(
y
−
μ
^
)
\pmb{\eta}\leftarrow\widehat{\pmb{\theta}}+\pmb{V}^{-1}(\pmb{y}-\widehat{\pmb{\mu}})
ηηη←θθθ
+VVV−1(yyy−μμμ
)代入到更新步骤
β
^
←
(
X
T
V
X
)
−
1
X
T
V
η
\widehat{\pmb{\beta}}\leftarrow(\pmb{X}^T\pmb{VX})^{-1}\pmb{X}^T\pmb{V}\pmb{\eta}
βββ
←(XXXTVXVXVX)−1XXXTVVVηηη中,利用
θ
^
=
X
β
^
\widehat{\pmb{\theta}}=\pmb{X}\widehat{\pmb{\beta}}
θθθ
=XXXβββ
同样可以得到
β
^
←
β
^
+
(
X
T
V
X
)
−
1
X
T
(
y
−
μ
^
)
\widehat{\pmb{\beta}}\leftarrow\widehat{\pmb{\beta}}+(\pmb{X}^T\pmb{VX})^{-1}\pmb{X}^T(\pmb{y}-\widehat{\pmb{\mu}})
βββ
←βββ
+(XXXTVXVXVX)−1XXXT(yyy−μμμ
)
这就说明了IRLS算法和Newton-Raphson算法是等价的。
5.IRLS算法与GLS算法
记
W
=
d
i
a
g
(
var
(
η
1
)
,
⋯
 
,
var
(
η
n
)
)
\pmb{W}=diag(\text{var}(\eta_1),\cdots,\text{var}(\eta_n))
WWW=diag(var(η1),⋯,var(ηn)),根据
η
i
\eta_i
ηi的定义
var
(
η
i
)
=
var
[
a
(
ϕ
)
var
(
y
i
)
(
y
i
−
μ
i
)
]
=
a
(
ϕ
)
2
var
(
y
i
)
\text{var}(\eta_i)=\text{var}\left[\cfrac{a(\phi)}{\text{var}(y_i)}(y_i-\mu_i)\right]=\cfrac{a(\phi)^2}{\text{var}(y_i)}
var(ηi)=var[var(yi)a(ϕ)(yi−μi)]=var(yi)a(ϕ)2
故
V
=
a
(
ϕ
)
W
−
1
\pmb{V}=a(\phi)\pmb{W}^{-1}
VVV=a(ϕ)WWW−1
β
^
I
R
L
S
=
(
X
T
W
−
1
X
)
−
1
X
T
W
−
1
η
\widehat{\pmb{\beta}}_{IRLS}=(\pmb{X}^T\pmb{W}^{-1}\pmb{X})^{-1}\pmb{X}^T\pmb{W}^{-1}\pmb{\eta}
βββ
IRLS=(XXXTWWW−1XXX)−1XXXTWWW−1ηηη
如果直接对广义线性模型的线性部分用广义最小二乘法学习参数结果会是怎样呢?
记
θ
i
∗
=
g
−
1
(
y
i
)
\theta_i^*=g^{-1}(y_i)
θi∗=g−1(yi),则
(
x
1
,
θ
1
∗
)
,
⋯
 
,
(
x
n
,
θ
n
∗
)
(\pmb{x}_1,\theta_1^*),\cdots,(\pmb{x}_n,\theta_n^*)
(xxx1,θ1∗),⋯,(xxxn,θn∗)可以看成线性模型
θ
=
x
T
β
+
ε
\theta=\pmb{x}^T\pmb{\beta}+\varepsilon
θ=xxxTβββ+ε的
n
n
n个观测,利用GLS算法估计
β
\pmb{\beta}
βββ,记
U
=
d
i
a
g
(
var
(
θ
1
∗
)
,
⋯
 
,
var
(
θ
n
∗
)
)
\pmb{U}=diag(\text{var}(\theta_1^*),\cdots,\text{var}(\theta_n^*))
UUU=diag(var(θ1∗),⋯,var(θn∗)),则:
β
^
G
L
S
=
(
X
T
U
−
1
X
)
−
1
X
T
U
−
1
θ
∗
\widehat{\pmb{\beta}}_{GLS}=(\pmb{X}^T\pmb{U}^{-1}\pmb{X})^{-1}\pmb{X}^T\pmb{U}^{-1}\pmb{\theta^*}
βββ
GLS=(XXXTUUU−1XXX)−1XXXTUUU−1θ∗θ∗θ∗
将
g
−
1
(
y
i
)
g^{-1}(y_i)
g−1(yi)在
μ
i
\mu_i
μi处一阶泰勒展开有
θ
i
∗
≈
θ
i
+
∂
θ
i
∂
μ
i
(
y
i
−
μ
i
)
=
η
i
\theta_i^*\approx\theta_i+\cfrac{\partial\theta_i}{\partial\mu_i}(y_i-\mu_i)=\eta_i
θi∗≈θi+∂μi∂θi(yi−μi)=ηi
故
β
^
I
R
L
S
≈
β
^
G
L
S
\widehat{\pmb{\beta}}_{IRLS}\approx\widehat{\pmb{\beta}}_{GLS}
βββ
IRLS≈βββ
GLS,即IRLS与GLS是渐进等价的。
6.后记
GLM的好处在于建立模型时结合了响应变量的原始分布信息,其响应变量的分布必须是指数族分布,它是当响应变量不满足正态分布和方差不变假设时,区别于GLS的另一种变量变换方法,当然,这种方法也不是万能的,面对具体问题时,GLM只是提供了一种建模思路,而模型是否适用还得做进一步检验,很多情况下,GLM对数据拟合效果不佳,这时候应该尝试使用其他模型。