为说明Kaplan-Meier生存分析中使用的计算方法,请考虑以下生存数据:
参与者 |
随访时间 |
事件 |
|---|---|---|
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名参与者的研究,记录了每位参与者的随访时间,以及每位参与者是否发生了目标事件或被删剪(这与讨论删剪部分中用于生成可视化图表的数据相同)。
使用Kaplan-Meier法手动生成生存曲线的第一步,是将数据按已过时间升序排列(Prism会在“后台”自动完成此操作,因此在使用Prism进行Kaplan-Meier分析时,无需按此方式预处理数据)。下表展示了重新排列后的数据:
受试者 |
随访时间 |
事件 |
|---|---|---|
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 |
现在数据已按适当方式整理完毕,我们可以使用Kaplan-Meier法来估计事件发生时各时间点的生存概率。若要手动进行计算,我们需要在每个时间点确定以下几项信息:
•时间 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,发生 1 次事件,且有 1 个观察值。这意味着在下一个时间点(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 进行此项分析。