try ai
科普
编辑
分享
反馈
  • Kaplan-Meier 估计量

Kaplan-Meier 估计量

SciencePedia玻尔百科
核心要点
  • Kaplan-Meier 估计量是一种非参数方法,用于根据事件发生时间数据估计生存函数,即使在观测不完整(删失)的情况下也同样适用。
  • 它通过条件概率的乘积来计算生存率,生存曲线仅在观察到事件发生时下降。
  • 该方法的有效性取决于一个关键假设——非信息性删失,即删失的原因与受试者的预后无关。
  • 在存在竞争风险的情况下应用标准的 Kaplan-Meier 估计量是错误的,因为它估计的是一个假设情景下的生存率,并会高估事件发生的概率。

引言

从医学到工程等领域,我们经常需要回答这样一个问题:“一个事件发生需要多长时间?”这可能是患者康复、机器零件故障或客户退订所需的时间。分析这种“事件发生时间”数据带来了一个独特的挑战:我们很少能观察到研究中每个受试者的事件。一些受试者可能会中途退出,或者研究可能在事件发生前就结束了。这种不完整的信息,即所谓的删失数据,会使传统的分析方法束手无策。当我们的数据充满了“已知的未知”时,我们如何才能准确地描绘生存率或失败率?

本文深入探讨了 Kaplan-Meier 估计量,这是一种专为解决此问题而设计的优雅而强大的统计方法。它提供了一种忠实地结合完整数据和删失数据来估计随时间变化的生存函数的方法。我们将首先探讨该估计量的核心​​原理与机制​​,分解其直观的逐步逻辑、非信息性删失等基本假设及其内在局限性。随后,在​​应用与跨学科联系​​一章中,我们将看到该方法如何在现实世界中得到应用,从影响临床试验和公共政策,到作为复杂预测模型的基准。

原理与机制

想象一下,你是一位医生,正在测试一种新的救命药物。你将它给予一百名患者,并对他们进行五年的观察。不幸的是,有些人可能会去世。但其他人可能会移居到另一个国家,或者有些人在你为期五年的研究经费耗尽时仍然健在。研究结束时,你得到了一堆杂乱的数据:一份患者名单,上面记录着事件发生时间(他们去世的日期)或“最后一次观察”的时间。你如何回答这个简单而深刻的问题:“患者存活超过一年的概率是多少?”

这就是生存分析的核心问题。那些杂乱的数据点——搬家的患者或研究结束时仍然在世的患者——就是我们所说的​​右删失​​。我们知道他们在某个时间点之前一直存活,但我们不知道之后发生了什么。我们掌握的信息不完整。我们该如何处理它?

一个有缺陷的初步尝试

我们的第一反应可能是做一些简单的事情。也许我们可以直接忽略删失的患者,仅根据我们观察到事件的那些患者来计算生存率?这似乎不公平;我们会丢弃掉那些我们知道存活了一段时间的患者的宝贵信息。

或者,我们能否只计算总共有多少人(发生事件的或删失的)的观测时间超过一年?假设在一个包含六人的小型研究中,观测结果如下:2年时发生事件,3年时删失,4年时发生事件,5年时发生事件,6年时删失,7年时发生事件。为了计算存活超过5年的概率,这种天真的方法只会计算时间为6年和7年的两个人,得出的生存率为 2/6=1/32/6 = 1/32/6=1/3。但这也感觉不对。在3年时被删失的人存活了3年;将他们的数据点与在2年时发生事件的人同等对待,似乎忽略了一些关键信息。事实上,这种简单的方法是有偏的;它系统性地低估了生存率,因为它未能正确地考虑我们已知删失个体所经历的存活期。我们需要一种更聪明、更忠实的方法来处理删失数据中的“已知的未知”。

生存链:Kaplan-Meier 的思想

Edward Kaplan 和 Paul Meier 的卓越见解在于重新定义了这个问题。他们没有试图一次性跳到例如五年生存率的答案,而是将问题分解为一系列更小、更易于管理的步骤。这就像试图通过踩着石头过河,而不是尝试一次不可能的飞跃。

