《生存分析及其R程序.ppt》由会员分享,可在线阅读,更多相关《生存分析及其R程序.ppt(42页珍藏版)》请在三一办公上搜索。
1、生存分析,LOGO,山东大学公共卫生学院刘瑞红,生存资料共同特点1.蕴含有结局和时间两个方面的信息2.结局为两分类互斥事件3.一般是通过随访收集得到,随访观察往往是从某统一时间点(如确、入院或实施手术等某种处理措施后)开始,观察到某规定时间点截止。4.常因失访等原因造成研究对象的生存时间数据不完整,分布类型复杂,不能简单地套用以前的方法,生存分析:既考虑结果又考虑生存时间的一种统计方法,并可充分利用截尾数据所提供的不完全信息,对生存时间的分布特征进行描述,对影响生存时间的主要因素进行分析。,生存分析对资料的基本要求1.样本由随机抽样方法获得,要有一定的数量,死亡例数和比例不能太少2.完整数据所
2、占的比例不能太少,即截尾值不宜太多3.截尾值出现的原因无偏性,为防止偏性常常对被截尾的研究对象的年龄、职业、地区、病情轻重等情况进行分析4生存时间尽可能精确5.缺项要尽量补齐,生存分析的研究内容1.描述生存过程 研究生存时间的分布特点,估计生存率及其标准误。常用方法有乘积极限法和寿命表法2.比较生存过程 获得生存率及其标准误的估计后,可进行两组或多组生存曲线(生存过程)的比较。常用方法为对数秩检验。3 生存过程的影响因素分析 常用的分析方法为Cox比例风险回归模型。,几个基本概念,1.死亡事件:又称失效事件或终点事件,指标志某种处理措施失败或失效的特征事件。2.生存时间:广义上指某个起点事件开
3、始到某个终点事件发生所经历的时间,常用符号t表示。分布类型不易确定。一般不服从正态分布,少数情况下近似服从指数分布、Weibull分布、Gompertz分布等,多数情况下往往是不服从任何规则的分布类型。影响因素多而复杂且不易控制。根据研究对象的结局,生存时间数据可分为两种类型:完全数据(complete data)截尾数据(截尾值、删失数据,censored data),几个基本概念,(1)完全数据:从观察起点到发生死亡事件所经历的时间(2)截尾数据:生存时间观察过程的截止不是由于死亡事件,而是由其他原因引起的主要原因A.失访:指失去联系B.退出:死于非研究因素或非处理因素而退出研究。C.终止
4、:设计时规定的研究时间已到而终止观察,但研究对象仍然存活。,几个基本概念,3.死亡概率 记为q,指在某单位时段开始时存活的个体在该时段内死亡的可能性大小。q=某年内死亡数/某年年初观察例数 若年内有截尾,则分母用校正人口数:校正人口数=年初观察例数-1/2截尾例数4.生存概率:记为p,与死亡概率相对立,表示在单位时间段开始时存活的个体到该时段结束时仍存活的可能性大小。p=1-q=某年活满一年的人数/某年年初观察例数,几个基本概念,5.生存函数 又称累积生存函数,观察对象经历t个时段后仍存活的可能性,记为S(t),0 S(t)1。如资料中无删失数据,直接法计算生存率的公式为:S(t)=P(Tt)
5、-t时刻仍存活的例数/观察总例数(S(t)为单调下降)。若含有删失数据,须分时段计算生存概率。假定观察对象在各个时段的生存时间独立,应用概率乘法定理将分时段的生存概率相乘得到生存率。S(k)=P(T tk)=p1p2p3pk,几个基本概念,死亡密度函数:观察对象在某时刻t的瞬时死亡率,又称为死亡概率密度函数。常用f(t)表示:在实际工作中,他在t时刻的取值可用下式估计,几个基本概念,6.危险率函数(hazard function)定义:指t 时刻尚存活的研究对象死于t时刻之后一瞬间的概率。为条件概率,即活到了t时刻的条件下在tt+t这一微小时段内死亡的概率,用h(t)表示。式中,T为观察对象的
6、生存时间,n(t)为t时刻的生存人数,n(t+t)为t+t时刻的生存人数。危险率函数也称为死亡力(force of mortality)、瞬时死亡率(instantaneous failure rate)等,几个基本概念,h1(t)是一种上升的曲线,表示危险率随时间变化而增加,如急性白血病患者治疗无效其危险率随时间呈增加趋势;h2(t)的曲线为下降趋势,表示危险率逐渐减小,如意外事故造成的外伤经有效治疗后死亡的危险性逐渐减小;h3(t)为一种稳定的危险率函数,如某些慢性病患者在稳定期,其危险率基本不变。,几个基本概念,接上一张h4(t):U型风险函数,又称为“浴盆”曲线,开始时死亡风险较大,并
7、逐渐减少,随后进入一稳定的较低风险水平,但最后风险逐渐加大。如人类一生所经受的死亡风险就是这样的h5(t):是山峰型风险函数。开始时逐渐增大,到最大风险后逐渐降低。,几个基本概念,2、危险率函数与生存函数的关系危险率函数是生存分析的基本函数,它反映研究对象在某时点的死亡风险大小。生存函数与危险率函数的关系可表示为:不同人群的危险率模型不同,危险率函数可以表现为递增、递减、恒定或其它波动形式。,风险函数,生存函数,死亡密度函数的关系,几个基本概念,7.半数生存时间:又称为中位生存时间,指生存率为0.5时 对应的生存时间,表示有50%的观察对象可以活这么长时间。一般采用内插法进行估计。8.风险比:
8、指同一时点两组的风险函数之比,这个比即为相对危险度。风险比=第一组个体的h1(t)/第二组个体的h2(t),如果风险比与时间无关,及任何时刻,两组的风险比值是相等的,则称为比例风险(PH),否则称为非比例风险。,生存分析的基本方法,1 描述法:不对所分析的数据作出任何统计推断,用上述公式计算出生存函数、死亡函数、风险函数、半数生存时间等,并采用列表或绘图的形式来显示生存时间的分布规律。2 非参数法:是指估计生存函数时对生存时间的分布没有要求,并且检验危险因素对生存时间的影响时采用的是非参数检验方法。作用:估计生存函数比较两组或多组生存函数分析危险因素对生存时间的影响常用的方法有:乘积极限法,寿
9、命表法,3参数法 根据样本观察值来估计假定的分布模型中的参数,获得生 存时间的概率分布模型。作用:估计生存函数比较两组或多组生存时间分布函数分析危险因素对生存时间的影响建立生存时间与危险因素之间依存关系模型生存时间经常服从的分布有指数分布,Weibull分布,对数正态分布,对数Logistic分布和Gamma分布。,4 半参数法不需要对生存时间的分布作出假定,但却可以通过一个模型来分析生存时间的分布规律,以及危险因素对生存时间的影响。代表是Cox比例风险回归模型。,非参数生存分析法 乘积极限法,Kaplan-Meier 法又称乘积极限法(Product-Limit method),适用于小样本
10、资料。基本思想是:将生存时间由小到大依次排列,在每个死亡点上,计算其期初人数、死亡人数、死亡概率、生存概率和生存率。其思想与寿命表法相同,只不过寿命表法中时间段的划分是人为的、等距的,而乘积极限法划分时间段的分割点是实际死亡发生时间。Kaplan-Meier法用于:1、估计某研究因素不同水平的中位生存时间。2、比较该研究因素不同水平的生存时间有无差异。3、控制一分层因素后对研究因素不同水平的生存时间比较(此时将按分层因素的不同水平对研究因素对生存时间的影响分别进行分析)。,非参数生存分析法 寿命表发,寿命表法适用于区间数据,它用于建立时间区间t,t+t上的生存函数。,非参数生存分析法生存曲线比
11、较,生存率比较的假设检验方法有参数法、半参数法和非参数法,非参数法是将生存率曲线作为整体进行曲线与曲线之间的比较,其零假设为各总体生存率曲线相同。常用的非参数检验方法有:log-rank 检验(时序检验)生存时间分布近似呈weibull分布或者属于比例风险模型时效率较高;似然比检验(likelihood ratio test)生存时间分布近似呈指数分布时效率较高;wilcoxon检验(又称Breslow检验)生存时间分布近似呈对数正态分布时效率较高;,对数秩检验(log-rank test),检验统计量计算过程:(1)将两组患者按生存时间统一从小到大排序,并标明组别和死亡数,生存时间相同者在同
12、一行,如某时间点既有完全数据又有截尾数据,截尾数据排在后面。(2)列出各时点的期初病例数(各组的以及合计的期初病例数)(3)分别计算出各组各时点的理论死亡数(4)计算2值。,对数秩检验注意事项,亦适用于分组以及多组间的比较。用于生存曲线的比较,若要比较两条生存曲线某时点的生存率有无差异可使用Z检验。(公式)或同时比较多个时点生存率有无差异,检验水准可做Bonferroni校正。各处理措施的优劣除可根据各组生存曲线高低直观判断外,还可以根据中位生存时间和死亡比(SMR)大小来判断。各样本生存曲线不能交叉。若生存率曲线交叉提示存在某种混杂因素,此时应采用分层的办法或多因素的办法来校正混杂因素。另外
13、,当假设检验推断各组总体生存率曲线不同时,可以通过生存率曲线的高低、半数生存期的长短及相对危险度等指标来评价其效果。,wilcoxon检验(又称Breslow检验),=d1-E1=w(d1-E1)(w=n),非参数生存分析法,例1:口咽癌数据:.pharynx.xls,非参数生存分析法,R程序:(survival包)getwd()setwd(C:/Users/Administrator/Desktop)my-read.csv(pharynx.csv,header=T)attach(my)my-myCOND!=9&GRADE!=9,#去掉两个缺失值 CONDCOND=3|COND=4-2COND
14、COND=0-1aa-table(COND)aamydata-my,-c(1,11)library(survival)sd-survfit(Surv(TIME,as.numeric(STATUS)1,data=mydata)plot(sd,lty=1,col=“red”,ylab=“s(t)”,xlab=“t”,main=“survival”)#生存曲线fit-survfit(Surv(TIME,as.numeric(STATUS)TX,data=mydata)plot(fit,lty=1:2,ylab=S(t),xlab=t,main=survival functions)legend(15
15、00,1,c(TX=1,TX=2),lty=1:2)survdiff(Surv(TIME,as.numeric(STATUS)TX,data=mydata)#生存曲线的比较,非参数生存分析法,1.Surv(time,time2,event,type=c(right,left,interval,counting,interval2,mstate),Create a survival object,usually used as a response variable in a model formula2.survfit(formula,data,weights,subset,na.action
16、,etype,id,istate,.)formula必须有Surv()所定义的对象,在右侧表示分组变量(可查?survfit.formula)3.plot(x,conf.int=,mark.time=,col=,fun=“”)#查?plot.survfit fun=“log”,”event”,”cumhaz”,”cloglog”,4.survdiff(formula,data,subset,na.action,rho)formula由Surv()定义,rho定义所选择的方法:rho=0 log-rank法或者Mantel-Haenszel 法;rho=1 为Wilcoxon法,非参数生存分析法
17、,SAS程序:libname ll F:R语言学习COX;data pharynx;set ll.pharynx;run;proc lifetest method=PL plots=(s,ls,lls);time time*status(0);strata tx;run;,Method=方法(1)PL为乘积极限法;(2)LT为寿命表法(3)INTERVALS=(初值 to终值 by 步长)只能在制定分析方法为寿命表法时应用,Plots=绘图类型(1)S:对生存函数S(t)作图(2)LS:对LOGS(t)作图,(3)LLS对LOG(-LOGS(t)作图(4)H:对风险函数作图,TIME 定义生存
18、时间和截尾指示变量。括号里的为表示截尾的值。,参数生存分析指数模型,指数分布是历史上第一个寿命分布模型。指数分布在生存分析中占据重要地位,它在寿命研究方面所起的作用,与正态分布在统计学其他研究领域的地位相当。人们常常把指数分布作为纯粹随机死亡模型来处理。它作为唯一“无记忆性的分布”而著名,所谓“无记忆”是指在任意时刻,一个尚存活的研究对象所面临的死亡风险是常数,这样,他的期望寿命总是相等的,不管他存活的多久,也即对年龄是没有记忆的。,指数分布模型,设数据来自指数分布,其概率密度函数为:,分布函数为:,指数分布,指数分布死亡密度函数、生存函数和风险函数分别为:f(t)=exp(-t)S(t)=e
19、xp(-t)h(t)=为指数分布的危险率,其大小决定了生存时间的长短,危险率越大,生存率下降越快。在指数分布模型中,是常数,与时间t无关。,-ln(S(t)=t;如果以生存时间t为横轴,以-ln(S(t)为纵轴所做的散点图近似成直线趋势切通过原点,则说明生存时间t近似服从指数分布,指数分布模型的参数估计,人们用不变的危险率来刻画指数分布的特征,为指数分布模型中唯一的参数(可以认为是单位时间发生某事件的次数),其极大似然估计为:,其中,n为样本含量;ti为每个观察对象的生存时间,i=1,2,3,n,包括完整数据和截尾数据;r为数据中完整数据的个数。,指数回归模型,在指数回归模型中,设x1,x2,
20、x3xp为影响因素,如果生存时间服从指数分布,则参数与各因素间的关系可表示为:ln=+1x1+2x2+3x3+pxp为常数项,表示无任何因素影响时的基线风险的对数。i表示在控制其他因素时,变量xi每改变一个单位所引起的风险函数的对数值的改变量。,指数回归中参数的估计用极大似然法,常用的Newton-Raphson迭代法求解,参数生存分析Weibull模型,当资料不符合指数分布时,表示风险函数h(t)不为常数,则可以考虑Weibull分布,其生存函数,风险函数分别为:,Weibull分布中有两个参数,m为形状参数,m0,决定了生存时间分布的形状,m越小,分布越偏,当m=3.57时,分布近似为正态
21、分布。m1为老化现象,Weibull 分布模型的参数估计,Weibull分布有两个参数,即危险率和形状参数m。Weibull分布参数的估计需要用极大似然估计。lnS(t)=-(t)m 再取其负对数得:ln-lnS(t)=mln+mlnt以ln-lnS(t)为纵轴,以lnt为横轴作图成直线趋势可以初步判断资料服从Weibull分布。,Weibull回归模型,ln=+1x1+2x2+3x3+pxp在Weibull回归模型中,除要估计外,还要估计形状参数m,相应的生存率为S(t)=exp-t*exp(+1x1+2x2+3x3+pxp)m 风险函数为:h(t)=mtm-1exp(+1x1+2x2+3x3+pxp)基准风险为:h0(t)=mtm-1exp参数估计用极大似然法。模型检验用似然比检验。,参数分析的程序,在R中:使用函数survreg()#在survival包中 survreg(formula,data,weights,dist=)formula由Surv()返回的值X1+X2+X3 dist=“weibull”,”logistic”,”lognormal”在SAS中:proc lifereg data=;model t*status()=x1 x2 x3;,