4.1 生存分析的基本内容

生存分析最初应用于研究分析患者被确诊之后多长时间会死亡,因此这种分析方法被称为生存分析。生存分析的目的通常有如下几种。

● 估计:根据样本生存数据估计总体生存率及其他有关指标(如中位生存期等)。例如,根据脑瘤患者治疗后的生存时间,估计不同时间的生存率,计算生存曲线及中位生存时间等。

● 比较:对不同处理组生存率进行比较。例如,比较不同疗法治疗脑瘤的生存率,以了解哪种治疗方案较优;比较两种版本的产品用户的流失率,分析流失时间是否存在差异,以了解不同版本的优劣。

● 影响因素分析:探索和了解影响生存时间的因素,如研究某个或某些因素对生存率的影响。例如,为改善脑瘤病人病情,应了解影响病人病情的主要因素,包括病人的年龄、性别、病程、治疗方案等。

● 预测:具有不同因素水平的个体生存预测。例如,根据脑瘤病人的年龄、性别、病程、肿瘤分期、治疗方案等预测该病人某年(月)的生存率。

总而言之,生存分析的目的是研究某对象某一时间某一事件的发生的概率,以及影响对象事件发生的因素。

1.生存分析的应用场景

从本质上讲,生存分析研究的是被观察对象会在何时发生某个事件的问题,任何可以归类为这种问题的场景都可以应用生存分析,这些场景包括以下几种。

● 银行业务:预测客户的流失率和客户的生命周期价值(Life Time Value,LTV)。

● 保险:险种随时间变化的赔付概率。

● 抵押贷款:抵押贷款兑换概率随时间的变化。

● 电子商务:用户下次购买的概率随着时间的变化。

● 零售:食品客户开始购买该食品的时间。

● 制造:某个机器部件的使用寿命。

● 公共部门:某个关键事件的时间间隔。

以上场景都可以使用生存分析方法进行分析。生存分析的问题一般是传统的回归模型无法解决的。例如,回归模型预测的结果范围是涵盖了负数范围的,但是生存分析的时间只能是正数,另外,生存分析存在删失数据。

2.生存分析的基本概念

生存分析通常被定义为一组用于分析数据的方法,其中结果变量是一个时间点到任何感兴趣事件发生的时间。这个事件可能是死亡、疾病发生、婚姻、离婚等,或者任何与时间相关的事件。使用生存分析的原因是它具备处理删失数据的条件(测量或观察的数据仅部分已知的条件),而其他技术(包括线性回归)不能够很好地解决这类问题。

3.生存函数的定义

下面简单地介绍一下生存分析相关的基本概念,这些概念是非常重要的。首先,假设T为非负数随机变量,代表直到事件发生时的等待时间,定义:F(t):F(t)=Pr(Tt),此为事件发生时间小于t的概率。

生存函数(Survival Function)为患者、设备或其他感兴趣对象在任何给定的指定时间内存活的概率的函数。它的定义如下:

生存函数定义的是在t时间内事物没有发生某事件的概率。

风险函数(Hazard Function)描述的是事物能够在某个时间点存活的概率。它的定义如下:

以上是生存分析相关的基本定义,包括生存函数,风险函数的定义。这些都是生存分析中最基本的概念,接下来介绍生存分析中的一个特殊问题。

4.删失数据

删失数据(Censored Data)是指在研究某事物的观察过程中,该对象生存时间没有被完全观测到,造成了生存数据不完整的现象。在实际的实验观察中,一般很难准确地观察到对象状态变化的精确时间点,例如,零件在被发现的时候已经损坏了一段时间了,或者患者在被治愈之前就已经停止了治疗,等等。由于观察手段或者被观察对象存在种种限制,因此难免会出现观察数据不完整的情况。

删失数据一般分为3种,即左删失、右删失和区间删失。

● 左删失(Left Censored):指的是事件的发生时间只能确定在某一时间点之前。

● 右删失(Right Censored):指的是事件的发生时间只能确定在某一时间点之后。

● 区间删失(Interval Censored):指的是事件的发生时间只能确定在某一时间区间内。

文字定义有一些抽象,图4.2通过可视化的方式展示了生存分析中删失数据的具体含义。

在图4.2中,可以更加清晰地理解不同删失数据之间的差别,其中,用点来表示事件发生的真实时间,使用直线来表示对象被研究观察的时间段,使用虚线来表示对象没有被观察到的时间段。从图4.2中可以看出,对象1的事件发生时间在被整个观察的过程中,因此是没有删失数据的;对象2的事件发生时间并不在被观察到的时间段内,只能确定事件发生时间是在某一个时间点之后,因此这种删失数据属于右删失数据;对象3的事件发生时间是在某个时间点之前,因此数据属于左删失数据;对象4的事件发生时间在某个可以确定的时间区间之内,因此数据属于区间删失数据。

图4.2 删失数据

5.生存分析方法

生存分析方法通常有3种,包括非参数生存分析方法,半参数生存分析方法及参数生存分析方法。不同的方法有不同的使用条件,如表4.1所示。

表4.1 生存分析方法

一般而言,3种模型都会使用到,并且随着技术的发展,机器学习模型同样被应用于生存分析,如随机生存森林模型,接下来介绍如何使用R语言进行生存分析。