其逻辑是:存活五年的概率是存活第一年的概率,乘以在存活第一年的条件下存活第二年的概率,乘以在存活第二年的条件下存活第三年的概率,依此类推。他们意识到,你只需要在事件实际发生的确切时刻进行这些计算。

这就形成了一条条件概率链。在任何时间 ttt 的总生存概率,我们称之为​​生存函数​​ S(t)S(t)S(t),是存活过截至该时间点所发生的每个事件的概率的乘积。这就是为什么该方法也被称为​​乘积限估计量​​。其公式如下:

S^(t)=∏tj≤t(1−djnj)\hat{S}(t) = \prod_{t_j \le t} \left(1 - \frac{d_j}{n_j}\right)S^(t)=∏tj​≤t​(1−nj​dj​​)

在这里,乘积 ∏\prod∏ 是对截至时间 ttt 的所有不同事件时间 tjt_jtj​ 进行的。在每个这样的时间点,djd_jdj​ 是发生事件(例如,死亡)的人数,njn_jnj​ 是在该时刻之前仍在研究中且处于事件“风险中”的总人数。项 (1−dj/nj)(1 - d_j/n_j)(1−dj​/nj​) 仅仅是那些处于风险中的人在该事件时间点之后存活下来的比例。通过将这些条件生存概率相乘,我们构建了对 S(t)S(t)S(t) 的估计。这个绝妙而简单的离散乘积,是生存与事件瞬时风险之间深层理论关系的数据驱动对应物,该瞬时风险被称为​​风险率​​ h(t)h(t)h(t),在连续时间中 S(t)=exp⁡(−∫0th(u) du)S(t) = \exp\left(-\int_0^t h(u)\,du\right)S(t)=exp(−∫0t​h(u)du)。

逐步构建曲线

让我们看看这个优雅的机制如何运作。考虑一个来自肿瘤学研究的6名患者的小组。数据记录为(时间(月),状态),其中状态1表示事件,0表示删失: (2,1)(2, 1)(2,1),(3,0)(3, 0)(3,0),(5,1)(5, 1)(5,1),(6,0)(6, 0)(6,0),(7,0)(7, 0)(7,0),(9,1)(9, 1)(9,1)。

我们想要构建生存曲线 S^(t)\hat{S}(t)S^(t)。

  1. ​​从 t=0t=0t=0 开始​​:根据定义,所有人都存活,所以 S^(0)=1\hat{S}(0) = 1S^(0)=1。处于风险中的人数为 n=6n=6n=6。

  2. ​​第一个事件发生于 t=2t=2t=2​​:

    • 在 t=2t=2t=2 之前,所有6名患者都处于风险中,因此​​风险集​​为 n1=6n_1=6n1​=6。
    • 在 t=2t=2t=2 时,发生了一个事件,因此 d1=1d_1=1d1​=1。
    • 存活过 t=2t=2t=2 的条件概率是 (1−d1/n1)=(1−1/6)=5/6(1 - d_1/n_1) = (1 - 1/6) = 5/6(1−d1​/n1​)=(1−1/6)=5/6。
    • 我们的生存估计值下降:对于从2到下个事件发生前的所有 ttt,S^(t)=1×(5/6)=5/6\hat{S}(t) = 1 \times (5/6) = 5/6S^(t)=1×(5/6)=5/6。
  3. ​​在 t=3t=3t=3 时删失​​:

    • 在 t=3t=3t=3 时,一名患者被删失。生存曲线会下降吗?不!这是关键部分。事件没有发生。唯一改变的是,这个人现在从所有未来的计算的风险集中被移除。他们贡献了3个月的生存信息,该方法现在已经“储存”了这些信息。
  4. ​​第二个事件发生于 t=5t=5t=5​​:

    • 在 t=5t=5t=5 之前,有多少人处于风险中?我们开始时有6人,1人在 t=2t=2t=2 时发生事件,1人在 t=3t=3t=3 时被删失。因此,风险集为 n2=6−1−1=4n_2 = 6 - 1 - 1 = 4n2​=6−1−1=4。
    • 在 t=5t=5t=5 时,发生了一个事件,因此 d2=1d_2=1d2​=1。
    • 在存活过 t=2t=2t=2 的条件下,存活过 t=5t=5t=5 的条件概率是 (1−d2/n2)=(1−1/4)=3/4(1 - d_2/n_2) = (1 - 1/4) = 3/4(1−d2​/n2​)=(1−1/4)=3/4。
    • 我们通过乘法更新我们的生存估计:S^(t)=(之前的生存率)×(新因子)=(5/6)×(3/4)=15/24=5/8\hat{S}(t) = (\text{之前的生存率}) \times (\text{新因子}) = (5/6) \times (3/4) = 15/24 = 5/8S^(t)=(之前的生存率)×(新因子)=(5/6)×(3/4)=15/24=5/8。这个值将保持到下一个事件发生。

