美文网首页
广义线性模型(1)广义线性模型

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

作者: 蛋仔鱼丸 | 来源:发表于2020-05-26 10:23 被阅读0次

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

    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,其本质是一个数理统计问题,不要把xy看做两个数字,而把他们视为两个随机变量,那么回归就是在样本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 ) =ya(η)是对数分配函数(log partition function),而abT一般都是给定的,随着η的变化,会得到不同的分布。知道了分布的形式,第一个问题也就解决了,使用期望的计算公式,根据分布求期望呗;

    1. 定义y 的估计值 h ( x , θ ) = E ( T ( y ) | x , θ )=E ( y | x , θ ),即y的估计值就是 Pr(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(η)

    指数族分布的例子:

    Link Function(联结函数)

    联结函数,顾名思义,它描述了随机成分与系统成分之间的关系,在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^2),响应变量服从正态分布,按照指数分布族来表示:

    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函数。

    总结

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

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



    主要参考

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

    相关文章

      网友评论

          本文标题:广义线性模型(1)广义线性模型

          本文链接:https://www.haomeiwen.com/subject/ijtgohtx.html