广义线性模型(1)广义线性模型

本文旨在将一些线性模型统一放在广义线性模型的体系下,从而更好的理解这些模型之间的联系和区别,属于总结和复习,最好对线性回归、逻辑回归稍微有所了解,不过后面几篇也是会复习到这些内容的。

1 概念理解

什么是广义线性模型?如果用大白话来翻译的话,就是:适用性更广的、更抽象的线性模型。我们可能平时使用的更多的是像线性回归、逻辑回归之类的比较具体的线性模型,他们会有各自独特的假设和适用场景,而广义线性模型的广义就体现在他的假设和适用场景范围更大,能把线性回归、逻辑回归之类的模型都囊括其中。

其实按我们编程的思路来想,广义线性模型GLM就像是抽象出来的一个抽象类,这个类定义了抽象的假设方法、属性等,在面对具体问题时,我们不能用这个抽象类来直接解决问题的,需要针对场景来实现一个可实例化的类,比如面对二分类问题我们继承GLM类,实现一个逻辑回归类,用逻辑回归来解决具体问题。广义线性模型GLM并不是这个类的源头,再向上还可以抽象出广义线性混合模型GLMM类,再向上抽象还有投影寻踪回归PPR类...估计这个分支抽象到最后就成了“模型”类。(当然,比如线性回归也并不是说只能抽象成GLM,也可能抽象成广义相加模型(GAM),这些方法本文不做详述)

本文中我们不会涉及太高层的抽象类,只稍微提一下广义线性混合模型GLMM,然后主要还是说回广义线性模型GLM,毕竟既然要说GLM,还是得提一嘴他的其中一个爸爸的(毕竟除了GLMM也可能抽象出别的爸爸)。

广义线性混合模型GLMM(Generalized Linear Mixed Model),是广义线性模型GLM 和线性混淆模型LMM 的扩展形式,兼具了二者的特点,他的因变量不再要求满足正态分布(来自GLM),他的自变量可以同时包含固定效应和随机效应(来自LMM),很是强大,不过说实在的不怎么常用,可能医学生物学用的更多一些吧,就不详述了。GLM的适用范围要小于GLMM,因为他的自变量只有固定效应,所以是没法很好的处理纵向数据的,因此对GLM适用的数据一般有几点基本要求:

  • 数据是线性的:这个不用说,毕竟是线性模型;
  • 方差齐性:其实也就是说你的数据要基本上是同一个分布的,这也没啥说的;
  • 不能有共线性,数据要独立:因为GLM自变量只有固定效应,处理不了非独立数据;

2 GLM理解

2.1 GLM的假设

要理解GLM,需要我们站在概率论的视角下来看待回归问题。回归的目的是通过给定的自变量\(x\),使用参数\(\theta\)所定义的模型计算出\(y\),其本质是一个数理统计问题,不要把\(x\)\(y\)看做两个数字,而把他们视为两个随机变量,那么回归就是在样本\(x\)的条件下,得到\(y\)的条件概率分布\(P ( y | x; \theta)\),通过计算分布的期望\(E ( y | x; \theta )\),就可以得到\(y\)的估计值。

我们注意到,上面的这段解释中存在一些有疑问的地方,比如:

  • 只有样本的情况下,\(y\)的条件概率分布\(P ( y | x; \theta)\)和期望\(E ( y | x; \theta )\)怎么计算呢?
  • 为什么\(E ( y | x; \theta )\)就是\(y\)的估计值呢?
  • 参数\(\theta\)所定义的是什么模型,\(\theta\)怎么求出来呢?

只有这些问题得以解决,才能走通上面对于回归问题的解释,怎么回答这些问题呢?想想我们手里有什么信息,好吧,只有一些样\(x\)及其对应的\(y\),这种情况下这几个问题是无法回答的,于是我们需要拿出增加信息的常用手段——假设。广义线性模型GLM就针对这些问题做出了以下三点假设:

  1. 定义 y 的估值概率分布属于某种指数分布族,\(y|x,θ∼ExponentialFamily(η)\),其包含多种分布,即是“广义”之所在:

