Survival Analysis
Survival Analysis
生存分析研究对象的“生存时间”的分布情况,并探究实验条件对于生存时间的影响。
生存分析的目标,就是通过对已经发生的事件的观察,来分析和预测事件在观察对象上的发生情况。通过生存分析,我们希望能够得到研究对象的生存情况在时间上的特点,估计生存率和平均生存时间,进而研究影响生存时间和观察时间发生的保护因素和不利因素。
最初应用于医学研究中,研究病人确诊后能过生存多长时间,治愈后多长时间会复发等。“生存”还可以指机器零件的损坏情况、服务的客户流失度、预测信息在社交网络的传播程度等。
概念
Survival Time 生存时间:从某一起点到所关心事件发生的时间。例如,研究零件的损坏情况,则关心零件何时损坏,生存时间就是从零件刚刚投入使用,到零件损坏的时间。
但是,由于观察对象和观察时间的限制,有时候无法确定起点,有时候结束观察时对象也没有到达终点。
Initial Event 起始事件:反映生存时间起始特征的事件。例如疾病确证。
Failure Event 失效事件:反映生存时间结束特征的事件。例如病人死亡。
Censored 删失/失访:事件的发生没有或无法被观测到,导致 Survival Time 不准确的情况。可分为:
- Left-Censored 左删失:起始时间没有被观测到,只能确定在某一个时间点之前。则记录的 Survival Time 偏小。
- Right-Censored 右删失:结束时间没有被观测到,只能确定在某一个时间点之后。则记录的 Survival Time 偏小。
- Interval-Censored 区间删失:始末时间都没有被观测到。
Failure Data 非删失数据:准确观测到始末时间的样本数据。
F: Failure Data
L: Left-Censored
R: Right-Censored
I: Interval-Censored
Survival Function 生存函数:观察对象生存时间 \(T\) 长于时间 \(t\) 的概率,累积生存率 \(S(t)\)。\(S(t)=P\;(T>t)\)。
Hazard Function 风险函数:观察对象在时刻 t 死亡的概率,瞬时死亡率 \(h(t)\)。
\(h(t)\) 即观察对象在时刻 \(t\) 之前还没有发生任何失效事件的情况下,在时刻 \(t\) 发生失效事件的可能性。
\[ \text{累积风险函数:}F(t)=1-S(t) \]
\[ \text{风险概率密度函数:}f(t)=\frac{\mathrm{d}F(t)}{\mathrm{d}t}=\lim_{\Delta t\to0}\frac{F(t+\Delta t)-F(t)}{\Delta t} \]
\[ h(t)=\lim_{\Delta t\to0}\frac{P(t\leq T\leq t+\Delta t|T\geq t)}{\Delta t}=\frac{f(t)}{S(t)}=\lim_{\Delta t\to0}\frac{S(t)-S(t+\Delta t)}{S(t)\cdot\Delta t} \]
模型
一般分为非参数模型、半参数模型和参数模型。
非参数模型:不对生存时间的分布作出假设,检验危险因素对生存时间的影响采用的是非参数检验方法。无法建立生存时间与危险因素之间的关系模型。常用的有 Kaplan-Meier survival estimate KM生存曲线估计、寿命表法。
参数模型:根据样本观测值估计假设分布模型中的参数,获得生存时间的概率分布模型。能够更好地分析生存数据中其他参数对于生存时间的影响。
参数回归模型(Parametric Regression Modeling,简称 PRM)
半参数模型:主要有 Cox’ s Proportional Hazards Regression Model 比例风险回归模型、Accelerated Failure Time (AFT) 加速失效模型、Shared Frailty Model 共享脆弱模型。
Kaplan-Merier 方法
\[ S(t_i)=S(t_{i-1})\cdot(1-\frac{d_i}{n_i}) \]
- \(S(t_i)\):在 \(t_i\) 时刻的存活概率。
- \(n_i\):在 \(t_i\) 时刻前还存活的样本数。
- \(d_i\):在 \(t_i\) 时刻发生失效事件的样本数。
- \(t_0=0,\;S(0)=1\)
Example
共 6 个样本。
Survival Time | Delta | \(S(t)\) | Description |
---|---|---|---|
10 | 1 | \(=1\cdot(1-\frac{1}{6})=\frac{5}{6}\) | 时刻 10 有 1 个样本发生失效事件,其余 5 个样本存活。 |
14 | 1 | \(=\frac{5}{6}\cdot(1-\frac{1}{5})=\frac{2}{3}\) | 时刻 14 有 1 个样本发生失效事件,其余 4 个样本存活。 |
25 | 0 | \(=\frac{2}{3}\cdot(1-\frac{0}{4})=\frac{2}{3}\) | 删失数据。该样本在时刻 25 必然生存,对于该时刻的生存率无影响。 |
28 | 1 | \(=\frac{2}{3}\cdot(1-\frac{1}{4})=\frac{1}{2}\) | 时刻 28 有 1 个样本发生失效事件,其余 3 个样本存活。 |
31 | 0 | \(=\frac{1}{2}\cdot(1-\frac{0}{3})=\frac{1}{2}\) | 删失数据。该样本在时刻 31 必然生存,对于该时刻的生存率无影响。 |
40 | 1 | \(=\frac{1}{2}\cdot(1-\frac{1}{3})=\frac{1}{3}\) | 时刻 40 有 1 个样本发生失效事件,其余 2 个样本存活。 |
delta = 0: right-censored;
delta = 1: complete data.
绘出生存曲线如下:
Log-Rand Test
不同组的生存曲线是否具有显著性差异。 \[ \chi^2=\sum\frac{(A-T)^2}{T} \]
- \(A\):观测死亡数。
- \(T\):理论死亡数。
- 自由度 \(df=组数-1\)
Cox Proportional Hazards Regression
描述不随时间变化的多个特征对于某一时刻的风险函数的影响。
例如,研究人的寿命长短,即时刻 t 死亡的概率时,假设会受到人类固有寿命、健康状况、基因等的影响。
概念
输入变量:也称协变量,不随时间变化。\(X=(x_1,x_2,...,x_m)\)
参数:输入变量的参数。\(\beta=(\beta_1,\beta_2,...,\beta_m)^T\)
生存函数:输入为 \(X\) 时,在 t 时刻仍然存活的概率。\(S(t,X)=P(T>t,X)\)
死亡函数:输入为 \(X\) 时,在 t 时刻已经死亡的概率。\(F(t,X)=1-P(T\leq t,X)\)
死亡密度函数:输入为 \(X\) 时,在 t 时刻死亡的概率。 \[ f(t,X)=\lim_{\Delta t\to0}\frac{P(t<T<t+\Delta t,X)}{\Delta t} \]
风险函数:输入为 \(X\) 时,已经生存到了 t 时刻,但是在 t 时刻死亡的概率。 \[ \begin{align} h(t,X)&=\lim_{\Delta t\to0}\frac{P(t<T<t+\Delta t|T>t,X)}{\Delta t}\\&=\frac{f(t,X)}{S(t,X)} \end{align} \]
模型内容
\[ h(t,X_i)=\lambda_0(t)\cdot \exp(X_i\beta) \]
\(\lambda_0(t)\) 为时间相关的基准风险率,可以灵活选择。通常选择 Weibull 分布。
\[ \ln{(h(t,X))}=\beta\cdot X+\ln{(\lambda_0(t))} \]
由公式(10)得出模型的基本假设:
- 输入变量 \(X\) 对于风险的影响与时间无关,即 Proportional hazards 比例风险假设;
- 对数风险与输入变量 \(X\) 呈线性相关。
参数的MLE
由于存在 \(\lambda_0(t)\),为半参数模型,因此使用 部分似然函数 partial likelihood: \[ L_p(\beta)=\prod_{i=1}^mL_i \] 假设 4 个失效事件分别在时刻 1, 3, 7(×), 12 发生,则:
- \(t=1\),对象 1 发生失效事件,其余对象存活,且对象 1 发生失效事件的可能性最大,即 \(\max{\frac{h(1,X_1)}{h(1,X_2)+h(1,X_3)+h(1,X_4)}}\);
- 同理,\(t=3\),\(\max{\frac{h(3,X_2)}{h(3,X_3)+h(3,X_4)}}\);
- \(t=7\) 为删失数据,不记录;
- \(t=12\) 时,无存活对象,分母不存在了,因此每一项的分母添加一个分子项。
\[ \begin{align} L_p(beta)=&\prod_{i=1}^3L_i\\ =&\frac{h(1,X_1)}{h(1,X_1)+h(1,X_2)+h(1,X_3)+h(1,X_4)}\times\\ &\frac{h(3,X_2)}{h(3,X_2)+h(3,X_3)+h(3,X_4)}\times\frac{h(12,X_4)}{h(12,X_4)}\\ =&\frac{\exp{(\beta\cdot X_1)}}{\exp{(\beta\cdot X_1)}+\exp{(\beta\cdot X_2)}+\exp{(\beta\cdot X_3)}+\exp{(\beta\cdot X_4)}}\cdot\\ &\frac{\exp{(\beta\cdot X_2)}}{\exp{(\beta\cdot X_2)}+\exp{(\beta\cdot X_3)}+\exp{(\beta\cdot X_4)}}\cdot\frac{\exp{(\beta\cdot X_4)}}{\exp{(\beta\cdot X_4)}} \end{align} \]
因此,对于 m 个失效事件,n 个完全数据,部分似然函数为: \[ L_p(\beta)=\prod_{i=1}^n\frac{\exp(\beta\cdot X_i)}{\sum_{j:t_j\geq t_i}\exp(\beta\cdot X_j)} \] 对数部分似然函数为: \[ \ln{(L_p(\beta))}=\sum_{i=1}^n\bigg[\beta\cdot X_i-\ln{\big(\sum_{j:t_j\geq t_i}\exp(\beta\cdot X_j)\big)}\bigg] \] 可利用梯度下降法等方法学习 \(\beta\)。
Accelerate Failure Time Model (AFT)
参数模型,做回归。