逻辑回归的统计检验,原来招数辣么多?
※说人话的统计学※
「说人话的统计学」专栏的各位读者大家好!今天,在进入新话题之前,我们先来回顾一下,上一集讲了什么。前面在《逻辑回归的袅娜曲线,你是否会过目难忘?》中,我们举了一个例子,蓝精灵聪聪和乐乐竞选,受教育高的群众似乎更倾向于选聪聪。通过使用逻辑回归模型进行极大似然估计,我们可以更定量地描述受教育程度(自变量)与支持聪聪的概率(因变量)之间的关系:
其中p(支持聪聪)代表支持聪聪的概率,自变量「教育程度」的回归系数为0.74,运用「除4法则」可以方便的估算出教育程度每增加一个单位,p(支持聪聪)最多会增加0.185。
值得注意的是,与之前介绍过的线性模型不同,在逻辑回归等非线性模型中,自变量改变1个单位时,因变量y=1的概率改变的速度并非均匀,会受到其预测值取值的影响。在逻辑回归模型里面,当 y=1的概率为0.5时,自变量对y=1的概率影响最大,当y=1的概率为0或1时,自变量对y=1的概率为影响最小。
用Wald检验判断逻辑回归系数是否显著不等于0
仅仅是回归系数大于0,还不足以说明教育程度与支持聪聪的概率有正相关关系,我们还要检查这一关系是否有统计显著性。换言之,教育程度的回归系数与0是否存在显著区别?
也就是说,我们要进行这样一个假设检验:
原假设H0:β1=0
备选假设 H1:β1≠0
其中,β1是教育程度的回归系数。
大家也许记得,在我们讨论线性回归的统计推断时,也遇到过类似的问题。由于抽取样本过程中自然存在的随机性,我们对回归系数的估计也有一定的不确定性,这一不确定性通常就用标准差来表示。 比如,在蓝精灵投票的例子里面,统计软件会给出如下结果:
对于这个标准差,不少人容易有一种误解,认为它描述的是回归系数本身的分布。我们反复强调过,在频率派的世界观里 ,回归系数没有随机性,就是一个确定的数值——它的「真实值」β。但是这个真实值看不见摸不着,只能通过模型拟合的手段用测量到的数据估算出一个数值(上面表格的第一栏,估计值
回忆一下p值的定义,我们就是要找出,如果原假设是真的,我们得到当前的回归系数的可能性有多大。在样本量较大的情况下,我们用极大似然法估计出来的在其真实值β附近接近于正态分布,分布的标准差就是统计软件给出的
如果z值大于1.96或者小于-1.96,就说明β不等于0就有统计显著性(如果我们用p值等于0.05作为门槛的话),在上面的例子里,教育程度对应的回归系数z值等于4.042,远大于1.96,所以其对应的p值也远小于0.05。从而,教育程度的回归系数显著不等于0,或者说,教育程度与选举聪聪有显著的相关性。
Wald检验有缺陷
Wald检验的思路虽然听着很有道理,但是在一些特殊的情况下也会出bug,给出不靠谱的结论。一种典型的情形,就是当数据中y=0和1这两种取值可以被自变量完美区分的时候 。这是什么意思呢?在上一集的例子里面,教育程度虽然对支持聪聪的概率有影响,但是并不是绝对的。即使是教育程度相似的人,有一部分会选聪聪,也有一部分会选乐乐,只是随着教育程度的升高,选聪聪的人的比例会提高(不妨回顾上集的插图)。但是,有时候,我们会遇到比较极端的数据,以至于我们可以在自变量的取值范围内的某处划条界限,在这个界限两边的数据点的因变量y取值是泾渭分明的,就像下面的这个例子:
从上图可以看出,教育程度显然对支持聪聪的概率影响很大,因为凡是教育程度低的蓝精灵全部选择了不支持聪聪,而教育程度大的蓝精灵都选择支持聪聪,不存在相似教育程度的蓝精灵一部分选择聪聪而另外一部分没选择聪聪。我们用统计软件找出逻辑回归模型的回归系数,并且得到支持聪聪概率的预测值(上图中的蓝色曲线)。上图中,所有数据点都与模型的预测值一致,说明模型完全解释了因变量的变化(至少在给定的数据集上),这不就是咱们梦寐以求的模型么?
让我们看看回归系数的估计值:
等等,这怎么跟说好的不一样呢?模型的拟合结果竟然显示p值为1,说明教育程度对支持聪聪的概率没有影响。这不是睁眼说瞎话么!
咱们进一步再看看数据会发现回归系数的标准差数值非常大,这导致了Z值很小,回归系数不显著。如果深究其根源,在上图的数据中,如果我们拟合的蓝色曲线沿着x轴向左或向右挪一点点,它还是能够完美地拟合数据,而且通过这样平移得到的曲线依然是逻辑回归曲线。 这就说明符合数据的逻辑回归模型其实有无数个,由于模型的无穷多可能性,对模型系数的估计就会充满不确定性,导致标准误差的数值会很大,Wald检验就失效了!
遇到这样的情况,咱们总不能得出「结果不显著,因为效果太强了」这样的奇怪结论吧。这时就可以祭出备用武器「似然比检验」了。
「似然比检验」来救场
「似然比检验」的思路与Wald检验不同,它基于这样一个思想:如果一个自变量的回归系数从0变成一个非0的数,对模型的拟合准确度有显著的提高,那么就这个自变量对整个模型的贡献就更能站得住脚了,也就是说,这个自变量的确与因变量之间有关系。
怎么知道「模型的拟合准确度」有没有显著地提高呢?首先,我们得有把尺子,来测量「模型的拟合准确度」,而之前反复出现的「似然」这个概念就是我们需要的尺子。我们用极大似然估计法找出让模型拟合效果最好的参数,这时所得到的似然值就是「模型的拟合准确度」的合理度量。
尺子有了,我们还得有办法知道特定自变量x对「模型的拟合准确度」的贡献。
首先,我们强制让自变量x的回归系数取值为0,这也就等价于在模型中不包含这个自变量。在此前提下,我们仍然允许截距以及其它自变量回归系数自由变化,这时我们可以找出在这个限制下的极大似然值L0。
然后,我们把x的回归系数必须为0这个限制给去掉,允许自变量x取任意的值,再一次在同样的数据上拟合模型,找出此时的极大似然值L1。这样一来,L1与L0的差距可以看作是加入x后模型拟合能力的提高。
需要注意的是,不管我们加入什么八竿子打不着的新变量,L1≥L0都总是成立。 我们在《评价线性模型,R平方是个好裁判吗?》里面讲到,在线性回归模型里面加入一个自变量,哪怕这个自变量其实与因变量y没有什么关系,也能提高模型的拟合程度,这一点在逻辑回归模型里面也同样成立。所以,只有当L1比L0大到一定程度的时候,我们才能认为自变量x显著地提高了逻辑回归模型的拟合度。
「拟合优度」是「似然比检验」的灵魂
那么当L1得比L0大多数才行呢?统计学家们为了回答这个问题,发明了一个新的统计检验量G2(拟合优度,goodness-of-fit),G2定量地描述加入自变量x对模型拟合能力的提高。G2实际上就是L1与L0的比值取对数后乘以2:
由于对数本身的运算性质,拟合优度G2也可以看做是有和没有特定自变量时,最大似然值取对数后的差距再乘以2。
这里我们用G2而不是G来表示拟合优度呢? 一方面是为了强调等式右边必然是正数,另一方面是 G2在很多方面与 R2类似,为了保持一致性,便也加了平方在表达式里面。
可能有读者会纳闷,我们为什么不直接使用最大似然值之差L1-L0来度量加入自变量x对模型拟合能力的提高呢?这是因为,当样本数据量比较大时,在原假设(该自变量的回归系数为0)成立的前提下,拟合优度G2符合特定的分布,这样我们要计算出p值就比较方便了。
「似然比检验」实战篇
通常统计软件并不会直接给出L1或者L0的值,而是会给出另外一个变量——「偏常」(deviance,通常用D表示)——的数值 。这又是什么呢?要解释「偏常」的含义,我们得先介绍另外一个概念,这就是「饱和模型」(saturated model)。
大家已经知道,逻辑回归模型的本质,就是研究因变量y取值为1(或0)的概率与自变量之间的关系。模型拟合完以后,给定自变量的取值,模型就会给出此时因变量y取值为1 的概率。正如上一集的例子中,我们可以说,根据拟合得到的模型,当教育程度为14年时,支持聪聪的概率是0.857,诸如此类。
如果一个模型能比较好地反映数据集体现的规律的话,这个预测应该是大体正确的。比如说,教育程度为14年左右的蓝精灵选民,应该是选聪聪的多,选乐乐的少。但既然说是「大体正确」,具体到每个个体,我们的预测总不可能完全正确。对于教育程度大约为14年但是选了乐乐的选民,模型的预测就可以说是错了。这听起来似乎让人不太满意,但对于0/1取值这样的二分类变量,能有大体正确的预测就已经非常不错了。
虽然现实有些骨感,但它并不能妨碍我们对丰满理想的追求是不?这个丰满的理想是啥呢?很简单,就是一个这样的模型,它对于每个点的预测都是完全正确的。也就是说,对于y值取0的点,它给出的预测就是y取1的概率为0;对于y值取1的点,它的预测就是y取1的概率是1。而一个模型如果能做到这份上,那我们就把它称为模型中的战斗机饱和模型了!
饱和模型只跟具体的数据集有关,跟我们当前在考虑什么样的模型、模型中包含什么自变量没有关系。对于同样的一组数据,饱和模型对应的似然Lfull是个固定值。正因如此,饱和模型是一个很好的基准点,它是给定数据集上,模型拟合优度能达到的上限。
说完了饱和模型,我们再来回到「偏常」(嗯,我知道你已经把这事儿给忘了)。偏常其实就是「饱和模型」相对于当前模型的拟合优度。
其中便是饱和模型中能观察到当前数据的概率 。因此,「偏常」便是以饱和模型的拟合程度作为参照点,得到的当前模型的拟合优度,反映的是现实和理想的差距,所以是越小越好 。
由于饱和模型对应的值是个常数,用同一组数据,包含或者去掉一个特定自变量x的偏常之差就是x的拟合优度。当我们包含x时,偏常记为D1,不包含x时,偏常记为D0。
绕了一大圈,原来不包含x的偏常减去包含x的偏常就是拟合优度,用来进行似然比检验的关键一步是这么计算的呢!
在前面让Wald检验一败涂地的例子里面,我们来试一试,似然比检验能不能得到正确的结果。根据统计软件输出的结果,D0=9.56, D1很小,近似于0。D1接近0很合理,因为在数据完全被模型拟合时,包含「教育程度」为自变量的模型近似于饱和模型,自然偏常就很小了。G2= D0- D1=9.56,G2此时满足自由度为1的卡方分布,利用统计软件(当然,如果你比较古典的话,也可以查表)得知p值非常接近于0——我们终于通过似然比检验得到了合理的结果。
作者:田菊
编辑:鹅不食草
质控:异叶青兰
点击下方标题可阅读本系列任意文章
干货
第1章 高屋建瓴看统计
第2章 算术平均数与正态分布
第3章 t检验:两组平均数的比较
第4章 方差分析(ANOVA):多组平均数的比较
第5章 线性回归:统计建模初步
线性模型生病了,你懂得怎样诊断吗?
「脱离群众」的数据点,是「春风化雨」还是「秋风扫落叶」
第6章 广义线性模型:统计建模进阶
(未完,更新中)
你在 或者不在 需要逻辑回归来算
逻辑回归的袅娜曲线,你是否会过目难忘?
自检
番外篇
持续更新中……
未来的旅程,希望一直有你们的陪伴。
张之昊,
2010 年本科毕业于清华大学生命科学学院,获理学学士学位。2016 年 5 月在耶鲁大学跨院系神经科学项目获得哲学博士学位。在耶鲁期间,他利用功能核磁共振成像( fMRI )技术与计算建模研究人类经济决策的脑科学基础及其与肥胖症的联系。2014 年,他以第一作者身份在 Current Biology 杂志发表论文,阐述了肥胖女性在涉及食物时的学习能力缺陷,受到 BBC 新闻、CBC、洛杉矶时报、新华社、果壳网等世界知名媒体的广泛报道。他还曾任耶鲁大学 Statlab 数据咨询师( Data Consultant ),为耶鲁师生提供实验设计、数据分析及统计学软件的咨询服务。2016 年 8 月至今在伯克利加州大学( UC Berkeley )哈斯商学院市场营销系担任博士后研究学者( Postdoctoral Scholar )。
田菊,
2010 年本科毕业于清华大学工程物理系,获工学学士学位。2016 年 5 月在哈佛大学医学院神经科学项目获得哲学博士学位。她在攻读博士期间研究基于奖赏的学习行为的神经回路及其计算模型,曾以第一作者或共同作者身份在 Nature,Neuron,Nature Neuroscience,Trends in Cognitive Science 等顶尖学术杂志上发表多篇论著。2016 年 6 月至今在 Facebook 担任数据科学家( Data Scientist )。