\(P ( y | x , θ ) = b ( y ) e x p ( η^T T ( y ) − a ( η ) )\)

其中\(η\)是分布的自然参数,$T ( y ) \(是充分统计量(sufficient statistic, 能为相应分布提供足够信息的统计量),一般情况下\)T ( y ) =y\(;\)a(η)\(是对数分配函数(log partition function),而\)a\(、\)b\(与\)T\(一般都是给定的,随着\)η$的变化,会得到不同的分布。知道了分布的形式,第一个问题也就解决了,使用期望的计算公式,根据分布求期望呗;

  1. 定义\(y\) 的估计值 \(h ( x , θ ) = E ( T ( y ) | x , θ )=E ( y | x , θ )\),即\(y\)的估计值就是 \(P(y|x,θ)\)的期望值,所以这个假设解决了我们的第二个问题;

  2. 定义线性预测算子,即广义线性模型中的线性因素,对\(y\)相关的指数分布族的自然参数\(η\)\(η = θ^T x\),当\(η\)是向量时,有\(η_i=θ^T_ix\),这个假设告诉了我们参数\(\theta\)所定义的是什么模型,至于\(\theta\)怎么求解——又有分布又有样本,极大似然估计是不是很合适?具体求解我们在后面的具体模型中再细说。

这这些假设条件下,我们对不同数据 \(x\) 得到的其实是不同的响应变量\(y\)的分布(因为虽然\(\theta\)没变,但分布\(y|x,θ∼ExponentialFamily(η)\)的参数\(η = θ^T x\)发生了改变),不同分布的期望不同,即得到不同的估计值。这就是GLM的基本逻辑,下面我们来了解一下GLM的结构。

2.2 GLM的结构及推导

广义线性模型GLM包含3个部分: Random Component(随机成分)、System Component(系统成分) 和 Link Function(联结函数),这也是回归问题中普遍都要有的三个部分。

System Component(系统成分)

系统成分是给定的回归中,用来解释研究现象的部分,好像很抽象,我理解的就是System Component描述了这个问题的形态,比如在GLM中,系统成分是linear predictor(线性预测算子),这里对应着我们上面的第三点假设 :\(η = θ^T x\)

Random Component(随机成分)

随机成分则是用来定义待预测的未知的形态,即响应变量的形态。在GLM中,就是指数分布族模型,对应着我们上面假设中的第一点:\(y|x,θ∼ExponentialFamily(η)\)

指数族分布的例子:

联结函数,顾名思义,它描述了随机成分与系统成分之间的关系,在GLM中,联结函数连接了响应变量的期望(也就是我们的预测目标)与linear predictor,那他是怎么连接的呢?怎么理解这个事呢?下面我们来推导一下:

根据假设已知:

\[P(y|x,\theta) = b(y) e^{\eta^TT(y)-a(\eta)},η = θ^T x \]

所以:

\[P(y|η) = b(y) e^{\eta^TT(y)-a(\eta)} \]

极大似然估计求参数\(η\)

\[L(y,\eta) = \log P(y|\eta) = \log(b(y) e^{\eta T(y)-a(\eta)}) \]

\[L(y,\eta) = \log(b(y)) + \eta~y – a(\eta) \]

\[\frac{dL(y,\eta)}{d\eta} = y – \frac{d}{d\eta} a(\eta) \]

\[E(\frac{dL(y,\eta)}{d\eta}) =\int{\frac{d\log P(y|\eta)}{d\eta}P(y|\eta)dy} =\int{\frac{1}{P(y|\eta)}\frac{dP(y|\eta)}{d\eta}P(y|\eta)dy} \]

\[=\frac{d}{d\eta}\int{P(y|\eta)dy}=\frac{d}{d\eta}1=0 \]

