分享

非比例风险的Cox回归模型_时依系数法

 Memo_Cleon 2020-09-06

转自个人微信公众号【Memo_Cleon】的统计学习笔记:非比例风险的COX回归模型_时依系数法

网上对含时依协变量的COX回归尤其是时依系数法的介绍其实已经很多了,时依协变量中构建的交互项直接通过自变量乘积获得的交互项有什么区别却鲜有涉及,虽然并不影响使用,但却困扰了我很长一段时间,直到看到STATA的stsplit命令解释,本次笔记也尝试介绍一下时依协变量构建的交互项的特殊处理方法,采用的软件是SPSS。
Cox回归一个最基本的应用条件就是满足比例风险假定(proportional-hazards assumption,PH假定),当风险比例假定被违背时,需要配合非比例风险的COX回归模型。谈到非比例风险的COX回归,不可避免的会谈到时依协变量(Time-Dependent Covariate),所谓时依协变量,顾名思义指的就是随时间变化而变化解释变量,也有翻译成时变解释变量、时变协变量,我觉得也很不错。
单纯从字面意思上看,时依协变量是指随时间变化自变量本身发生变化的那些变量,比如有些患者原来是吸烟的,但在随访过程中戒烟了,这种时依协变量被称为内在时依协变量。还有一种情况,随着时间的变化,模型中自变量本身取值并未发生改变,但其效应却在发生变化,这种时依协变量被称为外在时依协变量。
有时候我们也会刻意构建一种时依协变量,比如当违背比例风险假定时,我们可以将变量与时间的相乘作为将互项纳入(即使变量本身不一定会随时间变化而变化),这样就可以进行COX回归了。当然我们也可以利用这个原理考察比例风险假定是否满足。

示例:

数据录入:id;group(1:化疗组;2:放疗联合化疗组);svdays;status(0:删失;1:死亡)
风险比例假定检验及时依协变量COX回归(时依系数法):

Analyze >> Survival >> Cox w/Time -Dep Cov…

在Expression for T_Cov_框中输入(或者选入)T_*group,表示构建一个名称为T_COV_的时依协变量,其表达式T_与group的乘积,T_是代替时间的变量。
构建时依协变量完毕,点击右上角的【模型】按钮进入后面的Cox回归界面。

时依协变量的Cox回归界面跟普通COX回归界面是一致的,具体可参见以前的旧文《生存分析》。本例[Time:]选入变量svdays;[Status:]选入变量status;【定义失效事件(Define Event)】中[单值]输入1(本例0代表删失,1代表死亡);Block中选入变量group和新构建的时依协变量T_COV_;[Method]默认Enter;【Option】中选中[CI for exp(B) 95%]。

【定义失效事件】可以选择单值为失效事件,也可以设置多个值或者某个范围内的值为失效事件。

【>a*b>】构建交互作用项。此处构建的交互项与构建时依协变量对话框中构建的交互项作用一样吗?显然不一样,SPSS不至于添加这样一个累赘。本文的最后我们谈谈这个问题。
【方法】默认的是纳入全部变量,也可以选择逐步回归进行变量筛选,共有7种方法。
【分类】可以设置分类变量,将分类变量的结果以哑变量结果样式呈现,可以选择比对方法和参照水平。本例group是二分类变量,设为分类变量和不设置成分类变量是一致的,只是不设置成分类变量结果是以化疗组(化疗组赋值为1,放疗联合化疗组赋值为2)为参照水平。
结果及解读:

数据概况:共有90例数据纳入分析,其中发生失效事件的79例,删失11例。

不纳入变量,模型-2LL值为594.82。

Block 0: Beginning Block  

Omnibus Tests of Model Coefficients表:纳入变量后,模型-2LL值变小,与不纳入变量相比,比分检验和似然比检验显示,-2LL的改变均有统计学意义。。

Block 1: Method = Enter

Variables in the Equation表格给出了模型的参数估计结果。结果显示模型纳入的group及时依协变量T_COV_均有统计学意义。

h(t)=h0(t)exp(1.270group-0.003T_COV_)=h0(t)exp((1.270-0.003T_)group)

T_COV_的系数不等于0,具有统计学意义(Wald c2=9.232,P=0.002),表明风险比HR会随时间变化而变化,HR=Exp(1.270-0.003T_),这也说名并不满足风险比例假定的条件。

 几点补充说明

(1)关于生存时间的纳入形式

