1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,生存分析的,SAS,编程操作,薛 富 波,2006/05/21,生存分析的有关概念,事件时间(,time-to-event,,,TTE,):又称为生存时间(,survival time,)或失效时间(,failure time,),是指从研究开始到相应事件发生的时间。,删失值(,censored value,):是指,TTE,在某些观测上其确切的取值是未知的,所能知道的仅仅是其测量值肯定大于或小于某个特定值(即其取值的下限或上限),或者位于某个特定的取值范围内(取值区间)。,右侧删失:反映真实值下限的数据。
2、左侧删失:反映真实值上限的数据。,区间删失:反映真实值所在区间的数据。,生存分析的方法分类,非参数法:乘积极限法、寿命表法等;,参数法:指数分布法、威布尔分布(,Weibull,Distribution,)法、对数正态回归分析法以及对数,logistic,回归分析法等;,半参数法:,Cox,模型分析方法。,生存分析方法的,SAS,过程,非参数法:,lifetest,过程;,参数法:,lifereg,过程;,半参数法:,phreg,过程。,生存分析的非参数方法,非参数法生存分析示例,1,45,例乳腺癌患者中,免疫过氧化物酶检测结果显示,9,例阳性、,36,例阴性,比较其生存时间分布的,SAS,
3、程序如下。,proc,lifetest,plots=(s);,time,time,*censor(1);,strata,immuno,;,run;,非参数法生存分析示例,2,proc,lifetest,data=,valung,method=,lt,;,time,survtime,*censor(1);,strata cell;,run;,一项有关肺癌患者生存天数的临床研究数据。应变量,survtime,表示患者生存天数,其中的负值表示删失值;协变量包括,cell,(细胞类型)、治疗方法,therapy,(标准方法和试验方法)、既往治疗,prior,(,0-,无,,10-,有)、年龄,age,
4、岁)、诊断月数,diagtime,(确诊至入组时的以月为单位的时间间隔)、,KPS,评分,kps,等。数据中产生一个删失值指示变量,censor,(取,1,表示删失,取,0,表示非删失),一个治疗分组变量,treatment,(,0,表示标准方法,,1,表示试验方法)。,lifetest,过程,用以对右侧删失类型的时间数据进行时间分布的描述以及多组间时间分布的比较(检验两个或多个样本是否来自具有同一个生存函数的总体);,提供两种秩检验方法和一种似然比检验方法来检验多组生存函数的同一性,两种秩检验方法为包括广义,Savage,(指数得分)检验(即,log-rank,检验)和,Wilcoxon,
5、检验。,lifetest,过程可包含的语句,proc,lifetest,;,time,variable,;,by,variables,;,freq,variable,;,id,variables,;,strata,variable,.,variable,;,survival,options,;,test,variables,;,run;,proc,lifetest,语句,proc,lifetest,语句为调用,lifetest,过程的开始,其主要语句选项及其可执行的功能见下表。,proc,lifetest,语句的主要选项,选,项,功能和用法,method=,设置用以计算生存函数估计值的方法。此
6、选项可设置的值及其含义如下:“,pl,”,(或“,km,”,),乘积极限法(或,Kaplan-Meier,法);“,act,”,(或“,life,”,或“,lt,”,),寿命表法。默认设置为“,method=pl,”,。,intervals=,指定用以计算寿命表的区间端点。区间端点必须为非负数,无论指定的区间端点中有无,0,,寿命表的计算总是以,0,为第一个区间的起点,而每一个区间只具有下端点而无上端点(即为半开半闭区间)。,ninterval,=,指定寿命表区间的个数,此选项可被“,width=,”,和“,intervals=,”,所覆盖。当设置“,ninterval,=,”,选项时,,li
7、fetest,过程将根据所设置的区间个数划分寿命表的区间,但区间端点将会作适当的调整,使其以整数的形式出现。因此,最终划分的区间数不一定与设置的区间数完全相符。默认设置为“,ninterval,=10,”,。,width=,以寿命表法计算生存函数估计值时,指定寿命表的区间宽度。此选项可被“,intervals=,”,所覆盖。,plots=,为生存函数估计值或删失值绘制图形。其完整设置形式应为“,PLOTS=,(type ,.,type ),”,,其中“,type,”,代表绘图的类型,“,NAME=,name,”,表示将所绘图形以指定的名称存储为,SAS,目录的条目(,entry,),其中“,N
8、AME,”,为关键字(可为小写),“,name,”,为用户指定的条目名称。关于绘图类型详见,“,plots=,”,选项的绘图类型。,nocensplot,当设置了“,plots=,”,选项时,禁止将删失值显示在图形中。当选择寿命表法进行计算时,无需设置此选项。,timelist,=,指定一系列时间点,从而在结果中针对这些时间点显示相应的,Kaplan-Meier,估计值,该时间点在输出结果中所在的列以“,_TIME_,”,为标识。,alphaqt,=,指定生存时间四分位数间距可信区间的置信水平(须在,0.00010.9999,之间),默认设置为“,alpha=0.05,”,。,interval
9、s=,选项的设置方法,端点值间以空格分隔,如“,intervals=10 30 50 70”,;,端点之间以逗号分隔,如“,intervals=10,30,50,70”,;,“,a,to,b,”,的形式,如“,intervals=1 to 7”,;,“,a,to,b,by,c,”,的形式,如“,intervals=1 to 7 by 2”,;,混合方式,如“,intervals=1,3 to 7,10”,。,plots=,选项的绘图类型,绘图类型关键字,绘图类型,censored,或,c,绘制各层有关删失值情况的图形,survival,或,s,以生存分布函数估计值对时间绘图,logsurv,或
10、ls,以生存分布函数估计值的对数对时间绘图,loglogs,或,lls,以 对时间的对数,绘图,hazard,或,h,以风险函数估计值对时间绘图,pdf,或,p,以概率密度函数估计值对时间绘图,strata,语句,strata,语句的作用是指定用以分层的变量;,lifetest,过程根据,strata,变量的非缺失值对输入数据进行分层;,如果要将,strata,变量的缺失值也作为一个合法的水平用以分层,可在,strata,语句中设置“,missing”,选项;,strata,语句中可指定多个分层变量,分层情况将由各分层变量水平的组合来决定;,对于数值型分层变量,若为其设置分层区间端点列表,该
11、变量的水平与形成的区间一一对应,设置方式与,proc,lifetest,语句的“,intervals=”,选项中类似;,对于数值型分层变量,若为其设置分层区间端点列表,该变量的水平与形成的区间一一对应。所划分的区间均为半开半闭区间,第一个区间总是以,-,为下界,最后一个区间总是以,为上界。,strata,语句分层区间端点列表设置方式,端点值间以空格分隔,如:,strata age(5 10 20 30);,端点之间以逗号分隔,如:,strata age(5,10,20,30);,“a to b”,的形式,如:,strata age(5 to 10);,“a to b by c”,的形式,如:,
12、strata age(5 to 30 by 10);,混合方式,如:,strata age(5,10 to 50 by 10);,举例:,strata wt(50 to 80 by 10);,此时变量,wt,将按照如下的,5,个区间划分成,5,个水平,:,test,语句,test,语句指定需要与生存时间进行关联性分析的协变量;,test,语句中的变量必须为数值型;,对于,test,变量,,lifetest,过程将通过两类秩检验统计量来检验它们与生存时间的关联性;,每一个,test,变量的单变量检验的统计量也将被给出;,一个有关协变量联合效应的统计量列表也将被给出,此统计量列表的顺序和各协变量对
13、联合效应贡献的大小顺序相一致。,time,语句,time,语句为调用,lifetest,过程所必需,用以指定代表生存时间的变量。,time,语句具有如下的形式:,time,variable,;,其中“,variable,”,即为生存时间变量的名称,此变量名称必须指定;,随后的星号“*”及“,censor(list,),”,项可有可无,用来表示数据的删失值情况。“,censor,”,为代表删失值状况的变量名称,“,(,list,),”为该变量的部分取值列表(须为数值型,且不是缺失值),如果此变量取该列表中的值,则该观测上的生存时间为删失值;,此处的删失值均表示右侧删失值。,生存分析的半参数方法,
14、半参数法生存分析示例,1,proc,phreg,data=,Myeloma,;,model Time*VStatus(0)=,LogBUN,HGB Platelet Age,LogWBC,Frac,LogPBM,Protein,SCalc,/selection=stepwise,slentry,=0.15,slstay,=0.15 details;,run;,一项有关骨髓瘤患者生存时间的研究数据,治疗了,65,例患者,研究中,48,名患者死亡,,17,名存活。变量,time,表示患者从确诊之日起的生存时间;变量,vstatus,表示患者的生存状态,,0,代表存活,,1,代表死亡。怀疑与生存函数
15、有关的变量包括,logbun,(确诊时,BUN,对数值),,hgb,(确诊时,HGB,),,platelet,(血小板,,0-,异常,,1-,正常),,age,(年龄),,logwbc,(确诊时白细胞对数值),,frac,(确诊时骨折发生,,0-,无,,1-,有),,scalc,(确诊时血清钙含量)。分析目的在于从该,9,个解释变量中鉴别出重要的预后因素。,phreg,过程,phreg,过程针对生存数据执行基于,Cox,比例风险模型(,Cox proportional hazards model,)的回归分析;,可以检验有关回归参数的线性假设;,针对配对病例,-,对照研究执行条件,logist
16、ic,回归分析过程;,创建包含有关统计量的输出数据集等。,phreg,过程可包含的语句,proc,phreg,;,model,response,=,variables,;,strata,variable,.,variable,;,test,equation1,;,freq,variable,;,weight,variable,;,id,variables,;,output ;,baseline,;,by,variables,;,run;,proc,phreg,语句,proc,phreg,语句为调用,phreg,过程的开始,语句中可设置的语句选项较少,其设置方法及功能详见下表。,proc,phr
17、eg,语句选项,选,项,功能和用法,covout,要求将各参数估计值的协方差矩阵输出到“,outest,=,”,选项所指定的输出数据集中。此选项须在设置了“,outest,=,”,选项的情况下方有效。,covsandwich,要求给出协方差矩阵的,lin-wei,稳健三明治估计值(,robust sandwich estimate,)。设置此选项时,上述方法还将被用于总体假设的,wald,检验,各参数的假设检验以及与,test,语句有关的假设检验。该选项中“,(aggregate),”,为可选项,如果设置此项,则在协方差矩阵的计算中要求将每一,id,标识(须存在,id,语句以指定,id,变量)
18、的得分残差进行合计。,data=,指定要进行分析的输入数据集名称。,multipass,对于每一步,newton-raphson,迭代,要求,phreg,过程对“,(,start,stop,),”,(区间型)型应变量的生存时间风险集(,risk set,)进行重新编排,并重新计算其中时间依赖型变量(由,programming,语句所指定)的值。此选项的作用在于以增加计算时间为代价而减少程序运行对磁盘空间的占用,这在大样本数据处理时非常有用。此选项仅在应变量(生存时间)为区间型时有效。,noprint,禁止任何输出结果的显示。,nosummary,禁止结果中对删失值和非删失值观测频数的显示。,o
19、utest,=,指定一个输出数据集,用以存储回归系数估计值等若干统计量。如果同时设置了“,covout,”,选项,该输出数据集中还将包含各参数的协方差矩阵。,simple,对于,model,语句中所指定的自变量,要求在输出结果中仅显示有关的简单统计量,如均数、标准差、最小值以及最大值等。,model,语句,model,语句用来指定作为失效时间的变量、可选的删失值状态变量以及自变量等。,model,语句可设置为两种不同的形式:,model,response =variables ;,model,(t1,t2)=variables ;,第一种类型适用于仅有一个应变量的情况,第二种类型适用于计数过程
20、输入方式的两个应变量的情况;,model,语句的第一种类型中,等号前的“,response,”,项代表作为失效时间的变量,如果包含删失值,则须指定“,censor,”,项,以表示删失值状态;,model,语句的第二种类型中,表示失效时间的变量为两个,构成一个半开半闭区间,表示观察对象处于危险状态的时间区间。,phreg,过程要求删失值状态变量和自变量必须为数值型变量,失效时间变量不能取负数值。如果失效时间的取值为负数,相应的观测将被剔除。,model,语句的主要选项,选,项,用法和功能,ties=,指定对失效时间中同秩情况的处理方法。“,ties=,”,选项可设置的值及其含义:“,breslo
21、w,”,breslow,近似概然法;“,discrete,”,将比例风险模型以离散,logistic,模型取代;“,efron,”,efron,近似概然法;“,exact,”,计算精确的条件概率。该选项的默认设置为“,ties=,breslow,”,。,selection=,指定模型筛选的方法。该选项可设置的值及其含义:“,backward,”,后退法;“,forward,”,前进法;“,none,”,不进行变量筛选,拟合包含全部,model,语句所指定自变量的模型;“,score,”,根据得分,2,检验统计量执行最佳子集模型筛选法;“,stepwise,”,逐步法。默认设置为“,select
22、ion=none,”,。,best=,此选项仅在设置“,selection=score,”,的情况下有效,用以指定最佳子集中模型的个数。,details,给出模型建立(模型筛选)过程有关的详细信息。,sequential,要求变量的入选顺序与其在,model,语句中的排列顺序相一致,变量的剔除顺序与其在,model,语句中的排列顺序相反。,slentry,=,以前进法或逐步法筛选变量时,指定变量进入模型的显著性水平,默认值为,0.05,。,slstay,=,以后退法或逐步法筛选变量时,指定已进入模型的变量继续留在模型中的显著性水平,默认值为,0.05,。,编程语句(,programming s
23、tatements,),是指可用于,phreg,过程的其它,SAS,语句(主要为,data,步的常用编程语句),用来创建新的自变量的取值,或修改自变量的已有取值;,此类语句尤其在拟合包含时间依赖型自变量的模型时非常有用;,它们还可被用于创建新的非时间依赖型自变量;,data,步的各种函数也可在,phreg,过程中使用,其用法也完全相同,执行完全相同的功能。,可用于,phreg,过程的,data,步语句,ABORT,语句,ARRAY,语句,赋值语句(,assignment statements,),CALL,语句,DO,语句,循环,DO,语句,DO UNTIL,语句,DO WHILE,语句,EN
24、D,语句,GOTO,语句,IF-THEN/ELSE,语句,LINK-RETURN,语句,PUT,语句,SELECT,语句,SUM,语句,编程语句的操作示例,考察血压对生存时间的影响,在研究期间的多个时间点上测量受试者的血压。,血压可看作时间依赖型自变量,拟合模型时可以在每一时点上应用最近测量的血压值,而不是全部应用最初的或最后的血压测量值。,针对每一位受试者,右侧变量的取值均被测量,如果无条件或无法测出,则以缺失值取代。,Time,生存时间,Censor,删失值状态(,0,表示删失值),BP0,受试者进入研究时的血压,T1,时刻,1,BP1,时刻,1,的血压测量值,T2,时刻,2,BP2,时刻
25、2,的血压测量值,proc,phreg,;,model Time*Censor(0)=BP;,BP=BP0;,if Time=T1 and T1=.then BP=BP1;,if Time=T2 and T2=.then BP=BP2;,run;,strata,语句,比例风险假设不一定对所有的数据均适用,如果确实如此,对数据进行分层分析就十分必要和合理;,strata,语句用来指定用以分层的变量,,phreg,过程根据,strata,变量的非缺失值(除非语句中设置“,missing”,选项)对输入数据进行分层。,半参数法生存分析示例,2,(条件,logistic,回归模型),一项有关低体重儿
26、出生情况的调查数据,共,189,位受访妇女,,59,例分娩出低体重儿,其余,130,例分娩正常体重儿。可能的危险因素包括:妇女末次月经时体重,-weight,,高血压情况,-ht,,孕期吸烟,-smoke,,尿激惹症状,-,ui,等。妇女年龄作为配对因素进行,m:n,配对的,logistic,回归分析。,proc,phreg,data=LBW;,model Time*Low(0)=LWT Smoke HT UI/ties=discrete;,strata Age;,run;,proc logistic data=,lbw,;,class Smoke HT UI/ref=first;,model
27、low(event,=1)=LWT Smoke HT UI;,strata Age;,run;,练习,1,数据集,males,为有关男性心绞痛患者生存率的调查数据,其中包含,3,个变量,,years,为确诊后的生存时间,,censored,为删失值指示变量(,1-,删失,,0-,未删失),,freq,为每个时间点的频数。,请以此数据绘制寿命表(,1,年为单位),以寿命表法进行每个时间点的生存函数估计,计算其中位生存时间及其可信区间,并绘制生存分布函数对时间变化的生存曲线图。,练习,2,为探讨某恶性肿瘤的预后,收集了,63,例患者的生存时间、结局及影响因素,影响因素包括治疗方式、肿瘤的浸润程度、组织学类型、是否有淋巴结转移、患者性别、年龄等,生存时间以月为单位。收集的数据资料见文件,tumor.txt,,各变量含义如下。试对其进行生存分析。,变量所表达内容量化值含义,X1,患者年龄岁,X2,患者性别男,1,;女,0,X3,肿瘤组织学类型高分化,1,;低分化,0,X4,治疗方式传统治疗方式,1,;新治疗方式,0,X5,淋巴结是否转移是,1,;否,0,X6,肿瘤的浸润程度突破浆膜层,1,;未突破浆膜层,0,t,患者的生存时间月,Y,患者的结局死亡,0,;删失,1,






