分享

【典藏】Logistic 回归:从入门到进阶

 doudou0427 2015-10-24

 


(一)如何理解Logistic回归


我们在做统计分析之前,往往会做个散点图,以对数据有直观的了解。今天,我们就从散点图入手,来探究Logistic回归的奥秘。


如下,分别是连续型因变量和二分类因变量的散点图。很直观的,我们会想到用一条直线来代表左图中两个变量的关系。那么右图中,用一条什么样的线来代表呢?


如下,左图可以完美地拟合出一条直线;而右图如果绘制成S型曲线,意义就与左图有所不同了。


右图的纵轴已经换成了P值。所以右图曲线上的点,代表的就是在对应x位置,Y取到1的概率(即取到二分类变量中上方变量值的概率),Y轴label顺理成章换为了P-概率值。


有了拟合曲线,另一个问题就产生了。代表P值的曲线与自变量并非线性关系!那如何转化为线性关系,以方便我们写成y=ax+b的形式进行参数估计呢?


因此,就需要我们引入logit函数的概念。


如下左图中,β+βX与p的关系,是一条S曲线的关系;而我们引入logit函数,p与log(p/(1-p))的关系,恰好是一条反S曲线的关系。把二者一整合,负负为正,就得到了我们所期望的直线关系,即log(p/(1-p))=β+βX,就是所谓的Logistic回归方程。


这个logit函数,在广义线性模型中,就被成为连接函数。


我们实际上有很多种类的连接函数,可以构造很多种的回归。因为这里的函数恰好被叫做logit函数,所以,理所当然地,这个回归也就被称为Logistic回归。





(二)回归模型建立


上一部分,我们谈了对Logistic回归的直观理解。就是将两分类的结局变量用概率的形式重构,之后通过logit函数将概率转化成线性结构,通过线性拟合的方式来构造回归方程。


今天,我们在已经对Logistic回归有初步理解的前提下,谈一下如何构造一个比较优秀的Logistic回归模型。


这一部分的幻灯片比较乱,转换成图片之后,又少了动画的引导和作者的讲解,所以在这一部分,我对尽量多补充一点文字信息。


首先,对于回归陌生的同学,可能要先介绍一下多重回归的概念。简单回归呢,就像上次图片中的线性回归那样,将众多的散点拟合成一条直线。多重回归呢,就是把自变量变成多个,在一个高维空间中拟合这条直线。


下面,我们来看一下,为何要做多重回归?单变量回归存在什么问题呢?

我们说,把众多盲者的信息整合到一起,就可以更好的拟合一头大象,所以,如果我们把性别年龄症状体征一起放进回归模型,就可以更好的来表达一种疾病状态。


那我们说更好地拟合,更好的表达,有什么评价指标,说明其好与不好呢?这就是我们常说的R方,决定系数。

像上面盲人摸象的例子,把众多盲者摸象的结论合并起来,是不是就会八九不离十啊?(R方为0.8~0.9)。


除了更多的解释我们的因变量,其实多重回归还有一个更重要的特征,混杂校正!那么什么是混杂校正呢?我们来看一个小孩身高与树的高度的例子:

时间可能会完美地替代掉树高这个因素,也可能只有在共存时才能取得一个更大的R方,但是呢,我们常常会需要根据专业知识,进一步地对变量进行取舍。如果你已经很清楚树高只是一个混杂因素,那么,即使只用时间变量会取得一个稍小的R方,也不应当保留树高这一因素。


那么如果不了解背后的混杂机制,单纯在统计模型中,是如何校正这多变量之间的关系呢?


我们来看一个例子,例子中,把芦菔根牙(萝卜一样的牙)也补充入模型之后,直接抢占掉了绳尾的位置。那如果把绳尾看成混杂因素的话,芦菔根牙就很好的校正了这一混杂。


但这样的校正真的靠谱嘛?请看幻灯:

从表象上看,我们看到了回归模型对变量的选择,那么,背后是如何的一个选择过程,模型的参数又是如何估计出来的呢?


在Logistic回归中,我们采用了最大似然法的估计方法,与普通线性回归的最小二乘法有一定的区别。但具体的区别,不是本文探讨的范畴,我们的统计软件自会在后台帮我们实现掉,对此有兴趣的朋友可以查阅相关资料。

刚才我们已经讲过R方,伪R方。除此之外,我们还有很多的模型评价指标,用来评价模型的好坏。


这样,我们就有了全模型的评价指标,和单变量的评价指标,后者就是大家最最常用到的P值!


另外注意一点,我们使用这些指标进行比较时,一般都只对相似的模型进行比较,如果两个模型间变量数、变量类别差别太多,往往就失去了比较的意义。

下面,我们来探讨模型构建中常常会遇到的几个细节问题:


