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 1 30 0

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

步骤2.将样本数据。

接着,负载样品数据进行转换。

加载survivaldatacp

该样本数据包含一个表LABS,这是模拟的存活数据包括用于在标准布局中的每个患者重复测量。

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

LABS
LABS =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_0Lab_50Lab_100代表在第0天,50测量三个连续的实验室结果,和100,其对应于时间依赖性的预测。

步骤3.转换生存数据统计过程中的形式。

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

MTIME = [0 50 100];%测量时间threeLabs = [labS.Lab_0 labS.Lab_50 labS.Lab_100];nLabMeasure =总和(总和(〜isnan(threeLabs)));实验室测试的数量%数据=零(nLabMeasure,6);%对于每个观测一行OID = 0;%观测ID对于I = 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(ⅰ)labS.Sex(ⅰ)threeLabs(I,长度(IDX))];结束labCP =表(数据(:,1),数据(:,2),数据(:,3),数据(:,4),数据(:,5),数据(:,6),...'VariableNames'{'ID'“T开始”“T停止”“截尾”'性别'“实验室”});

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

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对应于一个风险间隔中的一个观测节目信息。请注意,Cox模型假设实验室是在风险间隔恒定(TSTART,TSTOP]。在价值截尾是0,如果在风险间隔结束观察事件,并且如果1没有观察到的事件。

例如,患者3具有在第0天及50 2次的实验室测量,所以有用于计数过程形式患者3两行数据。甲Cox模型假定实验室结果和0.18 0.22是在区间(0,50]和(50,94]常数。截尾是1(0,50]和0中(50,94],因为患者3的确切事件时间在94天观察到。

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

找到一个病人谁拥有长度为零的风险区间。

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

查看该数据为患者4。

labCP(FIND(labCP.ID == idxInvalid),:)
ANS =2×6表ID TSTART TSTOP截尾性别实验室__ ______ _____ _________ ___ ____ 4 0 50 1 0 0.21 4 50 50 0 0 0.2

时间到患者50测量一天然而4点相一致的情况下,(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

有关如何评估Cox比例风险模型的详细信息,请参阅Cox比例风险模型中截尾数据

也可以看看

相关的例子

更多关于