2024年4月26日发(作者:)

1054・ 

中国卫生统计2016年12月第33卷第6期 

计算机应用・ 

使用SAS软件分析竞争风险模型 

北医仁智(北京)医学科技发展有限公司医学统计中心(100029) 陶 庄 

在生存分析中,无疑Kaplan—Meier(KM)估计是 

生存函数等指标最流行的非参数估计方法,在实施这 

种方法的数据中,一部分出现了研究者感兴趣的结局, 

而另一部分则没有出现,这后一部分被处理成为删失 

数据(censored data)。但在医疗实践中,纵向数列并 

不总是仅仅出现研究者感兴趣的事件,或称真结局 

(true outcome),还会出现一些并不感兴趣的结局。比 

如对于一个骨髓移植后的病人来说,复发是真结局,但 

是如果某个病人在复发前就死亡了,而死亡就不是研 

究者感兴趣的结局,但是死亡将使得复发无法出现,因 

此死亡这个事件就成为了一个竞争事件(competing e— 

vent),更为通俗的叫法是:死亡是复发的竞争风险 

(competing risk)(其实更确切的说法是双方互为竞争 

风险)…。 

对于这样带有竞争风险的数据,早先的做法是将 

竞争事件也定义为删失,然后直接使用KM估计。然 

而竞争事件与删失数据还是有很大差别的:删失是指 

数据的真结局没有被观察到,但该病例仍有可能发生 

真结局,只不过研究者不知道而已;而竞争事件是因为 

该事件的出现,使得真结局确实无法出现。如果此时 

将竞争事件简单视为删失数据,将会高估真结局的发 

生率¨J,也就是出现了所谓的竞争风险偏倚(compe— 

ting risk bias)。 

竞争风险偏倚频繁地出现在医学研究的文献中, 

Koller等观察了35篇使用KM估计的高影响因子的 

医学论文,其中24篇(67%)被认为可能存在竞争风 

险偏倚 ;而C van Walraven等人在一项专门对竞争 

风险偏倚进行的研究中发现,有46%的文献可能存在 

这种偏倚,同样的,他们的样本也来自于医学领域的一 

些高分文献 J。 

对于竞争风险模型,通常使用的终点指标是累计 

发生率函数(cumulative incidence function,CIF),最经 

典的估计方法来自于Kalbfleisch和Prentice的著 

作l4 J,它的表达式为: 

Fm(f)=P( ≤t, = ) 

其中I,为某种结局,而k和i分别是分组与病人标号。具 

体的估计方法通常采用下式: 

Ft rt 

(t)=J S ( ) ( )du=f (“)扭 ( ) 

由此Fine和Gray在1999年提出其危险率函数为: 

hi(t) og(1一Fj(t)) 

1988年Gray在该定义的基础上给出了对CIF在 

各组进行组间比较的检验方法,被称为Gray检验 ]。 

Gray检验的理论过程相当复杂,关键是构建一个得分 

统计量: 

z = (f){ 一 } 

然后根据这个得分的方差协方差矩阵进行计算,由于 

篇幅有限,此处不再展开,有兴趣的读者可以参看 

Gray的原文。 

而对于带有协变量的CIF检验,则是基于传统的 

Cox比例风险模型,它是由Fine和Gray在1999年提出 

的 J。此时: 

hj(t l Z)=hi0(t)exp(fl Z) 

此处 是结局类型,z是协变量, 是其系数。而对CIF 

