从线性模型到广义线性模型(1)——模型假设篇

在统计学里,对特定变量之间的关系进行建模、分析最常用的手段之一就是回归分析。回归分析的输出变量通常记做$ Y$,也称为因变量(dependent)、响应变量(response)、被解释变量(explained)、被预测变量(predicted)、从属变量(regressand);输入变量通常记做$ x_1$,…,$x_p$,也称为自变量(independent)、控制变量(control&controlled)、解释变量(explanatory)、预测变量(predictor)、回归量(regressor)。本文根据作者自己的一些学习心得和理解,简单且不严格地介绍在模型假设方面普通线性模型和广义线性模型的区别和联系/推广(generalization)。广义线性模型的拟合检验、推断、诊断等方面的方法和手段依赖于模型所采用的分布类型,难以一概而论,将在作者后续的学习心得文章里具体介绍。

1.普通线性模型的简单回顾

普通线性模型(ordinary linear model)可以用下式表示:

$ Y={\beta}_0+{\beta}_1x_1+{\beta}_2x_2+…+{\beta}_{p-1}x_{p-1}+\epsilon$                          (1.1)

这里$ {\beta}_i$,$ i=1$,…,$p-1$称为未知参数,$ {\beta}_0$称为截矩项。

普通线性模型的假设主要有以下几点:

1.响应变量$ Y$和误差项$\epsilon$正态性:响应变量$ Y$和误差项$\epsilon$服从正态分布,且$\epsilon$是一个白噪声过程,因而具有零均值,同方差的特性。

2.预测量$x_i$和未知参数${\beta}_i$的非随机性:预测量$x_i$具有非随机性、可测且不存在测量误差;未知参数${\beta}_i$认为是未知但不具随机性的常数,值得注意的是运用最小二乘法或极大似然法解出的未知参数的估计值$\hat{\beta}_i$则具有正态性。

3.研究对象:如前所述普通线性模型的输出项是随机变量$ Y$。在随机变量众多的特点或属性里,比如分布、各种矩、分位数等等,普通线性模型主要研究响应变量的均值$E[ Y]$。

4.联接方式:在上面三点假设下,对(1.1)式两边取数学期望,可得

$ E[Y]={\beta}_0+{\beta}_1x_1+{\beta}_2x_2+…+{\beta}_{p-1}x_{p-1}$                                        (1.2)

从 (1.2)式可见,在普通线性模型里,响应变量的均值$E[ Y]$与预测量的线性组合${\beta}_0+{\beta}_1x_1+{\beta}_2x_2+…+{\beta}_{p-1}x_{p-1}$通过恒等式(identity)联接,当然也可认为通过形为$f(x)=x$的函数(link function)联接二者,即

$ E[Y]=f({\beta}_0+{\beta}_1x_1+{\beta}_2x_2+…+{\beta}_{p-1}x_{p-1})={\beta}_0+{\beta}_1x_1+{\beta}_2x_2+…+{\beta}_{p-1}x_{p-1}$

2.广义线性模型的简单介绍

广义线性模型(generalized linear model)正是在普通线性模型的基础上,将上述四点模型假设进行推广而得出的应用范围更广,更具实用性的回归模型。

1.响应变量的分布推广至指数分散族(exponential dispersion family):比如正态分布、泊松分布、二项分布、负二项分布、伽玛分布、逆高斯分布。exponential dispersion family的详细定义限于篇幅这里不做详细介绍。

2.预测量$x_i$和未知参数${\beta}_i$的非随机性:仍然假设预测量$x_i$具有非随机性、可测且不存在测量误差;未知参数${\beta}_i$认为是未知且不具有随机性的常数。

3.研究对象:广义线性模型的主要研究对象仍然是响应变量的均值$E[ Y]$。

4.联接方式:广义线性模型里采用的联连函数(link function)理论上可以是任意的,而不再局限于$f(x)=x$。当然了联接函数的选取必然地必须适应于具体的研究案例。同时存在着与假设2.1里提及的分布一一对应的联接函数称为标准联接函数(canonical link or standard link),如正态分布对应于恒等式,泊松分布对应于自然对数函数等。标准联接函数的推导及其应用上的优点涉及到指数分散族的标准化定义,这里不做详述。

3.简单的例子

考虑这样一个简单的退保案例:一个保险产品一共卖出12份保单(当然了这在现实中不可能,这里仅为示例),在保单期限内一共有6人退保。那么采用这12个投保人的特征数据如收入、职业、年龄等做为预测变量对退保/退保率进行回归分析时,普通线性模型不再适用,因为这里退保这一事件不再服从正态分布,而是二项分布(当然了如果观测值的个数足够大,比如大于30,正态分布是一个很好的近似)。此时就可采用广义线性模型(目标分布采用二项分布)进行建模。

4.补充:指数分布族的简介

指数分布族(exponential dispersion family)实质上是对一类具有以下形式的概率密度函数或具有此类密度函数的分布的总括:

$f_Y(y;\theta,\Psi)=exp[(y\theta – b(\theta))/{\Psi} + c(y;\Psi)]$

