性研究领域,无论是现况调查、病例对照研究、还是队列研究,经常遇到分类的健康结局,包括二分类(如:生存与死亡、阳性与阴性、发病与未发病)或者多分类变量(如:疾病转归,治愈、无效、死亡;根据损伤程度分级的结局指标,如结核性胸腔积液胸膜粘连程度、视网膜出血程度、早产儿脑室缺血程度)以及一些可进行分类的生理生化、免疫指标等(如血压值、血镁值、血脂和胆固醇等)。当研究的健康终点是二分类变量时,线性回归分析往往无法进行(线性回归分析要求残差服从线性、正态性、独立性、方差齐性),此时可以考虑Logistic回归模型。

尤其是病例对照研究,它的结局全部为分类结局,很对Logistic胃口,同时病例对照研究往往要求计算的评价暴露因素影响程度的OR值(优势比),这一指标Logistic也能够计算得到。因此,病例对照研究设计与logistic回归分析乃是天作之合。因此,本系列紧跟病例对照研究方法篇,介绍Logistic回归分析。实例分析

例1:某医师基于某医院开展病例对照研究,探讨冠心病发病有关的影响因素,收集新发冠心病患者作为病例组,收集同期医院非循环系统疾病患者作为对照组,研究的暴露因素是病人的年龄age、性别sex、心电图检验是否异常ecg、高血压hyper、糖尿病diabetes。数据见casecontrol.s

spss logistic线性回归分析(Logistic回归简明教程)(1)

av。

1统计分析策略

探讨影响因素研究,有基础统计学方法和高级分析方法(病例对照研究的基本统计分析策略);一般来说,基础统计学方法无法满足影响因素的研究,一般需要开展回归分析,且需要多因素回归分析。

线性回归常见包括线性回归、Logistic回归、Cox比例风险模型,三者分别用于定量数据、分类数据、带有结局的生存时间资料。

本案例是病例对照研究,该研究结局是分类变量资料。采用的方法是Logistic回归方法(病例对照研究的基本统计分析策略)。

2logistic回归分析的基本原理

回归分析的主要功能是研究影响因素、开展预测。线性回归分析是通过构建线性函数,探讨影响与预测定量数据结局大小的因素。如果结局是分类变量,回归分析主要分析影响阳性事件发生的因素,预测阳性事件的发生。在本文案例中,冠心病的发生是需要探讨的阳性事件。

影响与预测阳性事件发生,可以用概率P来表示。P值越大,阳性事件发生的可能越大。如果一个因素可以导致概率P增大,说明该因素是重要的影响因素或者预测因素。

借鉴线性回归的原理,我们希望建立起一个关于P的线性函数:

遗憾的是,P与x的关系并不符合线性回归分析所要求的线性关系前提条件(它们的关系是S型曲线的关系),因此方程无法成立。之前推文介绍过,线性回归若线性条件不符合,可以对Y或者X进行转换,以满足线性回归的要求。因此,统计研究者对P进行了转换,称之为logit转换,或者logit(P):

于是,我们就建立了关于P与结局的转换线性关系,这一回归模型被称之为广义线性模型,其中logit(P)的转换模型叫做Logistic回归。

只从数据本身考虑的话,Logistic回归模型都是包括一个分类因变量及若干自变量(可以是分类变量,也可以是连续变量),反映了m个自变量对因变量的线性影响。无论对于病例对照研究还是队列研究,这种形式都是不变的。

基于上述公式,我们可基于多个自变量预测结局Y。上述公式可以转为以下关于P的更直接的公式:

比如有一名患者,女性、年龄57岁、心电图ST段重度异常、同时患有高血压和糖尿病,则可计算得到她患冠心病的概率为0.961。相反,如果另一名患者为女性、年龄49岁、心电图ST段轻度异常、同时糖尿病而无高血压,则她患冠心病的概率是0.262。好的模型,残差越小越好,残差均方越小越好。因此,logistic回归模型中,残差也是非常重要的评价指标。

3Logistic OR值计算

Logistic回归核心的功能之一是研究影响因素,它用于评价暴露因素影响程度的指标是OR值。

关于OR值,我在前文有详细的介绍(病例对照研究的基本统计分析策略)。观察性研究无论是横截面调查、病例对照研究或者队列研究,经常需要借助OR值暴露因素效应值,实际上实验性研究也经常使用该指标来评价干预措施的疗效。OR值指的是,优势比/比数比(odds ratio,OR)。优势(odds)是指二分类事件中一类事件相对于其对立事件的优势。病例组中优势是暴露者数/非暴露数,对照组中暴露数/非暴露数。