构造时依协变量,时间变量到底是直接使用原始的变量T_,还是需要变换一下比如ln(T_),我们可以多构建几种,然后通过模型的评价指标来选择更合适的。

本例如果在构建时依协变量T_COV_时确定的表达式为:ln(T_)*group,则-2LL值为586.797,小于按T_*group构建时依协变量的-2LL值581.395,因此时依协变量以T_*group构建更为合适,当然你也可以尝试其他的构建方式。

参数估计结果为:

h(t)=h0(t)exp(3.987group-0.669T_COV_)=h0(t)exp((3.987-0.669ln(T_))group)

HR=Exp(3.987-0.669ln(T_))

(2)同时纳入多个时依协变量

本例只有1个解释变量,SPSS的Expression for T_COV_对话框一次只能生成一个时依变量,如果想同时纳入多个解释变量,可借助借助编程功能来实现,我们在《生存分析》一文中有过介绍可参考。

主要增加时依协变量的构建行命令

COMPUTE T_COV_ = T_*group

以及在变量分析的命令(METHOD)行中增加需要分析的变量

/METHOD=ENTER group T_COV_

(3)时依协变量交互项与自变量交互项区别

SPSS中时依协变量Cox回归(分析>>生存分析>>Cow x/Time-Dep Cov)是在进行COX回归前,在首先打开的对话框[Compute Time-Dependent Covariate]中构建好时依协变量的表达式,如本例构建时依协变量T_*group。而在构建完毕时依协变量后的COX回归对话框,或者直接在Cox回归的对话框中(分析>>生存分析>>COX回归)有【>a*b>】按钮也可以构建生存时间和组别的交互项t*group。虽然生存时间变量选入Time框后不能再选入自变量框,但不影响我们再建立一个新的变量,其取值和生存时间完全一致,用其和group的乘积作为交互项。

这两种交互项形式看起来完全一致,结果会一样吗?显然不会一致,SPSS不至于添加这样一个无意义的选项。【>a*b>】按钮添加的就是一个简单的交互项,跟其他模型一样,可以构建任何自变量间的交互作用。而时依协变量交互项构建前先将每一条记录按照所有记录的生存时间为拆分点拆分成多条记录。具体怎么拆分呢?以本示例为例,90例患者按生存时间(svdays)升序排列,88个生存时间(生存时间301和303的都有2例),如下表:

id

group

svdays

status

1

chemo

1

1

46

combin

17

1

47

combin

42

1

48

combin

44

1

49

combin

48

1

50

combin

60

1

……

45

combin

1694

1

90

combin

1736

0

id=1生存时间最短,不需要拆分,其他记录都需要拆分成多记录,如id=46、id=47、id=50拆分成的多条记录如下,当拆分记录生存时间短于该记录的生存时间时,生存时间等于拆分记录生存时间,但状态按失访(删失)来计。然后在拆分好的数据中构建交互项svdays*group。

id

group

svdays

status

1

chemo

1

1

46

combin

1

0

46

combin

17

1

47

combin

1

0

47

combin

17

0

47

combin

42

1

……

……

50

combin

1

0

50

combin

17

0

50

combin

42

0

50

combin

44

0

50

combin

48

0

50

combin

60

1

由于绝大多数记录会被拆分成更多的记录,比如id=90的1条记录将会被拆分成88条记录,新的数据记录数会比原数据多很多。当然这些并不需要我们来做,你只需要在对话框中构建好时依协变量就好,其他就交给软件吧,这里只是为了理解时依协变量构建的交互项和COX回归中的交互项的区别。如果你不嫌麻烦你完全可以对数据按要求拆分后直接进行COX回归。

关于交互项,还有一点值得说一下:尽管在大多数包含交互作用的分析中,我们也会纳入主效应进行分析,但如果我们在Cox回归中纳入了分析时间(或经任何转换)与某些协变量之间的相乘的交互作用,则不应将分析时间作为Cox回归中的协变量进行分析。在每个风险集中分析时间是恒定的,因此无法确定其效应(Although in most analyses in which we include interactions we also include main effects, if we include in a Cox regression a multiplicative interaction between analysis time (or any transformation) and some covariate, we should not include the analysis time as a covariate in stcox. The analysis time is constant within each risk set, and hence, its effect is not identified)。  

除了时依系数法,非比例风险的COX回归模型也可以采用分段模型分层分析法来完成,这两种方法我们放在后面再谈。

转自个人微信公众号【Memo_Cleon】的统计学习笔记:非比例风险的COX回归模型_时依系数法

 … E N D …

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多