的估计公式为: 

)= ( exp (lf'Z ̄)厂 

而其中: 

… 

G(Xi) 

w 盂 

这里的a(x)指的是相应的Kaplan—Meier估计。 

可以说,目前统计软件使用的,进行竞争风险模型 

的方法,主要基于以上这三篇文献。 

在我国,明确使用竞争风险模型进行分析的中文 

医学文献寥寥无几,而介绍这种模型的文献也不多见, 

这些都可以通过CNKI等网站清晰地看到。有学者在 

2008年曾写过一篇介绍如何使用R软件进行分析的 

文章 ,那时的SAS只能使用宏(macro)分析竞争风 

险模型,并不方便,而这种形势直到2013年SAS 9.4 

的发布才有所改变。本文并非是对竞争风险模型的理 

论介绍,而是将SAS如何进行该模型分析的发展历程 

与实战方法呈现给大家,以期对一线科研工作者有所 

帮助。 

示例数据 

为了更好地说明SAS进行竞争风险模型的方法 

Chinese Joumal of Health Statistics.Dec.2016.VoI.33.No.6 

1055・ 

和步骤,我们引用一个示例数据,它是一套真实研究数 

第二个部分与第一部分类似,所不同的是将竞争 

据的节选。这里的数据集仅包括3个变量55条观测, 事件也作为真结局处理。 

由于是示例数据,其变量含义并非十分重要。数据库 

第三个部分是真正的CIF。在这个部分里包括 

的结构见表1。 

CIF的估计值列表以及CIF的统计图(图1),此时虽 

表1示例数据结构表 

使用了PLOTCL选项,但曲线的置信带并非直接加到 

变量名 意义 取值 

原图上,而是在不同的图中分层显示。需注意的是, 

Cgr 时间变量 连续型变量 

“htmfile”与“rtffile”必选其一,否则图形将被屏蔽。如 

状态指示变量分类变量,1=真结局,2=竞争事件,3=删失 

/-//- ̄ 分组变量 分类变量,取值为1和3 

果在选项中选择“CSE”,则在CIF表单中将同时包含 

第一部分的CSE内容,此时,使用者可以清楚地看到 

竞争风险模型SAS三部曲 

所谓的竞争风险偏倚。 

第一部:初探——%Cumlncid 

2002年,SAS公司推出了基于LIFETEST过程的 

内部(SAS公司自己开发的)宏程序%Cumlncid,这基 

本上可以认为是SAS初次涉人竞争风险模型的分析 

领域。%CumIncid的运行环境是SAS 9.1,其调用形式 

与SAS其他的宏没有不同,形式如下: 

%Cumlncid(pl,p2,…,pn); 

其中各参数P 的形式与意义见表2。 

表2%Cumlncid中的参数形式及意义 

egt2 

参数形式 意义和用法 

data= 定义要进行竞争风险模型分析的数据集的名称。 

图1%Cumlncid所作出的CIF统计图(并不显示置信带) 

定义竞争风险模型分析结果的输出数据集的名 

目前%CumIncid仍然可以在SAS Support上进行 

UUL一 称,其中包含了CIF的估计值。 

下载,下载的网址是: 

itme= 定义时间变量名。 

http://support.sas.com/kb/30/5 1 1.html 

.. 

“ 争事件和删失

定义事件状态变量名,这个变量包含真结局,竟 

在SAS Support的网站上,对这个宏几乎没有什 

。 

event= 定义status变量中真结局的取值。 

么像样的介绍,由此可以看出SAS在初涉该领域时的 

compete= 定义status变量中竞争事件的取值。 

粗陋。而且该宏没有进行Gray检验的功能,这也极大 

censored= 定义status变量中删失数据的取值。 

s ̄ata= 定义分层变量名。 

的限制了%CumIncid在实际中的应用。毕竟,谁又愿 

alpha 定义检验界值,并据此计算95%的cI。 

意用SAS估计完CIF后再用R跑一遍检验呢? 

, ,. 

。 grapm。 

取值是on或者off,On是默认值,选on的时候将 

自动生成CIF的曲线图

第二部:完善——%CIF 

。 

htmfile= 定义html的文件名,用来保留分析的结果。 

直等待了10年,SAS才推出了%Cumlncid的 

rtifle= 定义RTF的文件名,用来保留分析的结果。 

升级产品%CIF。%CIF同样也是基于LIFETEST过 

options= 定义一些其他选项,当使用多个选项时用空格隔开: 

程,其运行环境为SAS 9.2。SAS对%CIF的更新一 

CSE打印普通1一KM的估计值、标准误与置信区间; 

PLOTCL作图的时候自动为曲线加上置信带; 

直持续到2014年,考虑到此时SAS 9.4已经面世,显 

NOPRINT不打印CIF的估计值。 

然该宏也可以顺利运行于9.4版。%CIF在样子上只 

对于本例,我们可以键人: 

是稍作改动,但是功能上终于加入了大众期盼已久的 

%Cumlncid(data=a,out=xxl,time=cgt2,status 

Gray检验,%CIF的下载地址是: 

http://support.sas.com/kb/45/addl/fusion

_

45997 

=cg,event=1,compete=2,censored=0,strata=hla3, 

—.

15

—.

cif.txt 

alpha=0.05,rtifle=d:\testl,options=CSE 

而且这次SAS显然非常重视%CIF,在其Support 

PLOTCL); 

%CumIncid的结果主要包括三个部分: 

网站上的支持力度是%CumIncid完全不能比拟的,甚 

至,SAS还专门为其撰写了应用文章 J。%CIF的调用 

第一个部分是基于LIFETEST过程进行的一次 

形式与%Cumlncid类似: 

KM分析,这里模型将竞争事件也作为删失数据处理, 

此时获得的寿命表中的Failure一项(即1-KM)有时 

%CIF(pl,p2,…,pn); 

也被称为真结局的原因别(cause-speciifc event,CSE) 

其中各参数P 的形式与意义见表3。 

同样的,对于本例,我们可以在SAS程序编辑器 

发生率。 

里键入: 

1056 

中同卫生统计2016年12 J第33卷第6势 

m 洲Ⅲ 叩诅诅  = 

风险模型。这次,SAS基于的是PHREG过程,语句和 

%CIF(data=a,out=xx2,time=cgt2,status=cg, 

= = = : 

event=1,censored=0,group=hla3,strata=,alpha= 

0.05,SE=1,options=PLOTCL); 

结果也与%CumIncid类似,只不过在最后加入了 

Gray检验的结果。 

表3%CIF中的参数形式及意义 

参数形式 意义和用法 

data= 

定义要进行竞争风险模型分析的数据集的名称。 

out= 

定义竞争风险模型分析结果的输出数据集的名 

称,其 {1包含了CIF的估计值。 

定义时M变量名。 

定义事件状态变量名,这个变 包含真结局,竞 

争事件和删失。 

定义status变 r}1删失数据的取值。 

定义status变量巾真结局的取值。 

定义分组变量名,用于进彳亍Gray检验。 

定义分层变 名,只会分层碌示CIF图,没有检验 

定义检验界值,并据此计算95%的cI。 

定义在检验中的权重函数,墩值在0到1之间, 

默认是0。 

SE= 

可选两种对CIF标准误的估计方法:1=计数过 

程,2:delta方法。 

TITLE= 

CIF图的主标题(小用加引呼) 

TITLE2= 

CIF图的剐标题(不用加引 ) 

options 

定义一 其他选项,当使用多个选项时用空格隔开 

NOPLOT 作图: 

PLOTCL作图的时候自动为曲线加上置信带; 

NOC1FEST不碌示CIF估计列表; 

NOTEST不进行Gray等检验。 

: %CW巾不再有compete这个选项,这是因为该宏将除了在 

event和censored lfl定义外的其他所有状态都视为竞争事件。 

0.6 

O 

O 20 40 60 80 100 

cgt2 

图2%CIF所作出的CIF统计图(直接 示置信带) 

表4 Gray检验的结果 

尽管在10年的等待后,在功能中加入了Gray检 

验,但是SAS并未同时推出一款可以进行调整协变量 

的宏。 

第三部:融合——SAS 9.4之PHREG 

2013年7月10日,翘首以待的SAS 9.4终于面 

世了,在这个加入众多分析的新版本中就包含有竞争 

选项都非常简洁,并且还增加了直接绘图功能,大大简 

化了分析步骤。SAS这次根本没有触及LIFETEST过 

程,因为在当model语句中只包含一个自变量的情况 

下,获得的估计就是前述的CIFI ! 

以下就直接使用示例数据介绍PHREG过程中相 

关基础选项,更多的选项和相关结果大家可以通过 

SAS帮助学习试用。 

/ 1:}:/ 

data CC; 

input hla3@@: 

cards; 

1 3 

; 

run; 

/:I:2:l:/ 

ods graphics on; 

/ 3::I/ 

proc phreg data=a plots(overlay=stratum)=cif; 

class hla3; 

model cgt2 cg(0)=hla3/eventcode:l; 

baseline covariates=CC out=xx3 cif=

all

; 

urn; 

其中(3)是主程序,但是(1)(2)是必须的,因为如 

果没有这两部分程序,结果将仅出现回归系数估计及 

检验(也就是Gray检验)的结果,而没有CIF估计值 

及图形。 

在新的PHREG中,进行竞争风险模型的选项主 

要位于三个地方: 

1.在proc phreg语句中增加了“plots=”选项,用 

来描绘CIF图,其中的选项overlay=stratum表示将各 

组的曲线置于一张图中。 

2.在model选项中增加了“eventcode=”选项,指 

明cg中哪个取值是真结局。 

3.在baseline语句中加入了“cif=”选项,此时将 

产生CIF的估计值并保存在“out=”的数据集中,一aI1一 

相当于定制了CIF的估计值、CIF的标准误、以及95% 

c,的置信限4部分内容。 

表5参数估计及检验的结果 

外部宏 

SAS允许使用者开发自己的宏程序并搭载在 

SAS上使用。在这些针对竞争风险模型分析的宏中, 

比较有影响力的有:%Cumlnc(2003) m ,%CUMINC 

POISSON(2008) 11],%CIFCOX与%CIFSTRATA 