Logistic回归分析,实际上也是关于优势的回归模型。诸位稍微思考思考可以放发现a/(a c)、b/(b d)便是P,c/(a c), d/(b d)是1-P。a/(a c) 除以c/(a c) 即P/1-P,即阳性事件的优势。因此,可以得到以下的公式:

现在如果要探讨性别的影响,男性与女性的差异,可以从两个角度来分析讨:第一,计算回归系数β1,说明性别变量X对Y的影响;第二,计算OR值,两者是等同的,男性(P1)相对女性(P0)的影响回归系数b值等于ln(OR)值。

简而述之:

OR值大于1,提示暴露促进阳性事件的发生;

OR值小于1,提示暴露阻碍阳性事件的发生;

OR值等于1,提示暴露与阳性事件发生无关。

相对来说,OR值比b值在解释对结局的影响上更有意义,它能够说明结局Y风险增加的程度。比如OR=2,大致可以说明暴露因素增加发生阳性结局1倍的概率(千万注意,此处只能说大致、或者左右,原因后续再论)

医学研究中,风险大小估计是重要的内容。由于能够巧妙地计算OR值,Logistic回归在医学领域大受欢迎,特别是病例对照研究。

4Logistic回归分析类型

依据研究设计不同,可分为非条件Logistic回归模型和条件Llogistic回归模型。非条件Logistic回归用于成组设计的观察性研究,而条件Logistic 回归一般用于匹配设计研究。

依据因变量类型(水平数量),又可分为二分类Logistic回归模型和多分类Logistic回归模型;二分类Logistic回归也称二元Logistic回归(SPSS软件的叫法)

此外,根据多分类因变量是否有序,又可以分为多分类有序logistic回归模型和多分类无序logistic回归模型。

Logistic回归模型分类(本图来源于“医学统计分析学习”公众号)

本研究是基础教程,多分类、配对Logistic回归不再学习范围之内,我就介绍最基本的二分类非Logistic回归分析。本例所采用的方法便是多因素非条件Logistic回归分析。

SPSS操作

1Logistic回归入口

分析--回归--二元Logistic回归

spss logistic线性回归分析(Logistic回归简明教程)(2)

spss logistic线性回归分析(Logistic回归简明教程)(3)

①因变量:放入“是否患有冠心病(ca)”

②协变量:即自变量,放入年龄、性别、心电图表现、糖尿病、高血压

③保存:可分别计算除预测值(即P值)和残差,残差包括原始残差和标准化残差。

spss logistic线性回归分析(Logistic回归简明教程)(4)

④选项:可计算霍斯黙-莱梅肖拟合优度(Hosmer-Lemesho,H-L检验)(①)、OR值的95%CI置信区间(②)

spss logistic线性回归分析(Logistic回归简明教程)(5)

3Logistic回归分析结果及其解读

Logistic回归得到诸多结果,初学者仅需要重点关注以下几个表格。

首先提供的是Omnibus Tests of model Coefficients :指的是对模型的总的全局检验,为似然比检验。

结果里面的三行分别指的是:步骤(step)统计量是每一步与前一步的似然比检验结果,块(block)是指将block n与block n-1 相比的似然比检验结果,模型(model) 一行输出了Logistic回归模型中所有参数是否均为0的似然比检验结果,这是总体评价的关键检验。P<0.05表示本次拟合的模型中,纳入的变量中,至少有一个变量的OR值有统计学意义,即模型总体有意义。

其次,Logistic 回归提供模型拟合优度(Goodness of Fit)评价。所谓拟合优度,指的是模型构建的效果如何,与真实情况或者理想情况相比,差距有多大。线性回归分析一般采用R^2来反映拟合优度的效果。logistic回归拟合优度包括两类:从量评价拟合优度和从质提供拟合优度效果

量化评价拟合优度效果。Logistic回归分析提供类似于R^2的,考克斯-斯奈尔R方(Cox & Snell R^2)和内戈尔科R方(Nagelkerke R^2)。不过,这两种R^2有时被称为伪R^2,在Logistic回归中意义不大(与线性回归中的不同),可以不予关注。-2对似然值(-2 log likelihood,-2LL))是模型评价重要的指标,该值越小越好,可以用于不同模型评价效果。

图片质性评价拟合优度效果。霍斯黙-莱梅肖拟合优度检验(Hosmer-Lemesho,H-L检验)可以用于评价模型是否充分利用了现有的信息最大化地拟合了模型、解释了模型的变异。该研究若P>0.05,则可说明模型拟合优度效果较好,若P<0.05,则说明可以模型构建效果欠佳。

