生存分析 survival analysis

一、生存分析 (survival analysis)

生存分析是一系列统计学方法的总称,用以分析研究者感兴趣的事件发生前的持续时间数据。生存分析的应用范围非常广泛,其中包括抗癌药物临床试验中的生存时间分析、工程学中的故障时间分析、计量经济学中的持续时间分析。

生存分析是将观察的结局出现结局所经历的时间结合起来进行分析的一系列统计方法,常用于研究影响因素与生存时间和结局的关系,预测不同因素水平个体生存预测

生存分析有三大支柱:(1) Kaplan-Meier曲线;(2) 对数秩检验 (Log Rank Test);(3) Cox回归模型。

 

1.1 事件 (event)

事件的具体定义取决于新药试验中事先指定的临床终点 (clinical endpoint) 。如果终点是总体生存期 (overall survival, OS),那么事件就是患者的死亡。如果终点是无进展生存期 (progression-free survival, PFS),那么事件就是患者病情的进展 (例如固体瘤增大或者白血病的血液指标恶化) 或者死亡。生存分析能在生物医学以外的许多不同领域有用武之地[3],其关键就在于事件这个概念在定义上的灵活性。

1.2 生存时间 (survival time)

指从病人被随机分派进入临床试验的分组 (相对的时间零点) 直到事件发生所经历的时间跨度。临床试验的病人招募通常是个持续的过程,不同病人的试验一般始于日历上不同的具体时间点,在数据分析时只有采用相对时间,才能有同样的时间轴及零点。对于一个临床试验的病人群体而言,个体病人的生存时间是一个随机变量,用大写的T表示。而生存曲线横坐标则对应各病人事件发生的时间点,它不是随机变量 (而用做函数的自变量),用小写的t表示。随机变量T一般不遵从正态分布。

 

1.3 删失(censoring)

因为跟时间相关,所以要定义要事件起点,以及事件终点生存时间T也可以根据事件起终点计算出来。

由于有些事件无法被观测或者没有观察到,导致生存时间无法被记录的情况称为删失。其中最为常见的情形称为右删失(right censoring,下图)

  • 右删失:对这样的病人我们只知道其生存时间要大于从试验开始到删失发生的时间。有多种原因可以导致右删失情况的出现,其中包括:(1)病人在某时间点上退出试验或失去随访信息;(2)病人在整个试验结束时事件还未发生;(3)病人由于毒性等原因停用被分派的药物或换用其它药物;(4)竞争风险事件的发生1
图1. 生存时间数据的右删失现象。
  • 左删失2:事件发生了,且发生时间在(0,t) ,但确切时间并不清楚。
  • 区间删失: 事件发生在一个已知的具体时间段内,但是并不知道具体时间。

生存时间T的非正态分布以及删失情况的存在让传统的统计方法在分析这类数据时无用武之地,于是统计学家们殚精竭虑,直到1970年代才使生存分析这一方法体系趋于成熟。

生存函数(survival function)

生存函数, 又叫累积生存概率(cumulative survival probability)

�(�)=�(�>�)

描述的是事件发生时间大于时间点t的概率,理论上T是连续变量,那么生存函数是一个连续的递减函数,然而实际实验中T都是有限时间点的,所以连续曲线变成离散的。“若想用光滑曲线来连接就需要对随机变量T的分布做出假设的参数拟合法,而曲线一般不宜正好经过所有的红点 (那样会导致过度拟合而使得统计模型没有多大效用) ;若用非参数的阶梯函数来连接,那么曲线简单而唯一确定!”这也是为什么k-m曲线这么重要的原因。

图2.理论与实践中的生存函数。丨来源:Kleinbaum, D.G. & Klein, M. (2012) Survival Analysis: A Self-Learning Text, 3rd Edition。

图3可以帮助我们进一步理解光滑曲线和阶梯曲线之间的区别:红色数据点的纵坐标代表根据试验结果估算出的累积生存概率值,我们若想用光滑曲线来连接就需要对随机变量T的分布做出假设的参数拟合法,而曲线一般不宜正好经过所有的红点 (那样会导致过度拟合而使得统计模型没有多大效用) ;若用非参数的阶梯函数来连接,那么曲线简单而唯一确定!这一区别正是Kaplan-Meier非参数估计法能够成为生存分析领域一大支柱的关键。

图3. 阶梯函数的使用可以改善光滑曲线估计生存函数的过拟合问题。

风险函数

风险函数的定义即在t时刻发生事件的概率

ℎ(�)=�(�=�∣�≥�)

生存函数是可以看到是从1到0递减的,而风险函数没有固定的单调性,可以是常数风险、可以随时间变化,比如上升、下降、先下降后上升。

假设生存时间T这个变量概率分布满足 �(�) , 累积分布 �(�)=�(�≤�)=∫0�​�(�)��, 可以看到生存函数 �(�)=1−�(�) 两边求导数可得

�(�)=−�′(�)

那么在t时刻发生事件的风险用极限的观点来看即在 �−>�+Δ� 这个区间内发生事件的数量除以在t时刻剩下的总人数

式1后面一个等式右边求偏微分等于等式左边,两边积分即式2。以上为风险函数与生存函数之间的关系

 

Kaplan-Meier生存曲线

K-M曲线是非参数估计生存函数的一种方法。

如何绘制K-M生存曲线? 临床原始资料一般如下:

假设是来分析患者生存分析,定义结局是死亡,最长实验观察时间是90天,

首先是判断删失数据,假设a和e患者分别出院,观察不到死亡结局,那么以上两个患者是删失数据。

将资料整理成生存概率随时间变化表格

将上表生存时间以及生存概率可视化即可得到k-m曲线。

以上介绍了生存分析的基本原理以及非参数生存分析K-M曲线是如何来的,有空介绍半参以及参数化的生存分析方法。