曲线就是这样发展的,它是一个阶梯函数,仅在事件发生时下降,并在其间保持稳定。如果多个事件同时发生怎么办?很简单:如果在有50人处于风险中的时间 tjt_jtj​ 发生了3例死亡,djd_jdj​ 就等于3,生存概率将乘以一个新的因子 (1−3/50)(1 - 3/50)(1−3/50)。这个逻辑完美地处理了时间结(tied events)。

地图的边缘

当我们用尽数据时会发生什么?假设在我们的研究中,最后一个观测值,在时间 tmax⁡t_{\max}tmax​,是一个删失数据。Kaplan-Meier 曲线在其最后计算的值上保持平坦。它不会降到零,因为没有观察到事件。超过这一点,曲线是未定义的。风险集中已经没有人了,所以我们完全没有任何关于接下来可能发生什么的信息。

这导致了一个常见的实际问题。我们通常希望报告​​中位生存时间​​——即预期有一半患者存活的时间点。但是,如果生存曲线从未降到 0.50.50.5 以下呢?这在一个非常有效的治疗或随访期很短的研究中很容易发生。Kaplan-Meier 估计量是诚实的:它告诉我们中位生存时间未达到。我们可以报告中位生存时间大于我们的总随访时间,但我们无法给出一个确切的数字。通过外推法这样做,就等于捏造我们没有的数据。

默契的约定:独立性

Kaplan-Meier 方法功能强大,但它依赖于一个至关重要的假设:​​非信息性删失​​。这意味着个体被删失的原因与他们的预后或发生事件的风险是独立的。例如,患者因新工作而搬家是一个典型的非信息性原因。但是,如果一个癌症试验中的患者因为症状变得更糟需要住院而退出研究呢?这就是​​信息性删失​​。他们离开研究告诉了我们一些关于他们预后的非常重要的信息——他们发生事件的风险可能更高。

当这个假设被违反时,Kaplan-Meier 估计量就会产生偏差。让我们想象一个极端的假设世界来看看这是如何发生的。假设有两种人:“类型1”注定在 T=1T=1T=1 年时发生事件,“类型2”在 T=2T=2T=2 年时发生事件。在人群中,比例为 ppp 的是类型1,比例为 1−p1-p1−p 的是类型2。存活超过1年的真实概率就是类型2的人的比例,S(1)=1−pS(1) = 1-pS(1)=1−p。

现在,让我们引入一个恶意的删失机制:任何类型2的人(更健康)都会在 C=0.5C=0.5C=0.5 年时被自动删失。Kaplan-Meier 估计量只会看到类型2的人在0.5年时离开研究。当时间到达 t=1t=1t=1 时,风险集中剩下的人都只是类型1的个体。然后他们所有人在 t=1t=1t=1 时发生事件。估计量看到在 t=1t=1t=1 时处于风险中的100%的人都发生了事件,并得出结论生存概率降至零!它估计 S^(1)=0\hat{S}(1)=0S^(1)=0,而真实值是 1−p1-p1−p。这个偏差是巨大的。这说明了一个普遍规律:如果病情较重的患者更有可能被删失(例如,失访),那么剩余的样本看起来会人为地更健康,KM曲线将偏高,高估生存率。如果更健康的患者被删失,曲线将偏低。