本例P=0.485,说明模型拟合优度情况良好。

最后为核心分析的结果:Logistic回归分析分别回归系数b值、b值的标准误、Wald 卡方值(瓦尔德)、自由度、P值(显著性)、OR值(Exp B)及其置信区间。

其中,Wald 卡方值(瓦尔德)和P值是对回归系数b值的假设检验。P<0.05, 说明该变量对结局的影响具有统计学意义;本例,性别、年龄、心电图表现、有无高血压变量对结果具有统计学意义。

Exp B即OR值,与回归系数的关系是e^b值。OR值置信区间与P值的关系是:当P<0.05,则置信区间不包括1;当P>0.05,则置信区间包括1。

特别要提醒诸位的是:OR值大于1,是否就是危险因素?OR值小于1是否就是保护因素呢?

这种说法非常武断。

首先,对OR值不能再采用危险还是保护的说法,危险、保护做法往往针对不良的阳性事件结局,用词倾向性太严重。在临床上或者更多领域,更中性、更容易理解的是用促进或者阻碍的说法来反映。

OR值大于1,提示暴露因素是阳性事件发生的促进因素;

OR值小于1,提示暴露因素是阳性事件发生的阻碍因素;

OR值等于1,提示暴露因素对阳性事件的发生无影响。

其次,要理解OR值必须得非常清晰地明确:暴露因素的对照组是谁?阳性事件又是谁。

SPSS统计结果表给不了太多信息。比如性别,它只告诉我们性别对阳性事件发生有影响。但是到底男性风险大还是女性风险大?OR=6.24到底针对谁呢?

要读懂统计结果表,读懂OR值,必须明确:

(1)何为阳性事件。我们可能想当然认为阳性事件必然是冠心病发生;然而在SPSS分析中,阳性事件指的是数据库结局变量赋值较大的结局。在本例中,若是否有冠心病(ca)变量,如果(冠心病是0,未发生冠心病是1),那么未发生冠心病的是阳性事件。

是不是听起来特别别扭?我想要研究的是发生冠心病的风险呀!怎么办? 那就请诸位在构建数据库时,将所指认的阳性事件给予更高的赋值,高于阴性事件。对于二分类的结局,最好用0、1表示(0代表阴性事件,1代表阳性事件),保证你理念中的阳性事件与SPSS的阳性事件定义的统一,不容易出错。

(2)要明确自变量,谁为对照?

对于定量数据,比如年龄,b值代表x每增加一个单位,结局改变的量;OR值更有意义,OR代表,x增加一个单位,比如年龄增加一岁,阳性事件出现的概率将大约增加(OR-1)倍;对于年龄,比如年龄增加一岁,平均风险将增加0.091倍,这意味着,年龄越大,冠心病风险越高。对于二分类定性数据,OR值也代表x增加一个单位,结局改变的量。比如性别,x增加一个单位,风险增加大约5.24倍。那么,如何理解此处“增加一个单位”的意思呢? 实际上指的是数据库性别变量赋值增加一个单位吗(性别变量从0增加1),风险增加大约5.24倍(不过不像年龄,性别变量x只能增加1次)。

很多时候,如此解释还别扭,我们更倾向寻找对照作为支点,进行比较分析。性别从0到1,那就是性别变量赋值为1和赋值为0的相比,风险增加5.24。0是什么?0是女性,而1是男性,那意味着是男性与女性相比,风险大概增加5.24倍。

SPSS统计分析在二分类自变量的影响时,默认是以自变量赋值较低作为对照,探讨赋值较大者能否相对能否增加阳性事件概率。

对于等级资料,其解释与定量数据无异,也就是X每加一个等级,比如年龄增加一岁,阳性事件出现的概率将增加(OR-1)倍左右;比如对于心电图异常情况变量,意味着心电图异常情况平均每增加一个等级,冠心病的风险将增加2.406倍左右。

此外,高血压变量在数据库中赋值为0=无高血压,1=有高血压,意味着对照组是无高血压,有高血压的病人与之相比,风险增加9.814倍左右。糖尿病无统计学意义。

总之,OR值是探讨SPSS数据库中自变量赋值较大者,对SPSS数据库中阳性事件(也是赋值较大者)的影响。如果不注意这一点,只看OR值就论是否危险因素,可能会得到了相反的结论。

最后,由于在本文SPSS操作中,勾选了计算预测值和残差,数据库给出了两个新的变量,分别是PRE_1(预测值)和RES_1(残差) ,两组相加,刚好是ca“冠心病”。

统计结果的撰写

