为了说明卡普兰-迈尔生存分析中使用的计算方法是如何运作的,请考虑以下生存数据:
受试者 |
随访时间 |
事件 |
|---|---|---|
01 |
4 |
1 |
02 |
2 |
1 |
03 |
1 |
1 |
04 |
6 |
0 |
05 |
2 |
0 |
06 |
2 |
1 |
07 |
6 |
1 |
08 |
3 |
1 |
09 |
3 |
1 |
10 |
5 |
0 |
11 |
5 |
0 |
12 |
3 |
1 |
13 |
2 |
1 |
14 |
3 |
1 |
15 |
3 |
1 |
16 |
2 |
1 |
17 |
3 |
1 |
18 |
4 |
0 |
19 |
2 |
1 |
20 |
3 |
1 |
该数据来自一项研究,包含20名受试者、每位受试者的随访时间,以及每位受试者是否发生了目标事件或被删剪(这与讨论删剪部分中用于生成可视化图表的数据相同)。
使用卡普兰-迈尔法手动生成生存曲线的第一步,是按已过时间升序对数据进行排序(Prism 会在“后台”自动完成此操作,因此在使用 Prism 进行卡普兰-迈尔分析时,无需按此方式预处理数据)。 下表显示了重新排序后的数据:
受试者 |
随访时间 |
事件 |
|---|---|---|
03 |
1 |
1 |
08 |
1 |
0 |
02 |
2 |
1 |
05 |
2 |
0 |
06 |
2 |
1 |
13 |
2 |
1 |
16 |
2 |
1 |
19 |
2 |
1 |
09 |
3 |
1 |
12 |
3 |
1 |
14 |
3 |
1 |
15 |
3 |
1 |
17 |
3 |
1 |
20 |
3 |
1 |
01 |
4 |
1 |
18 |
4 |
0 |
10 |
5 |
0 |
11 |
5 |
0 |
04 |
6 |
0 |
07 |
6 |
1 |
既然数据已按适当方式整理完毕,便可采用卡普兰-迈尔法来估计事件发生时各时间点的生存概率。若要手动进行计算,我们需要在每个时间点确定以下几项信息,包括:
•时间 t 时的风险人数 (Nt)
•时间 t 时的事件数 (Et)
•时间 t 时的删剪观察值数 (Ct)
在受试者尚未经历任何时间(时间 = 0)时,共有 20 名参与者(均假定为“处于风险中”),且在时间零点没有死亡或删剪观察值。因此,时间 0 时的生存概率为 1(或 100%)。
经过时间 |
风险人数 (Nt) |
事件数 (Et) |
删剪人数 (Ct) |
生存概率 |
0 |
20 |
0 |
0 |
1 |
接下来,针对我们掌握信息的每个已过去时间点,我们各添加一行。 需要注意的是,在时间 t 发生事件(或被删剪)的个体,在时间 t 仍被视为处于风险中。但是,由于我们已知该个体发生了事件或被删剪,因此后续任何时间点的风险人数中将不再包含该个体。 让我们先在表格中再添加一行:
经过时间 |
风险人数 (Nt) |
事件数 (Et) |
删剪人数 (Ct) |
生存概率 |
0 |
20 |
0 |
0 |
1 |
1 |
20 |
1 |
1 |
? |
观察原始数据,我们发现当累计时间 = 1 时,发生了一起事件(受试者 03)和一次删剪观测(受试者 08)。利用这些信息,我们可以使用以下公式计算该累计时间的生存概率:

利用上表中的数据,我们可以计算出生存概率如下:



这意味着,在该研究人群中,一个月后的估计生存概率(即未发生目标事件的概率)为95%。请注意,在计算生存概率时不使用删剪观测值(Ct)的数量(因为我们不知道这些个体实际何时发生了事件)。 然而,在计算下一个时间点的“风险人群”数量时,这些数据会被纳入计算。为什么在某个时间点发生事件的个体不会被纳入后续时间点的“风险人群”中,原因想必很清楚(因为他们已经发生了该事件)。 当一个观测值在某个时间点被删剪时,意味着这是该个体被观察到的最后一次,且其尚未经历该事件。然而,由于我们无法得知该个体何时会经历该事件,因此不能将其计入研究后期各时间点的风险人数中。 因此,计算特定时间点风险人数(Nt)的一般公式等于前一时间点(Nt-1)的风险人数减去前一时间点的事件发生数和删剪观测数之和。 在时间 t = 1 时,我们有 Nt = 20,发生了一起事件,且有一项观察值。这意味着在下一个时间点(t = 2)时,风险人数将为 20 - 1 - 1 = 18。 下表中已为该下一个时间点新增了一行:
经过时间 |
风险样本数 (Nt) |
事件数 (Et) |
删剪数 (Ct) |
生存概率 |
0 |
20 |
0 |
0 |
1 |
1 |
20 |
1 |
1 |
0.950 |
2 |
18 |
5 |
1 |
0.686 |
与之前一样,生存概率的计算方式为:



与前文相同,这意味着在此人群中,两个月后的估计生存概率约为69%。表格的其余部分可按类似方式填补:
经过时间 |
风险人数 (Nt) |
事件数 (Et) |
删剪人数 (Ct) |
生存概率 |
0 |
20 |
0 |
0 |
1 |
1 |
20 |
1 |
1 |
0.950 |
2 |
18 |
5 |
1 |
0.686 |
3 |
12 |
6 |
0 |
0.343 |
4 |
6 |
1 |
1 |
0.286 |
5 |
4 |
0 |
2 |
0.286 |
6 |
2 |
1 |
1 |
0.143 |
利用上表中的“经过时间”和“生存概率”数值,可以绘制如下所示的阶梯式生存曲线:

前文曾提到,删剪观测值虽不会(直接)用于计算生存概率的公式中,但会用于确定下一个时间点的风险人数。 通过观察表格中经过时间分别为4和5时的计算生存概率,并查看图表中“随访时间=5”处的曲线,即可看出这一点。 在图表中,红色刻度标记表明该时间点存在被删剪的观测值,但由于曲线没有出现垂直下降,显然该时间点未发生事件。 同样,在表格中,由于时间点 5 的事件数 (Et) 为零,因此该时间点与紧邻其前的时间点之间的计算生存概率没有变化。
在 Prism 中进行此类分析非常简单,Prism 会自动计算并报告所有这些值,同时生成估计生存概率的图表。本指南的这一部分详细介绍了如何使用 Prism 进行此项分析。