其原理:一种更深层次的美

你可能会想,这个生存链是否只是一个聪明的技巧?事实证明它远比这更深刻。Kaplan-Meier 估计量实际上是生存函数的​​非参数最大似然估计量 (NPMLE)​​。这是一个优美的结果。从本质上讲,这意味着如果你考虑所有可能存在的生存曲线,Kaplan-Meier 曲线是使你实际观察到的数据最可能发生的那一条。

这个论证非常优雅。观察到我们包含事件和删失的完整数据集的似然性,可以在数学上分解为一系列的项,每个事件时间对应一项。每一项的形式都像 hjdj(1−hj)nj−djh_j^{d_j}(1-h_j)^{n_j-d_j}hjdj​​(1−hj​)nj​−dj​,其中 hjh_jhj​ 是在时间 tjt_jtj​ 发生事件的未知条件概率。为了最大化总似然,我们只需要独立地最大化这些小部分中的每一个。而能做到这一点的恰恰是 h^j=dj/nj\hat{h}_j = d_j/n_jh^j​=dj​/nj​——在风险人群中观察到的失败比例!这个简单、直观的估计也正是被强大的最大似然原则严格选出的那一个。

知其所限:竞争风险的挑战

最后,理解 Kaplan-Meier 方法不适用于什么情况也同样重要。想象一项关于老年患者的研究,你感兴趣的是因心脏病导致的死亡。然而,一些患者可能先死于癌症。这便是一个​​竞争风险​​。人们很容易想通过简单地将癌症死亡视为删失观测来估计因心脏病死亡的概率。

这是一个严重的错误。原因微妙但至关重要。当我们在标准的 KM 框架中删失一个患者时,我们假设他们本可以在之后发生我们感兴趣的事件。但是一个死于癌症的患者,在任何情况下都不可能之后再死于心脏病发作。他们被永久地从所有未来事件的风险池中移除了。因此,将癌症死亡视为删失是一个错误:它违反了被删失者仍然处于事件风险中的核心假设。这种违背最终导致系统性地高估因心脏病死亡的概率。当以这种方式使用时,KM 方法估计的是在一个癌症不存在的假设世界里因心脏病死亡的概率——一个与我们自己的世界截然不同的世界。对于这类问题,需要更先进的方法来正确地模拟多种事件类型之间的相互作用。

Kaplan-Meier 估计量是清晰统计思维力量的证明。它从一个混乱、不完整的现实中,通过一个简单而深刻的原则,提取出一幅关于随时间变化的生存状况的忠实而优雅的图景。它是现代医学和流行病学的基石,是一个理解时间、机遇和生命本身的优美工具。

应用与跨学科联系

在理解了 Kaplan-Meier 估计量背后的原理之后,我们现在可以探索其多样化的应用。一个强大统计方法的真正价值不仅在于其数学公式,还在于它能描述的现实世界现象的广度。Kaplan-Meier 估计量不仅仅是绘制一条阶梯状曲线的公式;它是一个观察世界的强大透镜,讲述着在众多学科中关于生存、等待和变化的故事。它的天才之处在于能从不完整的信息中讲述一个连贯的故事,这一功绩在其他方法只能看到缺失数据的地方,解锁了深刻的见解。

现代医学的心跳

Kaplan-Meier 估计量最自然的应用领域是医学,在这里,“多久?”和“机会有多大?”是至关重要的问题。想象一下一项新癌症疗法的临床试验。患者入组,开始治疗,并随时间进行随访。不幸的是,一些人会经历疾病进展或去世。另一些人可能搬到别的城市,因个人原因决定退出研究,或者在研究正式结束时仍然状况良好。后一种情况就是“删失”——从我们的角度来看,他们的故事尚未结束。