首先,就是多重共线性:

其实无论存在不存在多重共线性,只要我们构建模型稍有复杂,都会使用一个变量筛选的机制。就是我们常说的,逐步法。


变量筛选,大概就是一个去糟取精的过程。

特别值得强调的是,我们的变量筛选不能够完全依赖统计软件,完全根据P值,我们一定要进行充分的文献回顾,根据自己的专业知识来决定最后的模型。


有时候,专业知识会与统计模型不太相一致,此时,我们就要通过一种手动调整的方式,来确定最终的模型。

另一个细节,就是交互作用:

其次,当我们的自变量里存在无序分类变量时,我们就要使用哑变量的方式来处理这些变量。

还有另一点,就是不少人关心的样本量问题:


其实大家记好了,在经费最大允许的条件下,在合理抽样的基础上,样本量越多越好!

回归模型建立这一部分,暂时就这些内容。


上述模型筛选、哑变量设置、交互作用等等,都可以在SPSS软件中实现。添加本微信号biostat,并回复“logistic”或“logistic回归”,即可得到软件操作的文章。




(三)Logistic回归的输出,OR值,和结果解读


我们提一个问题,“你为什么会选择Logistic回归”?

很多人都会回答:因为处理的是“因变量为二分类变量的情形”。

但实际上,Logistic回归如此流行,根源却并不仅仅在于因变量是二分类变量这一点,其实是Logistic回归的产出--OR值,给了Logistic回归如此高大上的江湖地位。


那么什么是OR值呢?这个,恐怕要从RR值说起。

我知道不少人都对公式比较恐惧的,但有时候必须要克服一下,才能够真正理解一个定义的内涵。如下,很简单的:

是的,大概就如您理解的,RR值,就是相对危险度,某个人群发病率是另一个人群发病率的多少倍。例,吸烟者患肺癌的机率是不吸烟者的多少倍。


而OR值却没有这么好解释,。。。怎么办呢?

好在,我们可以得到一个结论,在发病率较小时,OR值与RR值是极为近似的!那我们就可以用OR来模糊代替RR值。


另一点,在Logistic回归结果汇报时,往往会遇到这样一个问题:

是应该汇报OR值,还是β值,还是两个都要汇报?

这个决定权最终当然还是作者您的了,但有一点需要进一步了解:


OR值和β值其实是等价的。如下所示, 又是很简单的公式推导,要不要挑战一下?

如上,便可得到一个结论,OR值和β值其实是等价的!


很多朋友都很关心meta分析的写作,在回顾文献时,如果部分研究只汇报了β值,却没有报告OR值,那这篇文章还能采用吗?当然可以,前面说过,两者其实是等价的,只需要做一个对数转换!

同样,如果你遇到的是生存分析中的HR,跟本文的OR其实是一回事。


下表是一张典型的论文中的Logistic回归结果报告表。

试试能否找到以下几点:

  1. 上一次模型选择,我们提到过哑变量,能否在图中找出哪里进行了哑变量处理?

  2. 红框中的2.105,如何解读?

  3. 同一行中,95%CI与P-value有什么特别的关系?

上面题目的答案:

  1. The reason for的两行,都是哑变量,两个哑变量,实际上是对应了三个变量(分别为a,b,c)。

  2. 2.105,解释成危险因素或者保护因素,方向根据Y的方向设定来确定。大于1,说明Y中赋值大的容易发生。如果0是患病1是不患病,那这个2.105,就是说这个自变量发生,患病的可能性为2.105倍。

  3. 如果P小于0.05,那么95%CI上下限全部大于1,或者全部小于1。不会包含1的。




史上最简logistic回归操作教程


小编题为《Logistic回归:从入门到进阶》贡献给大家,其中操作演示部分,做了如下两幅图,以轻松呈现SPSS中的logistic回归操作。


图中箭头动画是有编号的,恰好依次说明:

  1. 点击分析(Analyze)菜单,选择其中的回归(Regression)子菜单。

  2. 在回归(Regression)子菜单中,选择双变量logistic回归(Binary Logistic)命令。

3. 在弹出的Logistic Regression对话框中,将因变量(Y)放入因变量(Dependent)框中。

4. 将自变量(X)放入协变量(Covariates)框中。

5. 对于分类变量(如,城市等)点选分类变量(Categorical)按钮,在弹窗中将分类变量导入。

6. 添加交互作用项,应在左侧同时选好相交互的两个或以上变量,点选箭头起始处'a*b>'按钮,引入交互作用项。

7. 选择是否对变量进行筛选:Enter法(进入法),选入的所有变量同时进入最终模型;其余选项,会自动对变量进行筛选,仅有意义的变量会进入模型。

8. 点击确定(OK)按钮,等待结果!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多