资源描述
Logistic回归分析攻略冯国双什么是什么是logistic回归回归常见的几种回归模型:因变量为连续资料线性回归因变量为分类资料Logistic回归因变量为计数资料Poisson回归因变量为生存资料Cox回归什么是Logistic回归线性回归模型:线性回归模型:Logit变换:变换:p表示事件表示事件发发生的概率,生的概率,1-p为为事件不事件不发发生的概率生的概率当当p=1时时,logit(p)=+,当当p=0.5时时,logit(p)=0,当当p=0时时,logit(p)=-故故logit(p)的取)的取值值范范围围是(是(-,+)什么是Logistic回归Logit变换:变换:式中等号右边的分数式中等号右边的分数 p/(1-p)是流行病学是流行病学常用的描述疾病发生强度的统计指标,称常用的描述疾病发生强度的统计指标,称为优势(为优势(odds)。)。当疾病发生的概率当疾病发生的概率p与不发生的概率与不发生的概率q相等相等皆为皆为0.5时,时,odds=1,否则,否则odds大于或小于大于或小于1。什么是Logistic回归Logistic回归模型:i表示自变量xi改变一个单位时,logit(p)的改变量。其它形式:什么是Logistic回归Logistic回回归归的主要用途:的主要用途:(1)寻寻找某找某现现象象发发生的影响因素。生的影响因素。(2)校正混)校正混杂杂因素。因素。(3)确定不同因素)确定不同因素对对疾病疾病发发生影响的相生影响的相对对重要性。重要性。(4)预测预测。结局y暴露因素x结局y暴露因素x10101ab1p1p20cd01-p11-p2合计a+cb+d合计11logistic回归参数估计回归参数估计logistic回归参数估计回归参数估计最大似然估计(最大似然估计(maximum likelihood estimation,MLE)最大似然法就是选取使总体参数落在样本最大似然法就是选取使总体参数落在样本观察值领域里的概率达到最大时的值作为观察值领域里的概率达到最大时的值作为参数的估计值。参数的估计值。故上述问题的最大似然函数是:故上述问题的最大似然函数是:两边取对数,变为两边取对数,变为logistic回归参数估计回归参数估计对对Q分别求关于分别求关于0和和1的一阶偏导数,并令的一阶偏导数,并令一阶偏导数等于一阶偏导数等于0,得到两个关于,得到两个关于0和和1的的二元一次方程,解该方程组,便得到回归二元一次方程,解该方程组,便得到回归系数系数0和和1的最大似然估计值:的最大似然估计值:logistic回归参数估计回归参数估计暴露人群的优势为暴露人群的优势为p1/(1p1)非暴露人群的优势为非暴露人群的优势为p2/(1p2)二者之比,称为优势比二者之比,称为优势比(odds ratio,OR)对对OR求对数,得求对数,得logistic回归分析思路1、分析前准备是否可以用logistic回归:研究目的:寻找某现象的危险因素吗?预测?多因素分析?因变量类型:是分类变量吗?二分类或多分类均可logistic回归分析思路2、分析前准备自变量形式审查:(1)暴露因素(自变量)x是二分类变量时:直接纳入模型通常赋值为:暴露时x=1,非暴露时x=0此时logistic回归模型中的系数是1(暴露)与0(非暴露)相比的优势比的对数值。此时e表示1(暴露)与0(非暴露)相比,事件发生的危险,即OR值logistic回归分析思路(2)暴露因素(自变量)x是多分类变量时:常用1,2,3,k分别表示k个不同的类别。进行logistic回归分析时,将变量转换为k-1个虚拟变量或哑变量(dummyvariable),每个虚拟变量都是一个二分类变量,通常用0和1表示。每个虚拟变量各有一个回归系数,其意义表示1与0相比的优势比的对数值logistic回归分析思路例如,血型x为A、B、AB、O四个值,以1、2、3、4来表示,该数字只是一个代码,并非是一个等级变量。在logistic回归分析时,需将变量x转换为3个虚拟变量。若以A型血为参照组,3个虚拟变量分别为x1、x2、x3。在分析时,将3个虚拟变量x1、x2、x3同时纳入logistic回归模型,可得3个回归系数1、2、3,其中,1为B型血与A型血相比患白血病的优势比的对数值;2为AB型血与A型血相比患白血病的优势比的对数值;3为O型血与A型血相比患白血病的优势比的对数值。logistic回归分析思路回归分析思路为什么多分类自变量要用虚拟变量的形式?logistic回归分析思路(3)暴露因素(自变量)x是连续变量时,最好将其转化为分类变量为什么?logistic回归分析思路分析年龄与高血压发生与否的关系:age2是原始的年龄数据,age1是年龄分组数据(分为=60三个年龄组)Hypertensionage1age0140014001400141014101410142014201421143logistic回归分析思路直接用连续变量age分析,结果如下:提示年龄无统计学意义logistic回归分析思路用分类变量age1分析,结果如下:年龄50-59与2(m+1)/n时,第个观测可看作高杠杆点。logistic回归分析思路回归分析思路(2)异常点诊断)异常点诊断强影响点强影响点(influential points):对模型估计影响较大。:对模型估计影响较大。常用诊断指标为常用诊断指标为Cook距离(距离(Cooks Distance)。如果第i个观测的Cook距离远大于其他观测的Cook距离,意味着该点可能既是离群点,又是高杠杆点,因此很可能是一个强影响点。logistic回归分析思路回归分析思路(3)其它问题)其它问题空单元空单元(zero cell count):自变量各水平的交叉列联表中有些单:自变量各水平的交叉列联表中有些单元(格子)的观测频数为元(格子)的观测频数为0完全分离完全分离(complete separation):若自变量:若自变量 存在一临界值存在一临界值c,当当xic时,事件发生,而时,事件发生,而xic时,则事件不发生。时,则事件不发生。过离散过离散(overdispersion):测量方差大于期望方差,原因:重:测量方差大于期望方差,原因:重要变量未纳入、异常值、变量相关等要变量未纳入、异常值、变量相关等logistic回归分析思路8、建立最终模型模型解释与应用i表示自变量xi改变一个单位时,logit(p)的改变量。而系数的实际含义取决于自变量x改变“一个单位”的专业意义。OR=e,反映了暴露与非暴露相比结局发生的风险有多高。Logistic回归的回归的SAS过程过程proc logistic;class 自变量自变量;model 因变量因变量=自变量自变量;freq 变量变量;roc标签变量;roccontrastreference(标签);outputout=数据集名关键词1=变量1关键词2=变量2;run;Logistic回归的SAS过程【proc logistic】语语句的句的2个关个关键选项键选项:descending也也可可缩缩写写为为desc。该该选选项项将将默默认认的的较较小小值值与与较较大大值值比比较较改改为为较较大大值值与与较较小小值值比比较较,如如果果我我们们把把事事件件发发生生赋赋值值为为1(即即y=1),事件未发生赋值为事件未发生赋值为0(即(即y=0)时,需要用到这一选项)时,需要用到这一选项plots(only)=可可绘绘制制多多种种实实用用图图,如如要要了了解解多多分分类类自自变变量量与与概概率率p是是否否为为线线性关系,可指定性关系,可指定plots(only)=effect。如果如果要看与要看与logit(p)的关系,可指定的关系,可指定plots(only)=(effect(link)。也也可可在在effect后后面面加加上上选选项项join=yes将将各各类类的的点点连连接接起起来来,如如plots(only)=(effect(link)join=yes)。如果如果想图示想图示OR值,值,可指定可指定plots(only)=(oddsratio)。如如果果想想输输出出ROC曲曲线线图图,可可在在plots后后加加上上only选选项项,即即plots(only)=roc如如果果记记不不住住这这些些选选项项,可可以以直直接接指指定定plots=all,把把所所有有的的图图都都输出来,然后从结果中挑选自己想要的图输出来,然后从结果中挑选自己想要的图Logistic回归的SAS过程【class】语句的关键选项:语句的关键选项:param=指指定定分分类类变变量量的的参参数数比比较较方方式式方方法法,默默认认的的是是param=effect,但但一一般般我我们们需需要要将将其其设设置置为为param=reference。比比如如性性别别1和和2的的均均值值分分别别为为5和和7,如如果果指指定定effect,结结果果显显示示的的是是每每类类的的均均值值,即即5和和7;如如果果指指定定reference,结结果果显显示示的的是是参参照照组组的的均均值值以以及及其其它它组组与与参参照照组的差值,即组的差值,即5和和2。如如果果设设置置虚虚拟拟变变量量的的话话,一一定定要要指指定定param=reference,如如果果不不写写,默认的是默认的是effect,你会发现结果跟你预想的差别很大,你会发现结果跟你预想的差别很大ref=可可指指定定ref=first、ref=last或或ref=“某某类类别别赋赋值值”(如如ref=”2”、ref=”女女”等),表示以第一类、最后一类或指定的某一类作为参照组等),表示以第一类、最后一类或指定的某一类作为参照组Logistic回归的SAS过程【model】语句:语句:通常写法为:modely=x;(y为因变量,x为自变量)如果已知因变量y的赋值(如1和0),如果想分析的是对1求解,而不是0,可在y后加入event=选项,如:model y(event=“1”)=x;这种写法与【proclogistic】语句中的desc选项类似,但可以避免弄混顺序,更为方便。Logistic回归的SAS过程【model】语语句的几个重要句的几个重要选项选项:(1)变变量量筛选选项筛选选项selection=指定指定变变量量选择选择方法,如前方法,如前进进法(法(forward)、后退法()、后退法(backward)、)、逐步法(逐步法(stepwise)、最)、最优优子集法(子集法(scores)等,默)等,默认为认为noneslentry=变变量量选择选择方法方法为为forward或或stepwise时时,用来指定,用来指定变变量入量入选标选标准,默准,默认值为认值为0.05slstay=变变量量选择选择方法方法为为backward或或stepwise时时,用来指定,用来指定变变量剔除量剔除标标准,默准,默认值为认值为0.05Logistic回归的SAS过程(2)拟拟合合优优度度选项选项lackfit输输出出Hosmer-Lemeshow(HL)拟拟合合优优度指度指标标aggregate该语该语句与句与scale=语语句合用,可句合用,可输输出出Pearson 2和和Deviance值值scale=用于用于过过离散(离散(over dispersion)的校正。)的校正。过过离散情形主要出离散情形主要出现现于聚集于聚集现现象或非独立数据,主要表象或非独立数据,主要表现为现为估估计计方差大于名方差大于名义义方差,可通方差,可通过过scale=pearson或或scale=deviance进进行行调调整。整。rsquare输输出广出广义义R2,类类似于多重似于多重线线性回性回归归中的决定系数中的决定系数Logistic回归的SAS过程(3)模型)模型诊诊断断选项选项influence输输出一系列的模型出一系列的模型诊诊断指断指标标,如,如Pearson残差、残差、Deviance残差、帽子残差、帽子矩矩阵对阵对角角线线、dfbeta和和Cook距离等距离等iplots输输出各出各诊诊断指断指标标的的诊诊断断图图,以便更直,以便更直观观地地发现发现异常点异常点(4)其它选项stb输出标准化回归系数,可用于单位不同的变量之间作用大小比较Logistic回归的SAS过程(5)诊诊断断试验试验相关相关选项选项ctable采用刀切法(jackknife)输出模型判断分类表,根据pprob=选项所指定的概率标准值,对二分类因变量进行判断分类。pprob=指定一个或一系列的概率标准值,当用ctable选项时,根据预测概率的大小把自变量预测情况分为两类。如果预测概率大于标准值,则判断为病例,否则判断为非病例。通常取值为0.5outroc=指定一个数据集,包含产生ROC曲线所需的数据。结合ods命令可绘制ROC曲线Logistic回归的SAS过程【freq】语句语句在变量逐列输入的时候用不上,当数据输在变量逐列输入的时候用不上,当数据输入是列联表形式时,需要用该语句指定每入是列联表形式时,需要用该语句指定每一类别的频数。一类别的频数。【roc】语句(roc标签变量)指定用于ROC曲线分析的变量,标签部分自行指定,主要为了对变量做说明。如果不指定标签,则ROC曲线名称默认为“ROCi”(i=1,2,3,)。Logistic回归的SAS过程【roccontrast】语句(语句(roccontrastreference(标签))用于比较不同指标的ROC曲线下面积,也可用于比较不同模型的ROC曲线下面积。reference结合后面的标签用于指定被比较的参照变量,参照变量的标签必须与roc语句中变量的标签相同。如果reference后不指定任何标签,则默认为与模型的ROC曲线比较。这里的模型在不同自变量个数的情况下有不同含义,当模型中只有一个诊断指标,则单个指标的ROC曲线等同于模型的ROC曲线;当模型中有多个诊断指标,模型的ROC曲线为多个指标联合诊断的ROC曲线。该语句主要选项:estimate,输出ROC曲线下面积比较的假设检验Logistic回归的SAS过程【output】语句语句用于输出一些统计量,如预测值、残差等。其基本形式为:outputout=myoutpred=mypred;其中,out=后的myout是自己对输出数据集起的名字,通过procprintdata=myout;可以输出该数据集。pred是固定的统计量名称,表示预测概率,mypred是对输出的预测概率起的变量名logistic回归中的混杂因素混混杂杂因素的因素的识别识别:(1)该该因素因素对结对结局有影响,可利用局有影响,可利用单单因素因素logistic回回归归或或2检验检验来来验证验证。(2)该因素在分析因素中的分布不均衡,可用因素在分析因素中的分布不均衡,可用2检验验检验验证证一下。一下。(3)从专业专业角度来判断,即角度来判断,即该该因素不能是分析因素与因素不能是分析因素与结结局关系的一个中局关系的一个中间环节间环节。也就是。也就是说说,不能是分析因素引,不能是分析因素引起起该该因素,通因素,通过该过该因素再引起因素再引起结结局。局。这这一点主要根据一点主要根据专专业业知知识识来确定。来确定。如果同如果同时满时满足足这这三个条件,基本可以断定是混三个条件,基本可以断定是混杂杂因素。因素。如果有一条不如果有一条不满满足,足,该该因素就不是混因素就不是混杂杂因素。因素。logistic回归中的混杂因素回归中的混杂因素例2:分析性别、吸烟对幽门螺杆菌(:分析性别、吸烟对幽门螺杆菌(HP)的影响,)的影响,判断吸烟是否是混杂因素判断吸烟是否是混杂因素性性别别吸烟吸烟状况状况HP阴性阴性HP阳性阳性男男不不吸烟吸烟146146343343吸烟吸烟6464178178女女不不吸烟吸烟2 21111吸烟吸烟110110530530logistic回归中的混杂因素(1)判断吸烟是否)判断吸烟是否对对Hp有影响:有影响:单单因素因素logistic回回归归提示:吸烟对Hp的发生有一定影响,吸烟发生的危险更高一些logistic回归中的混杂因素(2)判断吸烟在不同性)判断吸烟在不同性别别中分布是否不同:卡方中分布是否不同:卡方检检验验提示:吸烟在性别中分布不同,男性中比例更高logistic回归中的混杂因素未校正吸烟因素,性别分析结果未校正吸烟因素,性别分析结果校正吸烟因素后,性别分析结果校正吸烟因素后,性别分析结果logistic回归中的混杂因素不吸烟的人之中,性别的分析结果不吸烟的人之中,性别的分析结果吸烟的人之中,性别的分析结果交互作用与混交互作用与混杂杂因素的区因素的区别别混混杂杂因素是指因素是指这样这样的因素:由于的因素:由于该该因素在分析因素中分因素在分析因素中分布不均衡,从而扭曲了分析因素与布不均衡,从而扭曲了分析因素与结结局的关系,局的关系,导导致分致分析因素与析因素与结结局出局出现现了一种虚假的了一种虚假的联联系。系。交互作用交互作用则则是指是指这样这样的因素:在的因素:在该该因素的不同水平(不因素的不同水平(不同取同取值值),分析因素与),分析因素与结结局的关局的关联联大小有所不同。在一大小有所不同。在一水平上(如取水平上(如取值为值为0)可能分析因素)可能分析因素对结对结局的效局的效应应大,而大,而在另一水平上(如取在另一水平上(如取值为值为1)可能效)可能效应应小。小。混混杂杂因素所造成的是一种虚假因素所造成的是一种虚假现现象,我象,我们应们应尽力消除混尽力消除混杂杂以以还还原分析因素与原分析因素与结结局的真正局的真正联联系。而交互作用系。而交互作用则则是是一种真一种真实实存在的存在的现现象,我象,我们应们应尽力尽力寻寻找以找以给给出更好的解出更好的解释释。logistic回归中的交互作用交互作用例例3:分析幽门螺杆菌(:分析幽门螺杆菌(HP)、)、Cox-2对胃对胃癌进展的影响,并考虑二者的交互作用癌进展的影响,并考虑二者的交互作用HPCOX-2无无进进展展进进展展阴性阴性阴性阴性114114106106阳性阳性1261268888阳性阳性阴性阴性1341347979阳性阳性118118122122logistic回归中的交互作用交互作用有统计学意义,二者估计值为正,交互作用有统计学意义,二者估计值为正,提示二者可能存在正向交互作用提示二者可能存在正向交互作用logistic回归中的交互作用Hp阴性人群:阴性人群:Hp阳性人群:阳性人群:logistic回归中的交互作用所有人群:所有人群:Hp阴性人群阴性人群+Hp阳性人群阳性人群logistic回归中的交互作用Cox-2阴性人群:阴性人群:Cox-2阳性人群:阳性人群:logistic回归中的交互作用所有人群:所有人群:Cox-2阴性人群阴性人群+Cox-2阳性人阳性人群群logistic回归中的交互作用Hp与与Cox-2的分布情况logistic回归案例分析回归案例分析例1:某妇幼保健院采用病例对照研究探索乳腺增生的影响因素。随机抽取某年在本院就诊的200名乳腺增生患者及200名非乳腺增生患者,采用问卷调查法对各种可能的影响因素进行调查,以探索乳腺增生的危险因素。logistic回归案例分析回归案例分析logistic回归案例分析回归案例分析1:自变量形式考察dataaa;inputyagechagerslcmr;cards;proclogisticplots(only)=(effect(linkjoin=yes);/*plots选项输出logitp与多分类的关系*/classrs/param=referenceref=first;modely(event=1)=rs;run;proclogisticplots(only)=(effect(linkjoin=yes);classlc/param=referenceref=first;modely(event=1)=lc;run;图1妊娠次数和流产次数与logitP的关系logistic回归案例分析回归案例分析非线性,考虑虚拟变量线性,可直接纳入方程logistic回归案例分析回归案例分析p2:单因素分析:单因素分析pproclogisticdesc;pmodely=age;pproclogisticdesc;pmodely=chage;pproclogisticdesc;pclassrs(param=referenceref=first);pmodely=rs;pproclogisticdesc;pmodely=lc;pproclogisticdesc;pmodely=mr;prun;logistic回归案例分析回归案例分析2:单因素分析:单因素分析logistic回归案例分析回归案例分析单因素分析初步结论:由于年龄的影响在单因素分析中无统计学意义,且OR值也较为接近1,在多因素分析中不再考虑年龄因素,仅对其它4个因素进行分析。logistic回归案例分析回归案例分析3:多因素分析(去掉年龄):多因素分析(去掉年龄)proclogisticdesc;classrs(param=referenceref=first);modely=chagerslcmr;run;多因素分析结果:logistic回归案例分析回归案例分析多因素分析小结:为什么rs变得无统计学意义了?相关分析结果显示,妊娠次数与流产次数具有较强的相关性(r=0.55,P=25与初产年龄=25与初产年龄=25的风险)(chage=1,mr=1)相对(chage=0,mr=0)的风险(即非母乳喂养和初产年龄=25共同的风险)。logistic回归案例分析回归案例分析DATAexample8_6;INPUTyagechagerslcmr;IFchage=1andmr=0THENcm1=1;elsecm1=0;IFchage=0andmr=1THENcm2=1;elsecm2=0;IFchage=1andmr=1THENcm3=1;elsecm3=0;cards;proclogisticdesc;modely=lccm1cm2cm3/aggregatescale=none;run;logistic回归案例分析回归案例分析cm1反映的是chage的作用。cm2反映的是mr的作用。cm3的参数估计值1.4324则等于(0.2714-0.2977+1.4587),包括chage的效应、mr的效应及chage和mr的交互作用共三部分效应。logistic回归案例分析回归案例分析此时拟合优度仍显示结果并非很理想这种情况并不少见,与很多原因有关,如变量不充分、数据收集本身的问题等但加入交互项后,与不加相比,拟合效果相对更优不加交互项的模型加入交互项的模型logistic回归案例分析回归案例分析考虑到仍可能存在过离散现象,最终可对过离散进行校正,这里采用Pearson法进行校正proclogisticdesc;modely=lccm1cm2cm3/aggregatescale=pearson;run;logistic回归案例分析回归案例分析校正后,参数估计值不变,但标准误变大,相应的P值变大,可以避免假阳性错误logistic回归案例分析回归案例分析本例结论:流产次数多是乳腺增生的危险因素,初产年龄和是否母乳喂养的交互作用对乳腺增生的影响也有统计学意义。初产年龄25且非母乳喂养的人,其乳腺增生的危险明显增高。而单纯初产年龄25的人,或单纯非母乳喂养的人,发生乳腺增生的危险并不高。这提示可针对不同人群开展不同的干预措施。logistic回归案例分析回归案例分析OR值图示proclogisticdescplots(only)=(oddsratio(type=horizontalstat);modely=lccm1cm2cm3/aggregatescale=pearson;run;logistic回归案例分析回归案例分析如何根据已知的危险因素进行判别或预测:proclogisticdesc;modely=chagelcmrchage*mr;outputout=mypredpred=pred;run;procprintdata=mypred;run;logistic回归案例分析回归案例分析当chage=0&lc=0&mr=0,发生乳腺增生的概率是0.34105当chage=0&lc=1&mr=0,发生乳腺增生的概率是0.46094当chage=0&lc=2&mr=0,发生乳腺增生的概率是0.58553logistic回归案例分析回归案例分析logistic回归分析的注意事项回归分析的注意事项(1)关于)关于样样本含量的本含量的问题问题经验经验法:法:每一自变量至少需要10例阳性结局保证估计的可靠性。注意这里是结局的例数,而不是整个样本的例数。如果你有7个自变量,那至少需要70例研究结局,否则哪怕你有1000例,而结局的例数只有10例,依然显得不足。计计算法:算法:SAS的procpower过程、PASS软件等(2)关于自)关于自变变量的形式量的形式理论上,logistic回归中的自变量可以是任何形式,定量资料和定性资料均可。实际中分析数据时,更倾向于自变量以分类的形式进入方程,主要出于解释方便的原因。logistic回归分析的注意事项回归分析的注意事项logistic回归分析的注意事项回归分析的注意事项(3)P值过大或结果异常的常见原因值过大或结果异常的常见原因1,该变量某一类的例数特别少,如性别,男性有100人,女性有2人2,空单元(zerocellcount),由于logisitc回归研究的变量多为分类变量,有时候自变量交叉组合中有的单元格子频数为03,完全分离(completeseparation),对于某自变量,如果取值大于某一值,结局都发生,当小于该值,结局都不发生,就会出现完全分离现象。4,多重共线性,自变量之间相关性太高如果想进一步学习logistic回归
展开阅读全文