生存分析COX回归,小心你的数据不符合应用条件
SPSS 教程25-28:生存分析
4. Cox回归的应用条件
SPSS 教程 28讲:
Cox回归的应用条件
COX回归,全称为COX比例风险模型,主要用于带有时间的生存结局的影响因素研究,或评价某个临床治疗措施对患者生存的影响。最近几年,由于队列研究的大量开展,COX回归广泛获得应用。特别是临床病人随访研究,十之八九采用的统计学方法便是COX回归。
COX对因变量和自变量要求都不高,只要求结局指标既要有生存的二分类结局,也要有生存时间,对生存时间也没有分布的要求,对自变量要求更低,什么类型的自变量都可以。此外,COX回归要求观察值残差分布同样满足独立性的要求(一般情况下都不成问题,开展回归分析可以基本忽略本要求)
然而,尽管COX回归不用考虑生存数据分布,但有一点还是得明确,cox回归绝不是适用于所有生存数据的多因素分析。至少有2个关键的条件,COX回归必须考虑,也必须满足,第一,等比例风险(Proportional hazards)假定。第二,当自变量是连续型变量时,Cox回归中自变量与因变量的关系--一种转换后线性关系,也必须满足。
接下来,我沿用上一讲的案例,来稍微详细解释下两个条件
这是一项关于胰腺癌病人术后生存时间的队列研究。该研究的终点为死亡,包括很多可能影响生存的因素。数据库见pancer.sav
等比例风险假定
什么是等比例风险?
举个例子:现在研究术中放疗这一手术方式对胰腺癌患者生存(OS)的影响,在研究方案中,设定术中放疗为治疗组,未术中放疗未对照组,患者接受随访,得到生存结局,开展生存分析。
术中放疗和没有接受术中放疗者在生存时间和结局的差别,这个差别初步可以绘制生存曲线来标的。
可以看出,放疗者和未放疗组,随着时间的推移,其生存率在下降,下降的速度即为单位时间死亡率,或者称之为死亡速率,在生存分析中称之为风险值。两组在任何一个时间都存在着风险率,比如第一个月的风险率、第1年内的风险率、第90天风险率,反映的是不同时间的死亡速度。同一个时间两组风险率的比值称之为风险比即为HR,反映的是任何一个时间点,术中放疗是否比未术中放疗更能预防死亡的发生。
COX回归有一个重大规定,虽然各组生存率下降,各个时间点死亡速度不一致,但是要求下降的速率比是一样,比如第二年,处理组死亡速率是10%,那么对照组死亡速率5%,第三年术中放疗组风险率20%,那么对照组应该也是10%左右,如此,死亡速率之比,也就是HR值保持一致,这便是等比例风险。
为什么要有这个规定呢?
这是因为COX回归计算的HR,是一个总体的HR,只有整个生存过程中HR保持一致,最终求出的HR才能代表总体,否则总体HR没有意义。
等比例风险判断
那么,如何判断数据是否满足这一条件呢?实际中常见的有这几种方法:
1. 可以通过K-M方法得到生存曲线图,简单判断其是否符合条件
比如一般情况如果等比例分风险模型,曲线一般呈喇叭开口状(A),或者接近平行,但如果曲线交叉或者接接近交叉的状态(B),那么说明在不同是几点,HR值是不一致,此时不能采用COX回归
2. 可以采用COX回归中二次对数生存曲线图来看看
绘制生存结局在不同状态下的二次对数生存曲线图 (即横坐标是时间的对数,纵坐标是生存函数的对数的对数),如果生存曲线大致平行,那么COX回归的条件成立,COX回归条件不成立。
4. 其它方法
探讨等比例风险假设的方法还很多比如Schoenfeld 残差图法、线性相关检验法等,有兴趣的朋友可以关注本文列举的参考文献。
5. 医学四大刊临床研究论文对Cox回归等比例风险假设的统计学方法摘录
Proportionality of hazards was assessed for each variable and Schoenfeld residuals were visually inspected for potential time–variant biases. Our assessment of the proportionality of hazards assumption and visual inspection of Schoenfeld residuals showed that none were significant based on a p value threshold of 0·05.
The proportional hazards assumption was confirmedby residual plots
We examined the proportional hazards assumption by testing statistical significance of interactions between follow-up time and exposures.
We used the Schoenfeld residual test to verify the assumption of proportional hazards in the Cox analysis, which was fulfilled for the end points of death from any causeand further bleeding.
We examined the assumption ofproportional hazards by using a Wald test of the interaction between treatment status and time.
To assess the validity of the proportional hazards assumption, the assumption was assessed by log-minus-log-survival function and found to hold. To confirm the assumption of proportionality, time-dependent covariate analysis was used.
COX回归等比例比例风险条件不符合怎么办?
不符合条件怎么办?一般情况下有一些其他的方法来补充,有兴趣的朋友可以探讨相应的方法。具体本文暂时不开展论述,后期将结合相应的文献进行阐述。
线性关系是经常被忽略的条件
很多人开展Cox回归,当自变量是定量数据时,也很少关注它与结局变量的线性关系是否成立。从以下公式,可以看出Cox回归要求自变量与因变量存在着指数线性关系。因此,线性条件是连续型自变量与生存时间关系的重要前提。
比如,上一讲我们介绍过的案例的它的Cox回归结果如下:
在该案例中,手术时的年龄与生存时间的关系,是不是年龄每增加1岁,生存风险将固定增加0.061倍呢?如果年龄与生存的关系不是线性的关系,则上述的HR值也就毫无意义。同理,还有胰胆管浸润程度,它虽然是等级变量,可是上一讲建立Cox回归模型时,我是将它当做定量变量纳入模型的。
因此,年龄、胰胆管浸润程度必须接受线性条件的诊断。
Cox回归对线性条件的诊断,常见的方式是通过建立自变量与鞅残差(martingale residual)的散点图,看是否存在着线性趋势。
很遗憾,本文虽然是SPSS系列教程的一部分,但是它无法计算鞅残差,如果需要进行这一步工作,要借助SAS、R或者STATA软件。
下面,我借助R软件计算鞅残差,开展线性关系的研究
install.packages('survival')
library(survival)
p1<-read.csv('pancer.csv')
resCox<-coxph(Surv(time,censor)~age+sex+bui+ch+p+stage+trt,data=p1)
summary(resCox)
p1$resid<-residuals(resCox,type = 'martingale',data=p1)
plot(p1$age,p1$resid)
lines(lowess(p1$age,p1$resid))
如此一来,我们就得到了以下的散点图:你觉得他们线性趋势存在吗?
线性趋势不存在怎么办?一般情况下是将定量数据分为多分类变量,进行哑变量设置分析。具体可以看后期的相应教程。