Chinese Journal of Health Statistics.Dec.2016.Vol_33。No.6 

1057・ 

(2010)[121,以及%PSHREG(2010) 培 。这些宏随着 

开发年代的不同,适应的SAS环境也不尽相同,方法 

也各有千秋,有兴趣的读者可以自行查找相关的文献, 

[3]Van Walraven C,McAlister FA.Competing risk bias is colmTlon in 

Kaplan・Meier estimates pub ̄shed in prominent medical journals.J 

ain Epidemiol,2016,69:170—173. 

这里不做详论。 

= 

玉 

上 

Time 

图3 PHREG过程中plots所作出的CIF统计图 

总 结 

中国有句古话叫“十年磨一剑”,这话用在SAS开 

发竞争风险模型的历程上无疑是非常恰当的,但不管 

怎么说,现在进行竞争风险模型已不再是R专美之 

事。本文除了介绍最新的SAS 9.4的相关内容外,一 

并介绍了%Cumlncid和%CIF,既是考虑到有一个 

SAS研发的完整性问题,也是因为这两个宏各自可适 

应的SAS版本不同,也许仍然可以解决我国相当一部 

分科研人员的实际问题。 

参考文献 

[1] 

Klein JP,Moeschberger ML.Survival Analysis Techniques for Cen・ 

sored and Truncated Data.Second Ediiton.Springer-Verlag New 

York,Inc,2003:127—132. 

[2] 

Koller MT,Raatz H,Steyerbcrg EW,et a1.Competing risks and the 

clinical community:irrelevance or ignorance?Stat Med,2012,31: 

】089e97. 

[4]Kalbfleisch J,PrenticeR.The staitsitclaanalysis offailuretime data. 

John Wiley&Sons,New York,1980:168—169. 

[5]GrayRJ.A class ofK—sampletestsfor comparingthe cumulativeinci— 

dence of a competing risk.Annals of statisitcs,1988,16(3):1141— 

1154. 

[6]Fine JP,Gray RJ.A proportional hazards model for the sulxiistribu- 

iton of a competing risk.Journal of the American Statistical Associa- 

tion,1999,94: ̄96309. 

[7]陶庄.使用R软件分析竞争风险模型简明攻略.中国卫生统计, 

2008,25(6):80-81 

[8]Lin G,so Y,Johnston J.Analyzing Survival Data wiht Competing 

Risks Using SAS@SoRware

Proceedings of hte SAS@Global Forum 

2012 Conference,Cary,NC:SAS Institute Inc,2012. 

[9]Lin G,So Y,Johnston G.Using hte PHREG Procedure to nAalyze 

Competing.Risks Data.Proceedings of the SAS@Global Forum 2012 

Conference,Cary,NC:SAS Institute Inc,2015. 

[10]Roshtoj S,nAdersenPK,Abildstrom S.SASmacrosfor esitmaiton of 

the cumulative incidence functions based on acox regression model 

for competing risks survival data.Comput,Methods Progr.Biomed, 

2004,74:69-75. 

[11]Waltoft BL.A SAS—macrofor esitmation ofthe cumulaitveincidence 

using Poisson regression.Comput Methods Progr Biomed,2009,93: 

140—147. 

[12]Zhangx,ZhangMJ.SASmacrosfor esitmaiton ofdirect adjusted CU— 

mulative incidence curves under proportional subdistribution hazards 

models.Comput Methods Progr Biomed,2011,101:87-93. 

[13]Kohl M,Plischke M,Leffondre K,et a1.PSHREG:A SAS macro for 

proportional and nonproport/onal subdistribution hazards regression. 

Computer Methods and Programs in Biomedicine,2015,118:218- 

233. 

(责任编辑:刘壮)