规范文字1:纳入年龄、心电图和性别等构建多因素Logistic回归方程。结果发现:心电图异常对冠心病的影响具有统计学意义(OR=3.40, 95%CI 1.81-6.37, P<0.001);年龄对冠心病的影响具有统计学意义(OR=1.09, 95%CI 1.03-1.15, P=0.001);性别对冠心病的影响具有统计学意义(OR=6.24,95%CI 2.50-15.56, P<0.001);高血压状况对对冠心病的影响具有统计学意义(OR=10.81,95%CI 4.15-28.20, P<0.001)。

规范文字2:纳入年龄、心电图和性别等构建多因素Logistic回归方程。结果发现:心电图异常等级增加将增加冠心病的风险,具有统计学意义(OR=3.40,95%CI 1.81-6.37, P<0.001);年龄越大冠心病风险越高,具有统计学意义(OR=1.09, 95%CI 1.03-1.15, P=0.001);相对女性,男性增加冠心病发生的风险,差异具有统计学意义(OR=6.24,95%CI 2.50-15.56, P<0.001);高血压增加冠心病的风险,差异具有统计学意义(OR=10.81,95%CI 4.15-28.20, P<0.001)。

特别提醒:Logistic回归OR值不能代表风险增加的准确倍数,因此文字描述,切勿说相对女性,男性增加冠心病风险5.24倍的说法。

规范表格:

对于二分类定性数据,OR值也代表x增加一个单位,结局改变的量。比如性别,x增加一个单位,风险增加大约5.24倍。那么,如何理解此处“增加一个单位”的意思呢? 实际上指的是数据库性别变量赋值增加一个单位吗(性别变量从0增加1),风险增加大约5.24倍(不过不像年龄,性别变量x只能增加1次)。

很多时候,如此解释还别扭,我们更倾向寻找对照作为支点,进行比较分析。性别从0到1,那就是性别变量赋值为1和赋值为0的相比,风险增加5.24。0是什么?0是女性,而1是男性,那意味着是男性与女性相比,风险大概增加5.24倍。

SPSS统计分析在二分类自变量的影响时,默认是以自变量赋值较低作为对照,探讨赋值较大者能否相对能否增加阳性事件概率。

对于等级资料,其解释与定量数据无异,也就是X每加一个等级,比如年龄增加一岁,阳性事件出现的概率将增加(OR-1)倍左右;比如对于心电图异常情况变量,意味着心电图异常情况平均每增加一个等级,冠心病的风险将增加2.406倍左右。

此外,高血压变量在数据库中赋值为0=无高血压,1=有高血压,意味着对照组是无高血压,有高血压的病人与之相比,风险增加9.814倍左右。糖尿病无统计学意义。

总之,OR值是探讨SPSS数据库中自变量赋值较大者,对SPSS数据库中阳性事件(也是赋值较大者)的影响。如果不注意这一点,只看OR值就论是否危险因素,可能会得到了相反的结论。

最后,由于在本文SPSS操作中,勾选了计算预测值和残差,数据库给出了两个新的变量,分别是PRE_1(预测值)和RES_1(残差) ,两组相加,刚好是ca“冠心病”。

spss logistic线性回归分析(Logistic回归简明教程)(6)

统计结果的撰写

规范文字1:纳入年龄、心电图和性别等构建多因素Logistic回归方程。结果发现:心电图异常对冠心病的影响具有统计学意义(OR=3.40, 95%CI 1.81-6.37, P<0.001);年龄对冠心病的影响具有统计学意义(OR=1.09, 95%CI 1.03-1.15, P=0.001);性别对冠心病的影响具有统计学意义(OR=6.24,95%CI 2.50-15.56, P<0.001);高血压状况对对冠心病的影响具有统计学意义(OR=10.81,95%CI 4.15-28.20, P<0.001)。

规范文字2:纳入年龄、心电图和性别等构建多因素Logistic回归方程。结果发现:心电图异常等级增加将增加冠心病的风险,具有统计学意义(OR=3.40,95%CI 1.81-6.37, P<0.001);年龄越大冠心病风险越高,具有统计学意义(OR=1.09, 95%CI 1.03-1.15, P=0.001);相对女性,男性增加冠心病发生的风险,差异具有统计学意义(OR=6.24,95%CI 2.50-15.56, P<0.001);高血压增加冠心病的风险,差异具有统计学意义(OR=10.81,95%CI 4.15-28.20, P<0.001)。

特别提醒:Logistic回归OR值不能代表风险增加的准确倍数,因此文字描述,切勿说相对女性,男性增加冠心病风险5.24倍的说法。

规范表格:

spss logistic线性回归分析(Logistic回归简明教程)(7)

,