\[E(\frac{dL(y,\eta)}{d\eta}) =E(y – \frac{d}{d\eta} a(\eta)) = 0 \]

所以:

\[E(y) = \frac{d}{d\eta} a(\eta),( \frac{d}{d\eta} a(\eta)与y无关) \]

\[E(y) =a'(\eta) \]

因为我们假设线性预测算子\(η = θ^T x\),所以:

\[θ^T x=η =a'^{-1}( a'(\eta))=a'^{-1}( E(y))=g( E(y)) \]

\[η =θ^T x=g( \mu) \]

因此可以说:联结函数连接了响应变量的期望(也就是我们的预测目标)与linear predictor。实际上, link function 把原始$ y$的值域(预测目标)转换统一到了 linear predictor 的值域上,反之,link function 的反函数就把 linear predictor 直接映射到了预测目标 \(y\), 反函数\(g^{−1}(η)=μ\) 称为响应函数(response function),较常用的响应函数例如logistic(sigmoid)、softmax(都是 logit 的反函数)。

举例

  • 比如在线性回归中,\(y|x,θ∼N(\mu,\sigma)\),响应变量服从正态分布,按照指数分布族来表示:

\[P(y|x,\theta) =\frac{1}{\sqrt{2\pi }\sigma } e^{\frac{(y-\mu)^2}{2\sigma^2} } =\frac{1}{\sqrt{2\pi }\sigma } exp(\frac{y^2}{2\sigma^2})exp(\frac{2\mu y-\mu^2}{2\sigma^2}) \]

其中,\(η =\mu,\ a(η)=\frac{\mu^2}{\sigma^2} ,\ b(y)=\frac{1}{\sqrt{2\pi }\sigma } exp(\frac{y^2}{2\sigma^2})\),可知线性回归的联结函数:\(g( \mu)=\mu\),相当于没有对linear predictor 的值域做转换。

  • 而在逻辑回归中,\(y|x,θ∼Bernoulli(\phi )\),响应变量服从二项分布,按照指数分布族来表示:

\[P(y|x,\theta) =\phi^y(1-\phi)^{1-y} =exp(log(\phi^y(1-\phi)^{1-y}))= exp[(log\frac{\phi}{1-\phi})y+log(1-\phi)] \]

其中

\[a(η)=-log(1-\phi)=-log(1-\frac{1}{1+e^{-η}})=-log(\frac{e^{-η}}{1+e^{-η}})=log(1+e^{η}) \]

所以,联结函数:

\[g( \mu)=g(\phi)=η=log(\frac{\phi}{1-\phi}) \]

可知逻辑回归的联结函数:\(g( \phi)=η =log(\frac{\phi}{1-\phi})\),即logit函数,logit函数能把自变量从(0,1)连续单调地映射到正负无穷,相当于对linear predictor 的值域\(η = θ^T x\)做了映射到\((0,1)\)的转换,其响应函数\(g^{-1}( η )=\phi=\frac{1}{1+e^{-η}}\),即logistic 或 sigmoid函数。

2.3 总结

通过以上的推导我们发现:一旦给定待估计的 \(y\)的概率分布的指数分布族形式(也就是给定了具体的 \(a,b,T\)),那么我们就可以直接套用公式 \(h ( x , θ ) = E ( y | x , θ ) = a' ( η )\) 构建回归模型,这可能也是GLM假设了指数分布族这么一个奇怪的分布形式的原因吧。

以上就是广义线性模型的基本内容,根据这些假设和结构,我们就可以构造出常用的线性回归、逻辑回归之类的算法了,下一篇我们就具体讲一下线性回归相关的内容。


**主要参考**

斯坦福CS229机器学习课程
GLM(广义线性模型) 与 LR(逻辑回归) 详解
广义线性模型中, 联系函数(link function) 的作用是不是就是将不是正态分布的Y转换成正态分布?——知乎

posted @ 2020-07-25 22:38  蛋仔鱼丸  阅读(1858)  评论(0)    收藏  举报