如果我们简单地忽略删失的患者,或者等到每一位患者都发生事件,我们的分析要么会产生无可救药的偏差,要么需要几十年才能完成。Kaplan-Meier 方法提供了优雅的解决方案。通过计算在每个事件间隔内的生存概率,并将这些概率相乘,它将完整和部分的故事编织成一个关于随时间变化的生存状况的单一、连贯的叙述。图上由此产生的曲线,随着每次事件发生而下降,它不仅仅是一幅图画;它是对该群体预后的动态总结。临床医生可以从这条曲线中估计出关键指标,如中位生存时间——即估计有一半患者存活的时间点——这对患者和医生来说都是至关重要的信息。

但这个故事不仅仅关乎生死。“事件”可以是任何感兴趣的事情:移植肾脏衰竭的时间、患者再次入院的时间,或者试图戒烟者复吸的时间。在每种情况下,估计量的逻辑都保持不变:它优雅地处理删失观测,利用它们提供的信息(“此人至少在这段时间内未发生事件”),而不会对接下来发生的事情做出无根据的假设。

当我们沿着曲线看到更长的时间段时,我们会注意到置信区间——围绕曲线的“不确定性带”——往往会变宽。这不是一个缺陷;它是对现实的忠实反映。随着时间的推移,我们的估计变得不那么确定,因为我们的故事是由越来越少的参与者讲述的。随着患者发生事件或被删失,仍然“处于风险中”的人数减少,我们估计的统计可靠性自然会下降。变宽的置信区间是估计量在告诉我们:“我对这里发生的事情不太确定,因为我可用的信息更少了”。

塑造政策与法律

这位“故事讲述者”的影响力远远超出了医院的围墙,延伸到了政策和法律的大厅。考虑一个旨在监控有药物滥用史的医生的项目。对于监管机构来说,一个关键问题是:“需要多长的最低监控期才能确信医生可能保持不复发?”这不仅是一个医学问题;它还是一个具有重大后果的法律和公共安全问题。

在这里,Kaplan-Meier 估计量可以用来模拟“至复发时间”。通过分析一组受监控的医生——包括那些复发的(事件)和那些成功完成监控或因其他原因离开项目的(删失)——我们可以构建一条“无复发生存”曲线。这条曲线为决策者提供了一个基于证据的工具。例如,如果曲线显示,在22个月时保持无复发的概率降至 50%50\%50% 以下,那么如果目标是让大多数人保持无复发,这就为反对将最低监控期设定为(比如说)24个月提供了强有力的数据驱动论据。通过这种方式,一条简单的统计曲线成为制定理性、公平且可辩护的公共政策的强大工具。

公平比较的艺术

到目前为止,我们一直在讲述单个群体的故事。但是如果我们想比较两个或更多的群体呢——例如,服用新药的患者与服用安慰剂的患者?如果这些群体在其他重要方面存在差异,那么对其 Kaplan-Meier 曲线进行简单的比较可能会产生误导。假设新药的副作用导致年长、体弱的患者退出研究(即被删失)。如果这些患者本身发生主要事件的风险就更高,他们的离开会使治疗组看起来人为地更健康,从而使结果产生偏差。

这就是分层概念的用武之地。我们不是为每个组画一条曲线,而是在更同质的亚组或“层”内讲述独立的故事。例如,我们可以在每个治疗组中为年长患者和年轻患者创建独立的 Kaplan-Meier 曲线。非信息性删失的基本假设——即删失原因与患者预后无关——可能对整个群体不成立,但它在特定的“层”内可能是一个完全合理的假设。通过这种方式分析数据,我们可以将治疗的效果与其他预后因素的效果分离开来,这是实现公平比较的关键一步。这也是通往能够同时调整多个因素的更复杂模型的第一步。

当故事发生冲突:竞争风险的挑战

世界是一个复杂的地方,一个故事往往有不止一个结局。在一项关于老年人心力衰竭死亡的研究中,患者可能在心脏衰竭之前死于中风或癌症。这些就是“竞争风险”。它们不是删失事件——我们知道患者的故事已经结束——但它们也不是我们感兴趣的事件。

