教你三招:Cox回归比例风险(PH)假定的检验
Cox回归是生存分析中的常用方法,其假定Hazard Ratio(HR)不随时间变化,即满足比例风险假定(Proportional Hazards Assumption, PH假定)。在进行Cox回归前需要对该假定进行检验,本文介绍三种方法。
1、-ln(-ln(survival)) 图法
判断标准:如果待评价的变量分成的亚组曲线平行,说明满足PH假定。
2、预测生存概率图法
判断标准:利用拟合的Cox回归方程生成概率曲线,该曲线假定PH成立,然后与实际得到KM曲线做比较,如果两条曲线基本重合说明PH假定成立。
3、统计检验法
判断标准:该法将给出统计学检验的P值,通过P值判断。
下面通过里一个例子展示如何利用Stata软件进行操作。示例数据来自于一个真实的白血病研究(Garrett 1997),包含42例患者,其变量意义如下:
表1. 示例变量及赋值
我们假定变量Treatment1是满足PH假定的。首先需要在Stata中定义数据结构为生存数据结果,然后再进行后续的分析。方法如下:
1. 依次点击:Statistics—Survival analysis—Setup and utilities—Declare data to be survival-time data(图1),会出现相应窗口(图2)。
图1
2. 将代表时间的变量week选入Time variable框内,代表结局事件的变量relapse选入Failure variable框内,“1”代表发生事件,填入Failure values框内。
图2
3. 点击OK。
定义好数据后,接下来介绍如何用三种方法进行检验。
1、-ln(-ln(survival)) 图法
Stata命令框内输入命令:stphplot, by(treatment1),回车,得如下图(图3):
图3
判断:从图中可以看出,Treatment1代表的两种治疗方法,曲线基本平行,因此可认为该变量的PH假定基本成立。
如果在判断的时候需要对其他协变量(如wbc2,wbc3)进行调整,可修改代码为:stphplot, strata(treatment1) adj(wbc2 wbc3),得到下图(图4):
图4
可以看到,对其他协变量进行调整后两曲线依然基本平行。
2、预测生存概率图法
Stata命令框内输入命令:stcoxkm, by(treatment1),回车,得如下图(图5):
图5
判断:图中Observed曲线为根据实际数据得到的K-M曲线,Predicted曲线为假定PH成立的Cox模型拟合出的曲线,可以看到,在两个治疗组中,曲线基本重合,因此说明PH假定是成立的。
该法无法调整其他变量。
3、统计检验法
在进行PH统计学检验之前,需要首先运行要检验的Cox模型,后续的检验会自动使用模型运算的某些结果。
首先运行要检验的Cox模型(假设调整wbc2和wbc3协变量),输入命令:
stcox treatment1 wbc2 wbc3, nolog
然后输入命令:estat phtest, detail,回车,得如下结果(图6):
图6
前三行给出的是纳入Cox模型的三个变量各自的检验结果,可以看到P值均不显著,因此不能认为违反PH假定。最后一行给出的模型整体性的PH检验结果,同样不能认为违反PH假定。
实际上,本例中变量Treatment2是不满足PH假定的,为了给大家一个直观的印象,本文仅给出-ln(-ln(survival)) 图法的结果,输入命令:stphplot, by(treatment2),得到图7:
图7
对比图3,可以看出很明显的差别。该图中两曲线不再平行,而是发生了交叉,因此有理由相信Treatment2变量不满足PH假定。
其他方法的尝试大家可以自己进行。
总结
上面我们介绍了三种具体的方法,其中前两种利用主观判断,最后一种通过统计学检验。主观性判断往往因人而异,而统计学检验在P值无统计学意义时仅能说明在当前样本量下不能认为违反PH假定,也无法给出明确的答案。因此推荐多种方法同时使用,以利于综合判断。
除上面介绍的三种方法外,还可以在Cox模型中设置待检验变量与时间的交互项,通过判断系数是否有统计学意义判断是否违反PH假定,但该方法相对复杂,限于篇幅,将在另外的文章中予以介绍。
统计学精彩教程回顾
关注医咖会,轻松学习统计学!
有临床研究设计或统计学方面的难题?快加小咖个人微信(xys2016ykf),拉你进统计讨论群和其他小伙伴们一起交流学习;或者点击公众号下方自定义菜单的“统计咨询”,提出你遇到的统计难题。
点击左下角“阅读原文”,看看医咖会既往推送了哪些研究设计或统计学文章。