1、Logistic回归SAS应用应用蒋红卫蒋红卫Email:JHWCCC21CN.COM学习目标了解Logistic回归模型的建立和假设检验;了解Logistic回归模型的应用领域;掌握Logistic回归模型系数的解释,及回归系数与OR值之间的关系;掌握Logistic回归过程步;掌握哑变量的设置和结果的解释;掌握多元Logistic回归模型的逐步过程法和系数的解释;了解条件Logistic回归的应用;掌握条件Logistic回归的SAS程序;概述线性回归模型和广义线性回归模型要求因变量是连续的正态分布变量,且自变量和因变量呈线性关系。当因变量是分类型变量时,且自变量与因变量没有线性关系时,线
2、性回归模型的假设条件遭到破坏。这时,最好的回归模型是Logistic回归模型,它对因变量的分布没有要求,从数学角度看,Logistic回归模型非常巧妙地避开了分类型变量的分布问题,补充完善了线性回归模型和广义线性回归模型的缺陷。从医学研究角度看,Logistic回归模型解决了一大批实际应用问题,对医学的发展起着举足轻重的作用。非条件Logistic回归 Logistic回归分析在医学研究中应用广泛。目前主要是用于流行病学研究中危险因素的筛选,但它同时具有良好的判别和预测功能,尤其是在资料类型不能满足Fisher判别和Bayes判别的条件时,更显示出Logistic回归判别的优势和效能。本研究对
3、Logistic回归方程的判别分析进行了探讨。非条件Logistic回归医学研究中经常需要分析分类型变量的问题。比如,生存与死亡、有病与无病、有效与无效、感染与未感染等二分类变量。研究者关心的问题是,哪些因素导致了人群中有些人患某种病而有些人不患某种病,哪些因素导致了某种治疗方法出现治愈、显效、好转和无效等不同的效果等。这类问题,实质上是一个回归问题,因变量就是上述提到的这些分类型变量,自变量x是与之有关的一些因素。但是,这样的问题却不能直接用线性回归分析方法解决,其根本原因在于因变量是分类型变量,严重违背了线性回归分析对数据的假设条件。那么应该怎样解决这个问题呢?非条件Logistic回归研
4、究者将所研究的问题转换一个角度,不是直接分析y与x的关系,而是分析y取某个值的概率P与x的关系。例如,令y为1,0变量,y=1表示有病,y=0表示未患病;x是与患病有关的危险因素。如果P表示患病的概率,即P=prob(y=1),那么研究患病的概率P与危险因素x的关系就不是很困难的事情了。非条件Logistic回归分析因变量y取某个值的概率P与自变量x的关系,就是寻找一个连续函数,使得当x变化时,它对应的函数值P不超出0,1范围。数学上这样的函数是存在且不唯一的,Logistic回归模型就是满足这种要求的函数之一。与线性回归分析相似,Logistic回归分析的基本原理就是利用一组数据拟合一个Lo
5、gistic回归模型,然后借助这个模型揭示总体中若干个自变量与一个因变量取某个值的概率之间的关系。具体地说,Logistic回归分析可以从统计意义上估计出在其它自变量固定不变的情况下,每个自变量对因变量取某个值的概率的数值影响大小。Logistic回归模型有条件与非条件之分,前者适用于配对病例对照资料的分析,后者适用于队列研究或非配对的病例-对照研究成组资料的分析。问题的提出 在流行病学研究中,经常遇到因变量为离散型分类变量的情况。如治疗效果的无效好转、显效、痊愈;不同染毒剂量下小白鼠的存活或死亡;在某种暴露下的发病与不发病等。最常见的情况是因变量为二分变量的问题。多元线性回归的局限性 经典流
6、行病学统计分析方法分层分析的局限性1.两种主要的流行病学设计1)病历对照研究2)队列研究2.判断结局(疾病)和暴露(因素)联系强弱的指标1)相对危险度:RR=p1/p0 p1:暴露于某个危险因素下发病的概率 p0:不暴露于某个危险因素下发病的概率(对照)2)比值比:OR=P(D=1|E=1)/P(D=0|E=1)/P(D=1|E=0)/P(D=0|E=0)D=1:患某种疾病,D=0:不患某种疾病 E=1:暴露于某个危险因素,E=0:不暴露于某个危险因素 可以简单地表述成:OR=(p1/q1)/(p0/q0)p1:暴露于某个危险因素下发病的概率 q1:暴露于某个危险因素下不发病的概率 p0:不暴
7、露于某个危险因素下发病的概率 q0:不暴露于某个危险因素下不发病的概率能够描述病因学意义的指标是RROR本身没有病因学意义OR的病因学意义主要体现在发病率/患病率比较低的情形,此时,OR近似于RROR值是描述暴露与疾病关联强度的指标l分层分析中,可以分别计算出分层后的各层OR值,如果发现与总的OR有较大的差异,则可以认为该风层因素是混杂因素。必须对该因素进行MH调整,调整后的OR值才能真正反映因素和结局间的关系。l如果当分层后各层的OR值经过一致性检验发现:各层间的OR值有统计学差异,这时说明分析因素在分层因素的不同水平上与结局变量的联系强度是不同的,这时分层因素和研究因素存在这交互作用(效应
8、修饰作用)。这时应该分层报告OR值,而不能计算调整OR值。l 分层分析的局限性l只能控制少数因素(分层因素过多,每个格子中的样本例数太少)l定量资料需要分组,信息丢失l不能对因素作用大小进行定量分析(交互作用)yy=logy=log2 2x x01二、二、Logistic Logistic 回归原理回归原理 Logistic 模型中系数的意义:模型中系数的意义:回归系数的流行病学意义是:在其它自变量都回归系数的流行病学意义是:在其它自变量都不变的条件下,当因素不变的条件下,当因素X X变化一个测量单位时所引起的变化一个测量单位时所引起的OROR值自然对数的改变量。值自然对数的改变量。三、三、L
9、ogistic Logistic 回归和回归和OROR值间的关系值间的关系假设建立了如下的logistic回归方程:Logit P=+xx 为二分变量,当暴露时,取值为1;不暴露时,取值为0。所以暴露时,Logit(P1)=+,比值(odds)=exp(+)所以不暴露时,Logit(P0)=,比值(odds)=exp()则,暴露对于不暴露的比值比(odds ratio)为:OR=exp(+)/exp()=exp()以四格表为例来说明最大似然求解的意义及过程。四格表的一般表达形式发病(y=1)不发病(y=0)暴露(x=1)ab 不暴露(x=0)cd 合计a+cb+d 暴露者发病概率 p1=a/(
10、a+b);不暴露者发病概率 p0=c/(c+d)OR=ad/(bc)四、Logistic 回归最大似然建模用发病概率来表示四格表,可以得到四格表的另外一种表示形式:四格表的另外一种表达形式(1)发病(y=1)不发病(y=0)暴露(x=1)p1 1-p1 不暴露(x=0)p0 1-p0 暴露者发病概率:p1=exp(+x)/1+exp(+x)暴露者不发病概率:q0=1-p1=1/1+exp(+x);不暴露者发病概率:p0=exp()/1+exp()不暴露者不发病概率:q0=1-p0=1/1+exp();用发病概率来表示四格表,可以得到四格表的另外一种表示形式:四格表的另外一种表达形式(2)发病(
11、y=1)不发病(y=0)暴露(x=1)e(+)/1+e(+)1/1+e(+)不暴露(x=0)e/1+e 1/1+e 因为四格表的四个实际数为a,b,c及d,故可构造似然函数为:L=e(+)/1+e(+)a 1/1+e(+)be/1+e c 1/1+e d 取对数,有Ln(L)=a(+)a ln1+e(+)b ln1+e(+)+c c ln 1+e d ln1+e 对以上似然函数分别求对对以上似然函数分别求对 和和 的一阶偏导数,再令两个偏导数为的一阶偏导数,再令两个偏导数为零,就可以解得零,就可以解得 和和 的估计值。的估计值。v在经典流行病学分析里对因素的统计学意义检验是检验OR值是否为1v
12、对于Logistic回归来说,对模型中变量的统计学检验就是对检验其回归系数是否为0v一般常用的方法有三种:似然比检验、Wald检验、比分检验五、Logistic 回归模型的统计学检验1)似然比检验似然比检验的原理是通过分析模型中变量变化对似然比的影响,来检验增加/减少的自变量是否对应变量有统计学上的显著意义。检验统计量:G=-2 Ln(Lk1)-Ln(Lk)Ln(Lk1)为不包含检验变量时模型的对数似然值 Ln(Lk)为包含检验变量时模型的对数似然值v当检验一个变量时则G服从自由度为1的 2 分布v当对模型整个进行检验时就是相当于模型中所有n个变量的回归系数都为0,G服从自由度为n的 2 分布
13、2)Wald 统计量检验回归系数是否为0对于方程内单个自变量的检验,采用Wald 统计量。W=/S S为的标准误。其临界值可取标准正态分布的临界值。同时,W2遵循自由度为1的卡方分布。的95可信区间为:(1.96 S,1.96 S )OR的95可信区间为:(exp(1.96 S),exp(+1.96 S)3)比分检验 在原有模型的基础上增加一个变量,并假设该变量的回归系数为0,似然函数一阶偏导和信息矩阵的乘积为比分检验统计量S。S在样本量较大时服从自由度为检验参数个数的2 分布l上述方法中,似然比检验最可靠,Wald检验和比分检验一致。lWald检验没有考虑变量间的相互影响,当因素间相关时(存
14、在共线性)不可靠l参数的可信区间是以Wald法计算的,在应用可信区间时要注意 PROC LOGISTIC过程 SAS系统中进行Logistic回归分析的过程步是PROC LOGISTIC过程。下面我们先了解以下这个过程步。LOGISTIC过程的语句基本格式如下:PROC LOGISTIC data=descending simple order=;Model 因变量自变量/link=noint rsq cl rl selection=sle=sls=;freq 频数变量;output out=pred=变量名;run;PROC LOGISTIC过程 DESCENDING:指令系统输出因变量取值
15、由大到小的概率,缺省时,系统输出因变量取值由小到大的概率。使用和不使用DESCENDING语句的回归模型的回归系数绝对值完全相同,但是符号完全相反。SIMPLE:指令系统输出每一个自变量的基本统计量。MODEL:给出模型的因变量和自变量。LINK:指定因变量概率函数的形式NOINT:指令模型不含常数项。RSQ:指定输出确定系数。PROC LOGISTIC过程CL:指定输出参数估计值的可信区间。RL:指定输出相对危险度(或比数比)的可信区间。SELECTION、SLE和SLS:和REG过程步的对应选项一样,用于逐步回归分析。FREQ:是否使用,取决于数据的输入方法。当x和y变量的观察值被直接输入
16、到SAS数据集时,不需要使用FREQ语句。但是,当x是分类型变量,且x和y变量的观察值不是直接输入到SAS数据集时,而是将x和y变量的频数输入到SAS数据集中时,需要使用FREQ语句。OUTPUT语句:用来保存指定的分析结果。Out选择项用来给出输出数据集的名字。Pred选择项用来给出一个预测概率的变量名。例题条件二分类某北方城市研究喉癌发病的危险因素,用12配对的病例对照研究方法进行了调查。现选取了6个可能的危险因素,试做条件logistic逐步回归分析。27因素因素变变量名量名赋值说赋值说明明咽炎咽炎X1无无=1,偶,偶尔尔=2,经经常常=3吸烟量吸烟量(支支/日日)X20=1,1=2,5
17、=3,10=4,20=5声嘶史声嘶史X3无无=1,偶,偶尔尔=2,经经常常=3摄摄食新食新鲜鲜蔬菜蔬菜X4少少=1,经经常常=2,每天,每天=3摄摄食水果食水果X5很少很少=1,少量,少量=2,经经常常=3癌症家族史癌症家族史X6无无=0,有,有=1是否患喉癌是否患喉癌对对照照=0,病例,病例=1例题2多个自变量的二分类为了探讨冠心病发生的有关危险因素,对26例冠心病病人和28例对照者进行病例-对照研究,试用logistic逐步回归分析方法筛选危险因素。28因素变量名赋值说明年龄(岁)X145=1,45=2,55=3,65=4高血压史X2无=0,有=1高血压家族史X3无=0,有=1吸烟X4不吸
18、=0,吸=1高血脂史X5无=0,有=1动物脂肪摄入X6低=0,高=1体重指数(BMI)X724=1,24=2,26=3A型性格X8否=0,是=1冠心病Y对照=0,病例=1例题3有序分类某研究人员随机选择84例患某病的病人做临床试验,以探讨性别和治疗方法对该病疗效的影响。变量赋值为:性别(:男=0,女=1)、治疗方法(:传统疗法=0,新型疗法=1)、疗效(:无效=1,有效=2,痊愈=3)。请拟合性别、治疗方法对疗效的有序logistic回归模型。29例题4无序多分类某研究人员欲了解不同社区和性别之间成年居民获取健康知识途径是否不同,对2个社区的314名成人进行了调查,结果见表16-11。变量赋值
19、为:社区(:社区1=0,社区2=1)、性别(:男=0,女=1)、获取健康知识途径(:传统大众媒介=1,网络=2,社区宣传=3)。请拟合社区和性别对居民获取健康知识途径的多分类logistic回归模型。30条件Logistic回归 医学研究中的配对病例对照研究资料可以用条件Logistic回归模型来分析。条件Logistic回归模型和非条件Logistic回归模型的区别在于参数的估计是否用到了条件概率。所谓的配对病例对照研究指的是在病例对照研究中,对每一个病例配以性别、年龄或其它条件相似的一个(1:1)或几个(1:M)对照,然后分析比较病例组与对照组以往暴露于致病因素的经历。分析配对病例对照研究
20、资料所用的条件Logistic回归模型中参数的估计方法也是采用最大似然估计法,参数和模型的检验方法和非条件Logistic回归模型也一样。条件Logistic回归的SAS程序 用于条件Logistic回归分析的过程步一般借用生存数据风险回归分析的PHREG过程步。实用PHREG过程步时要注意数据的输入方法和过程步语句的写法。PHREG过程步的一般格式如下:Proc phreg data=;Model 因变量*截尾变量=协变量/ties=risklimits selection=sle=sls details;Strata 分组变量;Run;条件Logistic回归的SAS程序MODEL语句:用
21、于指定模型的结构,适用于生存时间有右截尾的情况,且生存时间变量作为模型的因变量,协变量作为模型的自变量。TIES:用来选择处理生存时间结点的方法,每一种方法使用了不同的公式来计算最大似然值。RISKLIMITS:指令输出危险比的95置信区间,供选择的有:backward、forward、stepwise、score。条件Logistic回归的SAS程序SLE:指定协变量进入模型的显著水平,缺省值是0.05。SLS:指定协变量停留在模型中的显著水平,缺省值是0.05。DETAILS:指令输出逐步回归过程中每一步的详细分析结果。STRATA:指定用于分组计算的分组变量。如果分组变量的数值不符合分组
22、要求,则在变量后面的括号内列出分组的端点值。例题1二分类研究吸烟、饮酒与食管癌关系的病例-对照资料,试作logistic回归分析。35本章小节 Logistic回归分析在医学研究中应用广泛。Logistic 回归分析在流行病学的病因研究中,是分析疾病与危险因素间联系的一种统计方法。在这类研究中,所观察的项目的值,常以二项反应变量取值,即生存与死亡,是否发病,是否接触危险因素等的反应变量y的取值是0或1。本章小节Logistic回归模型有条件与非条件之分,前者适用于配对病例对照资料的分析,后者适用于队列研究或非配对的病例-对照研究成组资料的分析。在使用分析流行病学的方法研究疾病病因时,非条件Lo
23、gistic模型是用于分析队列或病例-对照研究成组资料的统计方法,既可以进行因素筛选,也可以用于混杂因素的控制。SAS系统中采用LOGISTIC过程步分析非条件Logistic回归。本章小节在医学研究中经常遇到多分类无序变量,此类变量一般不能直接进入Logistic回归模型进行分析,这种变量一般采用设置哑变量的方法来进行分析。哑变量,就是一组取值1和0的二值分类变量,用来表示一个分类变量。非条件Logistic回归适合于队列研究、病例对照研究,同样也适合于现况调查中的病因学研究。按3种不同抽样方式作Logistic回归,除病例对照研究资料的常数项与另外两种不同外,回归系数的意义相同。而配对病例对照研究资料就需要条件Logistic回归模型来分析了。SAS系统中采用PHREG过程步进行数据分析。