这里$\Psi$和$\theta$是实参数,$b(.)$和$c(.;.)$是实函数,该密度函数的支集(support)$D_{\Psi}$是$R$的子集,且不依赖于$\theta$。满足$\theta=\eta=g(\mu)$的联接函数$g(\mu)$称为标准联接函数(standard or canonical link)。

一般情况下参数$\Psi$的值是未知常数(fixed and unknown),因此在许多GLM文献里指数分布族又被称为单参数指数族(one-parameter exponential family)。对于比较常用的分布,$\Psi$和$\theta$的取值具有特殊的形式:

正态分布$N(\mu,{\sigma}^2)$:$\Psi={\sigma}^2$和$\theta=\mu$

泊松分布$Poisson(\lambda)$:$\Psi=1$和$\theta=log\lambda$

二项分布$Binomial(m,p)$:$\Psi=1$和$\theta=log(p/(p-1))$

负二项分布$Negative Binomial(r,p)$:$\Psi=1$和$\theta=log(1-p)$

伽玛分布$Gamma(\alpha,\beta)$:$\Psi=1/{\alpha}$和$\theta=-{\beta}/{\alpha}$

从线性模型到广义线性模型(1)——模型假设篇》有27个想法

  1. 文章总体不错。不过既然标题是“模型假设篇”,那么不妨将模型假设讲得更细致一些。比如指数散布族这是广义线性模型的命根子,怎么能“限于篇幅不作介绍”呢?统计之都的文章永远都不会“限于篇幅” 😆 这四个字只是纸质刊物的借口而已。

    还有标准联接函数也一样,它有什么优点,我觉得也应该展开写一写。

    1. 其实啊,是因为指数散布族、标准联接函数等一些说明、推导需要大量大量大量的公式。我有些发怵@@。。。

      1. 并不是说把推导什么的都放上来,那样不如干脆推荐读者看书好了。把指数分布族的形式写出来的话,这件事情会明了许多,比如为什么Logistic回归经常用logit联接函数(我见过一些民科的吐血解释)、为什么那个散布参数是个“讨厌参数”(极大似然估计可以扔掉它不管),等等。更深层的意义在于,广义线性模型不是简单的推广分布族,它是另一种思想。普通的回归的中心是加性误差,而GLM则是把模型分成两个组成成分来考虑,一个系统成分(自变量线性组合),一个随机成分(因变量的概率分布),二者用连接函数连起来。你可以说GLM是普通回归的推广,但我觉得这样有点低估它在统计建模思想上的突破。一己之见,供参考,不一定对。

      2. 嗯,我做抗病遗传评估的时候,就会用到logit,但就是不知道为什么这样做,以及优缺点。作者千万不要太监一定要写完,写好。

    2. 初识GLM,理解很肤浅。。。写这个东西的目的之一就是与各位交流、学习。显然从益辉兄和怡轩的回复中,获益不少。待我细细想想之后,再修改修改,或是另写一篇。

      1. 鼓励大胆尝试。对于作者来说,若能从读者的讨论中受益,那将是你写文章的最大回报。

    1. 啊。。那个链接,每回我在18和how之间加上一个/,保存之后都会消失,成为现在这个样子18how。。不知何故

  2. 对连接的方式和因变量的分布有所限制只是因为极大似然估计(包括其方差)有近似的加权最小二乘的形式吧?这样做迭代什么的会方便些。但我感觉这些都不是必要的吧,因为GLM的估计和检验都是建立在极大似然估计和似然比检验的基础上的,理论上连接和分布都可以任意吧?这方面我没细想过,不知道是不是这样。
    关于GLM的思想,我感觉很重要的一点就是把传统回归中“误差”的概念进行了升华。还记得当初学线性回归时书里提到了Logistic回归,我当时就郁闷,这回归怎么没有误差项呢?怎么没有误差项呢??怎么能没有误差项呢???
    后来才意识到,在传统回归中,我们有意无意地弱化了因变量分布的概念,而只是说误差如何如何,就好像因变量特别不情愿成为一名随机变量似的,它之所以是随机的全是因为那个误差强加到它身上了。不知是不是我个人的感觉,我会潜意识地认为,所谓的因变量其实是指那个期望,而不是期望加上误差后的随机变量。举个例子来说,我们会这样报告回归的结果:给我一个自变量,我就能给出因变量的期望值,以及它的误差大小。这句话的潜台词是,因变量本来就应该是那个期望值的,只是因为误差的影响,才使得它实际的取值有所偏离。
    但GLM不这么认为,它一开始就要你意识到,“根本不存在什么误差”,因变量本身就是随机变量。当你建完模后,你能得出的结论是,给我一个自变量,我就能给出因变量的分布。显然说分布如何如何比说误差如何如何更符合统计思维。(当然,传统回归的结果实际上也给出了分布,但我们下意识地忽略了这一点)
    总之我感觉,传统回归中我们的思维一直是围绕误差来的,而到GLM中就应该转向直接关注因变量的分布。

  3. “根本不存在什么误差”,因变量本身就是随机变量。当你建完模后,你能得出的结论是,给我一个自变量,我就能给出因变量的分布。

    我理解是这样的,在现有自变量的信息下,因变量有一个条件期望。我们通常说的误差,就是因变量这个随机变量的实现值跟它的条件期望的差……

  4. 最近正好在做logistic 回归分析,用的正好是GLMM 的模型。据说为啥比如为什么Logistic回归经常用logit联接函数(我见过一些民科的吐血解释)?举一个例子,比如在第一个群体中不患病的频率为0.6,而另一个群体中不患病的群体频率0.9。如果有一个药物,它能降低患病的个体数。从直观上理解,使得从0.6上升到0.65 所左右的效率远远是低于从0.9上升到0.95的。另外,在第一个群体内,它的方差是0.6*0.4=0.24,而第二个群体内它的方差是0.09。随之期望值的改变,方差不等。这就是用一般的转换方程所不能解决的问题吧。

    1. glm引入了方差函数,正是用于建立方差和均值的关联,而不再限定于正态假设下的同方差性。

    2. 随着期望改变,方差也跟着改变,这对指数分布族中的很多分布都适用(除了正态分布),比如Poisson、Gamma等等,方差是期望的函数。这是因变量的分布的问题,和用什么联接函数无关。

      为什么用Logit联接函数,我是觉得这个问题不必过度解释,找理由找着找着容易变得牵强。Logit联接函数是二项分布对应的正则联接函数(Canonical),本来是图个数学性质方便而已。

      你说的患病率解释当然有一定道理,但感觉还是有点“事后解释”的味道,我不知道它是否真的那么直观。你说的“效率远远低于”大概是根据优比(Odds Ratio,OR)得来的,前者OR上升了1.24倍,后者上升为2.11倍。但这一定是用logit的证据吗?用log[p^2/(1-p)]行不行呢,它也有这个性质;当然可以,没有人规定联接函数一定得长什么样子。我这显然有点狡辩的意思,但本意是统计里面很多东西本不应该成为金标准,而在流传过程中无意成为了标准,并且人们给这些标准添加越来越多的解释,就像心理学上的自我暗示、自我说服一样。

      1. 益辉兄的解释很有道理。以我的看法,二项分布的GLM经常使用的link function有三种logit=log(p/(1-p)),prohit=[latex]{\Phi}^{-1}(p)[/latex],complementary log-log=log(-log(1-p))。logit是二项分布GLM的canonical link,与后两个link function的共同之处就是他们都是单调的且自变量在[0,1]内取值。而二项分布GLM下E[Y]=p,p是一次实验中目标事件成功的概率,因此E[Y]=g(eta)就要求连接函数必须满足单调且在[0,1]内取值。logit用的较多,一是因为他的数学性质,另外一点嘛,大胆地猜测一下是因为多数的统计或计量软件在做二项GLM回归时把logit做为默认的link,然后就越来越流行了。统计被称为处理数据的艺术,所谓艺术自然少不了主观的因素在其中了,二项GLM的link选择也体现了这一主观。

    1. 给个例子呗,我去看看计量如何处理随机的X。但愿不是用那“万能”的结构叉叉模型。

      个人认为把X当随机变量将会给统计模型带来魔鬼……

      1. 比如,你可以看看Jeffrey Wooldridge 的Econometric Analysis of Cross section and Panel Data. 在社会科学中,将X看成非随机变量是无法被接受的。例如,在著名的估计消费倾向的的回归方程中,你没有理由将消费看成随机变量而认为收入是非随机的。

      2. 这个我理解,它也是我多年的疑问。统计学把X当作非随机的这在大多数情况下都不合理,除了试验设计,没有什么地方存在非随机的自变量(即使是试验设计,因素的水平也未必真的是非随机的)。把自变量当成非随机的,会有很大的数学处理上的方便;否则,模型将会变得恶心。

        你能大致说说怎么处理吗?谢谢!

    2. 嗯,写这个文章前,我大致翻看了一些国内作者写的计量教材,多数都把x写成X,认为随机变量。但是我又翻看了几个国外作者写的教材,当然是统计学方面的,都把x写成x,即认为是fixed constant,而不是随机变量。把x看成随机的,我不知道原因何在。也许您能给我指点一二。

  5. 遗憾的是,将x看成随机时只能讨论估计量的渐近性质,如:在一定条件下OLS的一致性、渐近正态性等。有机会我也介绍一下计量经济学中的处理方法。另外,请教一下,在评论中如何输入公式呢?

    1. 将X视为随机的,那我们建模所用的数据,比如X的样本值,应该怎么利用呢?用它们来估计X的分布或参数吗?。。。。计量方面我不熟悉,期待你的文章^_^。

  6. 用英文自学的GLM,感觉基本功不够扎实,对基本概念理解还不深入.看了您的文章,感觉强化了概念!谢谢!

发表评论

邮箱地址不会被公开。 必填项已用*标注