Cox比例风险模型与时间相关的协变量

这个例子展示了如何将生存数据转换为计数过程形式,然后构建一个Cox比例风险模型与时间相关的协变量。

步骤1中,比较标准的布局和计数处理的形式。

与时间相关的协变量甲Cox模型需要存活数据是在计数过程的形式和不能在标准的布局。看在标准布局和在计数过程形式存活数据之间的差,加载下面的示例数据。

负载simplesurvivaldata

这个示例数据包含两个表:复发relapseCP。这两个表中表示标准布局和在分别计数过程的形式,同样的简单的存活数据。

以标准布局显示数据。

复发
复发=2×5表ID时间截尾年龄StopTreatment __ ____ _________ ___ _____________ 1 5 0 20 2的NaN 20 1 30 12

该数据表示两名患者的治疗状态随时间变化。患者1在第0周至第5周期间未接受治疗,在间隔时间结束时复发。患者2在第0 ~ 12周期间接受治疗,但在第12 ~ 20周期间不接受治疗。患者2没有复发,并在第20周后离开研究。

现在显示的计数处理形式相同的数据。

relapseCP
relapseCP =3×6表ID tStart tStop审查年龄TreatmentStatus __ _____ _____ _____ ___售予1 0 5 0 20 0 2 0 12 1 30 1 2 12 20 30 0

在计数过程中形式中,每一行代表的风险间隔(tStart tStop]而不是单一的事件时间值。审查是0,如果在风险间隔的端部观察到的事件,和1,如果它不是。TreatmentStatus对应于时间依赖性协变量,其表示与相同的信息StopTreatment在标准布局。请注意,Cox模型假设时间依赖的协变量在每个风险区间是恒定的。

步骤2。加载示例数据。

接下来,加载要转换的示例数据。

负载survivaldatacp

该样本数据包含一个表实验室,即模拟生存数据,包括按标准布局对每个患者进行重复测量。

以标准布局显示模拟生存数据。

实验室
实验室=6×7表ID时间截尾性别Lab_0 Lab_50 Lab_100 __ ____ _________ ___ _____ ______ _______ 1 46 0 1 0.3楠楠2 138 1 0 0.2 0.23 0.39 3 94 0 1 0.18 0.22 NaN的4 50 0 0 0.21 0.2的NaN 5 106 0 0 0.25 0.21 0.42 698 0 0 0.21 0.22 NaN的

在标准布局中,表的每一行显示一个患者的信息。

  • ID指示病人的ID。您不包括ID作为Cox模型的输入。包括ID在一个数据组,以确认该数据集被正确转换为计数处理的形式。

  • 时间表示天的时间到事件,其对应于一个响应变量。

  • 审查具有用于每个患者,其中1表示截尾数据和0表示的确切时间到事件在观察期结束时所观察到的检查信息。

  • 是一个时间无关的预测器,其中1表示女性,0表示男性。

  • Lab_0,Lab_50Lab_100代表在第0天,50测量三个连续的实验室结果,和100,其对应于时间依赖性的预测。

步骤3。将生存数据转换为计数过程形式。

转换生存数据实验室要计数过程形式,执行下面的代码。这段代码转换时间到风险区间(tStart tStop]并结合与时间相关的预测的三个矢量,Lab_0,Lab_50Lab_100成一个矢量,实验室

MTIME = [0 50 100];%的测量时间threeLabs = [labS.Lab_0 labS.Lab_50 labS.Lab_100];nLabMeasure =总和(总和(〜isnan(threeLabs)));%实验室测量数数据=零(nLabMeasure,6);每个观察对应一行OID = 0;%观测IDI = 1:尺寸(实验室,1)IDX =找到(MTIME <= labS.Time(I));J = 1:长度(IDX)-1 OID = OID + 1;数据(OID,:) = [labS.ID(ⅰ)MTIME(j:J + 1)1 labS.Sex(ⅰ)threeLabs(I,J)];结束OID = OID + 1;数据(OID,:) = [labS.ID(ⅰ)MTIME(长度(IDX))labS.Time(I)labS.Censoring (i) labS.Sex (i) threeLabs(我、长度(idx)));结束labCP =表(数据(:,1),数据(:,2),数据(:,3),数据(:,4),数据(:,5),数据(:,6),“VariableNames”{“ID”,“tStart”,“tStop”,“截尾”,'性别',“实验室”});

显示计数处理形式的存活数据。

labCP
labCP =13×6表ID TSTART TSTOP截尾性别实验室__ ______ _____ _________ ___ ____ 1 0 46 0 1 0.3 2 0 50 1 0 0.2 2 50 100 1 0 0.23 2 100 138 1 0 0.39 3 0 50 1 1 0.18 3 50 94 0 1 0.22 4 050 1 0 0.21 4 50 50 0 0 0.2 5 0 50 1 0 0.25 5 50 100 1 0 0.21 5 100 106 0 0 0.42 6 0 50 1 0 0.21 6 50 98 0 0 0.22

在计数过程形式中,每一行表labCP显示对应于一个风险区间的一个观察的信息。请注意,考克斯模型假设实验室是在风险间隔恒定(tStart tStop]。在价值审查如果在风险区间的末尾观察到事件,则为0,如果未观察到事件,则为1。

例如,患者3在第0天和第50天有两次实验室测量,因此在计数流程表单中有患者3的两行数据。Cox模型假设实验结果0.18和0.22分别在区间(0,50]和(50,94)内为常数。审查为1 in(0,50)和0 in(50,94),因为患者3的确切事件时间是在第94天。

步骤4。调整零长度风险区间。

找一个风险间隔为零的病人。

idxInvalid = labCP.ID(FIND(labCP.tStart == labCP.tStop))
idxInvalid = 4

复查患者4的资料。

labCP(找到(labCP.ID = = idxInvalid):)
ANS =2×6表ID tStart tStop审查性实验室__ _____ _____ _____ ___ ____ 4 0 50 1 0 50 50 0 0 0.2 0.21 - 4

患者4发生事件的时间与测量第50天一致。但是(50,50)对于Cox模型来说是一个无效的风险区间,因为该模型不接受零长度区间。调整风险间隔以使其有效。您可以选择任何小于时间单位的值作为调整量。调整金额的选择是任意的,它不会改变结果。

idxAdjust =找到(labCP.ID = = idxInvalid);labCP.tStop (idxAdjust (1)) = labCP.tStop (idxAdjust (1)) -0.5;labCP.tStart (idxAdjust (2)) = labCP.tStart (idxAdjust (2)) -0.5;labCP (idxAdjust:)
ANS =2×6表ID TSTART TSTOP截尾性别实验室__ ______ _____ _________ ___ ____ 4 0 49.5 1 0 0.21 4 49.5 50 0 0 0.2

第5步:构造一个Cox比例风险模型。

用时间自变量拟合Cox比例风险模型和时间变量实验室

X = [labCP.Sex labCP.Lab];T = [labCP.tStart labCP.tStop];B = coxphfit(X,T,“截尾”,labCP.Censoring,“基线”,0)
b =2×12.0054 29.7530

有关如何评估考克斯比例风险模型的详细信息,请参见截尾数据的考克斯比例危险模型

另请参阅

相关的例子

更多关于