
假如你不仅能预测一台机器是否会出故障,或一名患者是否会康复,还能预测何时发生?这个问题正是生存分析的领域,这是一个强大的统计框架,它将我们的关注点从简单的结果转向事件发生的时间。传统方法常常失灵,因为现实世界的数据是混乱和不完整的;研究结束了,患者搬走了,留给我们的是未完成的故事。这种“删失”数据的问题——我们只知道某个事件在特定时间之前尚未发生——使得简单的平均值具有误导性,需要一种更复杂的方法。本文为这一重要方法提供了全面的指南。
在第一章“原理与机制”中,我们将探讨生存分析得以运作的核心概念,包括删失、生存函数与风险函数的优雅语言,以及该方法如何理清复杂的现实世界问题和统计偏倚。随后的“应用与跨学科联系”一章将揭示这些思想惊人的多功能性,展示其在生死攸关的医疗决策、可靠工程系统设计,乃至搜寻遥远世界中的应用。
要真正掌握生存分析,我们必须像讲故事的人一样思考,但要具备物理学家的严谨。我们讲述的故事是关于时间的——直到某事发生的时间。这个“某事”可以是一台机器的故障、一名患者的康复、一种疾病的复发,甚至是根管治疗后一颗牙齿的存活。核心问题不仅仅是事件是否会发生,而是何时发生。这个看似简单的视角转变,从“是否”到“何时”,开启了一个丰富而迷人的统计推理世界。
想象一下,你正在追踪一群试图登上一座险峻山峰的登山者。一些人到达了顶峰(事件),一些人中途折返,还有一些人仍在攀登时,一场暴风雪迫使你放弃观察哨。对于那些仍在攀登的人,你不知道他们的最终结果。你只知道他们在暴风雪来临之前还活着。这种不完整的信息是生存分析中的核心挑战,被称为删失(censoring)。
像计算平均登顶时间这样的简单方法完全失效了。如果你只平均成功登山者的时间,就忽略了那些用时更长、仍在山上的人,从而造成一种过于乐观的景象。如果你将他们排除在外,你就在丢弃有价值的信息。生存分析正是正确倾听这些未完故事所蕴含信息的艺术。
最常见的类型是右删失(right-censoring),就像我们的登山者例子一样。当一个受试者的随访时间在他们经历事件之前结束时,就会发生这种情况。这可能是因为研究结束、患者搬家,或者他们因与结果无关的原因退出。关键在于,我们知道事件发生在某个特定时间之后。
其他形式的删失虽然不那么常见,但同样重要。左删失(left-censoring)发生在我们开始观察之前,感兴趣的事件已经发生。例如,如果一个传感器只能在某个阈值时间 之后检测到机器故障,那么在 之前发生的任何故障都只被记录为在 或之前发生。区间删失(interval-censoring)发生在我们只知道事件发生在某个特定时间窗口内,例如两次预定检查之间。例如,一件工业设备可能在月度检查中被发现已经发生故障;我们只知道它的报废发生在上次成功检查和本次检查之间的某个时间点。
使生存分析得以运作的基本原则是非信息性删失(non-informative censoring)的假设。这意味着删失行为本身不应提供任何关于个体未来风险的线索。例如,如果感觉病情更重的患者更有可能退出研究,那么这种删失就是信息性的,我们的标准方法将产生偏倚。
为了处理删失数据,我们需要一种新的语言。生存分析提供了两个基本概念来描述风险随时间变化的动态:生存函数和风险函数。
生存函数,记为 ,是最直观的。它简单地回答了这个问题:到时间 为止,事件尚未发生的概率是多少?该函数从 开始(在开始时每个人都未经历事件),随着时间的推移和更多事件的发生,逐渐向 0 递减。它是一条描绘原始群体随时间衰减的曲线。
风险函数, 或 ,是一个更微妙、更强大的概念。它表示在时间 发生事件的瞬时风险,前提是事件尚未发生。可以把它看作是“当下”的风险。如果生存函数告诉你活到 50 岁生日的几率,那么风险函数告诉你在 50 岁生日那天死亡的风险,前提是你已经活到了那天。它可以呈现任何形状:可能是恒定的(就像公平抛硬币的风险),可能增加(就像汽车零件因磨损而失效的风险),也可能减少(我们稍后会看到)。
这两个函数是同一枚硬币的两面。任何时间 的生存率都由截至该时间点累积的总风险决定。在数学上,这种优美的关系表示为 。积分 是累积风险,表示到时间 为止吸收的风险总量。累积风险越高,生存的概率就越低。这个优雅的框架使我们能够结合来自经历事件的个体(他们告诉我们那一刻的风险信息)和被删失的个体(他们告诉我们风险不足以在他们的删失时间之前引起事件)的信息。
现实世界很少像一个简单的模型那样干净。生存分析已经发展出复杂的工具来处理各种混乱但引人入胜的复杂情况。
有时,我们并非从一个队列的真正起点开始观察。想象一项始于 2000 年的发电厂退役研究。它包括了 20 世纪 70 年代建造的电厂,但前提是它们在 2000 年仍在运行。那些在 70 年代建造但在 90 年代失效的电厂不在此数据集中。这被称为左截断(left-truncation)或延迟进入(delayed entry)。我们是从一个预先筛选出的幸存者群体中抽样。为了获得资产寿命的无偏估计,我们的分析必须在数学上考虑这种条件限制,通过将在研究开始时存活足够长时间以便被纳入的概率,来有效调整观察到事件的可能性。
当个体可能经历几种不同且互斥的事件之一时会发生什么?在一项针对侵袭性癌症患者的研究中,患者可能死于癌症进展,也可能死于治疗的毒性。死于毒性不是一个删失事件;它是一个确定的结局,排除了将来死于癌症的可能性。这些被称为竞争风险(competing risks)。
将竞争事件视为简单的右删失是一个严重的错误。这样做以最极端的方式违反了非信息性删失的假设:死于毒性的患者将来死于癌症的几率为 0%,而一个真正被删失的患者则被假设与仍在观察中的其他人具有相同的未来风险。这种错误会导致对感兴趣事件发生概率的估计出现无意义且系统性的夸大。相反,我们必须使用能够同时对所有事件类型的发生率进行建模的方法,例如原因特异性风险模型或多状态模型,这些模型能在其竞争者存在的情况下正确计算每个特定结局的概率。
风险不是静止的。患者的生物标志物水平,作为其疾病活动性的衡量标准,会随时间变化。当我们想了解这样一个移动目标与生存之间的关系时,我们处理的就是时依协变量(time-dependent covariate)。
在外部(external)和内部(internal)协变量之间存在着关键的区别。外部协变量像是每日的空气污染;其路径不受个体影响。而内部协变量,如血压读数或生物标志物水平,是个体生理学的一部分。它既是风险的预测因子,也是潜在疾病过程的结果。其轨迹因事件本身而终止。在生存模型中轻率地使用此类协变量充满了风险。观察到的值通常带有测量误差,并且它们的存在本身就依赖于患者保持无事件状态。这些反馈循环和依赖关系需要先进的技术,例如联合模型(joint models),该模型同时对生物标志物的轨迹和生存结局进行建模,以厘清两者之间的真实关系。
统计学最大的功用之一就是检验我们有缺陷的直觉。生存分析提供了强大的工具来揭示那些在没有进步的地方制造出进步幻象的偏倚。
想象一种新的筛查测试,它能比症状出现早几年检测出一种致命癌症。在一个没有有效治疗方法的世界里,死亡时间由肿瘤的生物学特性决定,且保持不变。然而,生存时间是从诊断到死亡来衡量的。通过提前 3 年诊断癌症,我们仅仅是将“生存时钟”提前了 3 年。测得的生存时间将延长 3 年,尽管这个人的生命并未延长一天。例如,如果一个患者本应在 64 岁时被诊断,并在 66 岁时去世(2 年生存期),筛查可能会导致在 61 岁时诊断。他们仍然在 66 岁去世,但他们测得的生存期现在是 5 年。5 年生存率可能从 0% 跃升至 100%,而人群的实际死亡率保持不变。这就是领先时间偏倚(lead-time bias),一个纯粹的统计假象。
伟大的美国幽默家 Will Rogers 有句名言:“当俄克拉荷马州人离开俄克拉荷马搬到加利福尼亚时,他们提高了两个州的平均智力水平。”同样的悖论,被称为分期迁移(stage migration),也可能发生在医学领域。
假设一家医院得到了一台更灵敏的成像扫描仪。它现在可以检测到以前漏掉的微小转移灶。考虑一组之前被分类为“早期”的患者和另一组“晚期”的患者。现在,一些“早期”组中病情最严重的患者(那些有先前未检测到的微转移灶,因此预后较差的患者)被重新划分到“晚期”组。
结果如何?“早期”组失去了病情最重的成员,因此其平均生存期上升了。“晚期”组增加了一些相对健康的成员(他们仍然比原来“晚期”组的平均患者更健康),所以其平均生存期也上升了。两个分期的生存统计数据似乎都有所改善,然而没有一个患者的寿命延长了一天。整个队列的总生存期完全保持不变。我们仅仅通过重新标记患者,就在纸上创造了一个奇迹。
让我们用一个优美而反直觉的观点来结束。想象一个装满灯泡的大盒子。每个灯泡都有一个简单的、恒定的烧毁风险。但是,这些灯泡来自不同的工厂;一些是精心制造的(“健壮的”),一些是次品(“脆弱的”)。这种未被观察到的变异性就是我们所说的异质性(heterogeneity)或脆弱性(frailty)。
盒子里所有灯泡的总风险率是多少?在开始时,风险是所有单个灯泡风险的平均值。但随着时间的推移,奇妙的事情发生了。那些脆弱的、具有高内在风险的灯泡倾向于先烧坏。这个选择性耗竭(selective depletion)的过程意味着存活下来的灯泡群体中,越来越富集那些更健壮的灯泡。
因为存活下来的群体平均而言变得更强健,所以该群体的整体风险率会随时间下降。尽管每个灯泡自身的风险仍然是恒定不变的,这种情况依然会发生!群体风险的结构仅仅因为其隐藏的多样性而改变了。这阐明了一个深刻的原则:一个异质群体的行为不仅仅是其各部分的总和。选择和生存的动态创造了涌现属性,只有通过将群体作为一个整体来思考才能理解。正是在揭示这些复杂、隐藏的动态中,生存分析展现了其真正的力量与美。
掌握了生存分析的原理和机制后,我们现在准备踏上一段旅程。这段旅程将带我们从人体细胞的微观尺度到星际空间的浩瀚,从生命的脆弱到工程结构的坚韧。你可能会惊讶地发现,我们刚刚学到的这套优雅思想,构成了一种通用的语言,用于理解、预测和决策关于随时间发生的事件,无论在哪个学科。其核心问题——等待一个在我们观察窗口内不一定发生的事件——是科学中最基本的问题之一。让我们来探索生存分析如何提供答案。
生存分析的利害关系在医学领域最为重大。在这里,“事件”通常关乎生死或疾病进展。这个框架让我们能够超越模糊的预后,对未来做出精确、量化的陈述。
考虑一个患有严重疾病的病人。最基本的问题是,“我还有多长时间?”生存分析用一个函数——一条显示在任何给定时间存活概率的曲线——来回答这个问题,而不是一个单一的数字。然后我们可以用它来找到像中位生存期这样的指标,即一半患者会经历事件的时间点。但真正的力量来自于比较。在像18三体综合征这样严重的遗传性疾病的艰难背景下,临床医生面临着痛苦的护理决策。是提供以舒适为主的管理,还是进行重症新生儿支持更好?通过收集数据并为每个组别绘制生存曲线,我们可以量化这些不同策略的影响。我们可能会发现,重症监护显著延长了中位生存期,为家庭和医生提供了宝贵的信息。至关重要的是,这项分析也给了我们一个谦卑的教训:通过治疗症状来延长生命并不能改变潜在的遗传现实,但它展示了医疗干预改变个人生命历程的深远力量。
我们也可以更直接地比较风险。像嵌合型13三体综合征这样的部分遗传性疾病,是否比完全型疾病轻微?直觉上是这样,但轻微多少呢?通过为每个组别建立死亡的瞬时风险——即风险函数——模型,我们可以计算出风险比。例如,发现风险比为 精确地告诉我们,在一个简单的模型下,嵌合型婴儿在任何时刻的死亡风险大约只有完全型婴儿的五分之一。这个单一的数字概括了一个强有力的比较性事实。对于罕见事件,如癫痫患者的突发意外死亡(SUDEP)这一悲剧现象,我们可以使用人年观察的概念来估计人群中的潜在风险率,为公共卫生和患者咨询提供一个关键指标。
也许医学中最优美的应用是创建预后工具。许多临床评分看似是由神秘的实验室值配方调制而成,实际上它们是生存建模的直接产物。例如,在美国作为肝移植看门人的MELD评分,就是通过对肝病患者应用Cox比例风险模型得出的。该模型假设死亡风险是一个基线风险乘以由患者特征决定的一个因子。Cox模型的数学原理揭示,如果像胆红素、INR和肌酐这样的生物标志物对风险有乘法效应(例如,胆红素加倍使风险加倍),那么它们的对数将对对数风险有加法效应。这正是MELD评分是这些值对数的线性总和的原因。这不是一个随意的选择;它是一个深刻而强大的统计模型的自然结果。
这个框架在随机临床试验的设计和分析中达到了顶峰,这是评估新疗法的黄金标准。为了测试像二甲双胍这样的药物是否能预防糖尿病的发作,一支由统计学家、医生和科学家组成的军队会构建一个详细的统计分析计划。这个计划是生存分析的杰作,具体规定了使用意向性治疗原则、用Kaplan-Meier曲线来可视化结果、用对数秩检验进行主要假设检验,以及用Cox模型来估计风险比,并常常为了提高精度而调整其他患者特征。该计划甚至必须预见并处理各种复杂情况,例如风险因素的影响会随时间变化。例如,在乳腺癌中,雌激素受体阴性(ER-)状态在最初几年会带来非常高的复发风险,但对于度过这一初期的幸存者来说,其预后能力会减弱。像地标分析这样的技术使我们能够探究这些时变效应,揭示出更动态、更细致的风险图景。该计划还必须考虑到竞争风险——例如,患者可能在患上糖尿病之前死于心脏病——使用像Fine-Gray模型这样复杂的方法。正是这种严谨性,让我们相信一种新药是真正安全有效的。
现在让我们改变视角。从根本上说,设计卫星的工程师和治疗病人的医生在问同样的问题。工程师的“病人”是一个组件——一个晶体管、一个轴承、一根钢梁。“疾病”是材料退化。“死亡”则是失效。事实上,生存分析的语言就是可靠性工程的通用语言。
生存函数 变成了可靠性函数 。风险函数 是瞬时失效率。工程师们常说的组件平均无故障时间(MTTF),其实就是失效时间分布的期望值,而FIT率(Failures In Time)——十亿设备小时内预期的故障次数——则是风险的一种标准化度量。通过研究组件生命周期内风险函数的形状,工程师识别出三个阶段:因制造缺陷导致的早期失效或“早期夭折”,一个长期稳定、低失效率的“有效寿命”期,以及最后随着组件老化和退化加速的“耗损”期。这就是著名的“浴盆曲线”,它无非是一张时变风险函数的图。
这种思想无处不在。当岩土工程师评估建筑物地基的安全性时,他们必须应对土壤强度()和建筑物荷载()的不确定性。“极限状态函数” (抗力减去应力)定义了安全与失效之间的界限。失效概率就是 的概率。利用诸如一阶可靠性方法(FORM)等方法,工程师可以将不确定变量转换到标准空间,并计算出一个“可靠性指数” ,这是表达失效概率的另一种方式。这个指数直接为我们日常依赖的结构的安全和设计提供信息。
然而,现实世界通常比单一组件更复杂。考虑一个由两根平行钢筋支撑的结构。这是一个冗余或并联系统。如果一根钢筋失效,系统不会立即崩溃。但故事并没有就此结束。全部荷载现在转移到幸存的钢筋上,急剧增加了它的应力,从而也增加了它的失效风险。要分析这样的系统,我们需要一个分阶段的分析,来考虑这一系列事件。系统失效的概率是所有可能失效序列(钢筋A先失效然后是B,或者钢筋B先失效然后是A)的概率总和。这需要计算第一次失效的概率,然后是在系统处于一个新的、更脆弱状态下的第二次失效的条件概率。这种复杂的、序列性的思维方式是现代系统可靠性理论的核心。
一个伟大科学思想的真正魅力在于它统一不同领域的力量。生存分析就是这样一种思想,它提供的工具不仅用于预测,还用于优化决策和洞察不可见之物。
在医学上,我们常常面临选择。对于一个患有严重肝硬化和危及生命的出血的病人,最佳的前进道路是什么?在等待移植的同时继续药物治疗?进行TIPS手术作为移植的桥梁?还是进行一个根治性的外科分流手术,这能控制出血但可能使未来的移植复杂化?在这里,生存分析与效用理论在医疗决策分析领域携手合作。我们可以将患者的旅程建模为一条穿越不同健康状态(例如,移植前、移植后)的路径,每个状态都有其自身的死亡风险和生活质量(或“效用”)。通过对随时间变化的效用加权生存概率进行积分,我们可以计算出每种策略的预期“质量调整生存期”。这使我们能够做出一个理性的选择,不仅最大化患者剩余生命的长度,还最大化其质量。同样的逻辑支撑着卫生技术评估领域,该领域使用“分区生存模型”来确定一种昂贵的癌症新药是否具有成本效益。通过使用临床试验中标准的总生存期(OS)和无进展生存期(PFS)曲线,分析师可以计算出随时间推移处于“无进展”、“疾病进展”和“死亡”状态的患者比例。这为指导国家医疗政策的复杂经济模型奠定了基础。
也许这些思想最惊人的应用将我们带到了离家数光年之外的地方,去寻找围绕其他恒星的行星。当天文学家使用凌日法时,他们寻找的是当行星从恒星前方经过时,恒星光芒的微小下降。这个下降的深度是一个随机变量。然而,每台仪器都有一个探测极限;太浅的凌日现象会在噪声中丢失。这是一种删失形式——不是时间的删失,而是测量的删失。我们不知道确切的深度,只知道它小于我们的探测极限。这被称为左删失。如果我们天真地只分析我们确实探测到的凌日,我们的样本就会偏向于更大的行星,我们对宇宙的理解就会被扭曲。
生存分析的天才之处提供了一个解决方案。通过进行巧妙的变换(例如,分析凌日深度的负值),我们可以将这个左删失问题转换成一个等价的右删失问题。然后,我们可以使用一种称为逆Kaplan-Meier估计量的工具,来恰当地整合来自未探测到的信息,并构建一个对真实凌日深度分布的无偏估计。于此,我们看到了该框架的终极力量:它为我们提供了一种有原则的方式来推理我们无法看到的事物,从而让我们能够描绘出一幅更真实的宇宙图景。
从患者与疾病的斗争到工程师对完美可靠性的追求,从医疗保健经济学到遥远世界的测绘,生存分析的原则提供了一种单一、连贯的语言。它们为我们提供了一种思考时间、风险和不确定性的方式,揭示了我们在整个科学领域所提出问题中隐藏的统一性。