在这里,我们遇到了一个绝妙的精微之处,一个常见的陷阱,它揭示了关于 Kaplan-Meier 估计量实际作用的更深层次的真相。如果我们对心力衰竭导致的死亡感兴趣,而我们简单地将因癌症死亡视为“删失”事件,那么得到的 Kaplan-Meier 曲线告诉我们什么?它并不会像人们可能天真地认为的那样,告诉我们在现实世界中因心力衰竭存活的概率。相反,它估计的是“净生存率”——在一个癌症死亡被神奇地消除的假设世界中,因心力衰竭存活的概率。这是一个引人入胜且有时有用的量,但它与在所有竞争原因存在的情况下,实际死于心力衰竭的概率是不同的。为了估计后者,我们需要不同的工具,比如 Aalen-Johansen 估计量,它就是为处理这种情况而构建的。这种区别是一个很好的例子,说明我们必须多么小心,以确保我们提出的统计问题与我们想要回答的现实世界问题相匹配。

模型间的对话:对真理的追求

Kaplan-Meier 估计量以其优美的简洁性,也为更复杂的预测模型扮演着“基准真相”的重要角色。科学家们总是在构建模型——比如著名的 Cox 比例风险模型——这些模型使用十几个或更多的变量(年龄、性别、遗传标记、实验室值)来预测患者发生事件的风险。这些模型很强大,但它们的预测准确吗?它们校准得好吗?

为了找出答案,我们可以进行一个绝佳的检验。我们可以使用我们的复杂模型为数据集中的每个个体生成一个预测风险,例如,5年内发生事件的风险。然后,我们可以根据他们的预测风险将人们分组——比如,所有预测风险在10%到20%之间的人。在这个组内,我们接着可以使用值得信赖的 Kaplan-Meier 方法来计算观察到的风险。如果我们的复杂模型校准得很好,那么预测风险和观察到的 Kaplan-Meier 风险应该非常接近。如果不是,那就说明我们花哨的模型有缺陷。在这场对话中,Kaplan-Meier 估计量扮演着诚实的、非参数的观察者角色,让更复杂的模型对现实负责。

突破界限:当假设被打破时

当我们的核心假设——非信息性删失——即使在分层内也被违反时,会发生什么?假设那些患有更严重疾病相关毒性反应的患者,他们本身进展风险就更高,也因为感觉太不舒服而更可能退出研究。标准的 Kaplan-Meier 估计量会被愚弄。通过有选择性地从样本中失去最高风险的患者,剩余组中的事件率会被人为地降低,导致生存曲线过于乐观。

在这里,统计学家们从因果推断的世界中汲取灵感,开发出一种非常巧妙的修正方法:​​删失概率倒数加权 (IPCW)​​。其直觉是这样的:如果我们知道某些类型的患者(比如,具有特定协变量特征 XXX 的患者)更有可能退出,我们可以给那些确实留在研究中的相似患者一个“更响亮的声音”。我们对分析进行重新加权,给予那些删失率高的亚组中的个体更大的权重。这种重新加权创建了一个伪人群,在这个人群中,删失不再与风险相关,偏差也得到了纠正。这是一个深刻的想法:通过对删失过程本身进行建模,我们可以校正我们对生存过程的估计。这项技术可以用来创建偏差校正的 Kaplan-Meier 曲线和加权版本的比较检验,比如对数秩检验。

这次进入统计学前沿的旅程也提醒我们,必须小心使用我们的工具。即使是我们计算置信区间的方式也可能很棘手。简单的方法,特别是在样本量小的情况下,有时会产生荒谬的结果,比如一个概率的置信下限小于零。这并不意味着理论是错误的;这意味着我们必须是成熟的使用者,理解简单近似的局限性,并在必要时采用更稳健的技术。

从诊所到法庭,从简单描述到复杂的因果校正,Kaplan-Meier 估计量是一条统一的线索。它证明了一个简单、诚实的想法的力量:通过利用你拥有的所有信息,不多也不少,来讲述尽可能准确的故事。它的应用仅受限于我们的想象力,以及关于那个最神秘变量——时间——的问题的存在。