Survival Analysis
一、基本概念:
- survival time 生存时间
- 复发事件: 住院 好了 住院 好了 住院 挂了
- 竞争风险: 有多种原因中的一个导致了时间的结束(死亡) 如并发症
- Multistate Model: 多状态模型,
如 illness-death model:自己画一下!
censoring 删失数据:知道生存时间(survival time)的部分信息,但不知道确切的生存时间
Right-censored : Survival time > observed time
left-censored : Survival time < observed time
interval-censored 生存时间在某个区间内
- 左截断 : 生存时间需要足够长才能造成左截断! 此时的样本并非随机且无偏的,因为:例如对艾滋病的研究,可能会遗漏哪些感染了艾滋病并很快死亡的样本。
这被称为: biased sample 幸存者偏差
两个重要的函数
- 对连续的 : 生存函数(单调不增)
- 风险函数:
即:
反过来,
对删失的假设: 用 表示删失
1、 Random censoring : 生存时间和删失独立
2、 独立删失假设:
对得到的数据, 是个体i的观测值
令: event occurred,
右删失的数据长这样:
二、对生存函数和风险函数的非参数估计:
预备数学知识
注: 累积风险函数:
- 生存函数可以由累积风险函数表示
- why?
非连续 :
- 生存函数
- 风险函数:一个个体活到 那么 未发生事件,而在 这个时间点发生事件的概率:
注:
这里的
此外,
注:
注:
Kaplan-Meier Estimator of S(t)
: 在时间点发生的时间
在时间段 删失的数据
为时间段之前处于风险中的事件个数
风险集:
当处于时间原点的时候, 用似然函数的方法推导K-M estimator:
Nelson-Aalen Estimator of
首先,风险的估计: 在时间点 而:
这就是 Nelson-Aalen 估计
variance Estimator of and
给定风险集,
它的点估计是:
and 所以:
从而:
当 很大, 很大时,渐进正态,即:
从而
上式中有用到
example k-M估计
例: 数据: 24+,16+,8,19,10,8+,5,17,20,10
重排: 5,8,10,16,17,19,20,24
Time | At risk | Died | censored | Survival Rate | Estimator |
---|---|---|---|---|---|
是否删失 | 1- | ||||
0 | 10 | 0 | 0 | 1-0=1 | 1 |
5 | 10 | 1 | 0 | ||
8 | 9 | 1 | 1 | ||
10 | 7 | 2 | 0 | ||
16 | 5 | 0 | 1 | 1-0=1 | |
17 | 4 | 1 | 0 | ··· | ··· |
··· | ··· | ··· |
客观比较两条或多条生存曲线的差异:是否统计显著? log-rank test 对数秩检验
Note: Median Survival time : kk2012 P30 这个也挺重要!
R code: kk2012 P625-629
三、 Nonparametric Test of Survival Differences:
Log-Rank Test (非参数方法)
用以检验分布函数是否相同,而我们知道: 所以等价于生存函数是否相同
上课虽然确实讲了手算公式,但是应该不会真的让手算吧hhh:
推广: stratified Log-Rank Test 不同组别的S(t)不同
新的检验统计量:
如何分层:
weighted Log-Rank Test 一般为两个生存曲线有交叉时使用
例如:某新药在服用初期较显著,但过了一段时间药效一般,这时候用weighted Log-Rank Test,p=1 能检测出该药比安慰剂有效,如果采取标准 Log-Rank Test则可能得出该药与安慰剂差不多的结论~
四、混淆(Confounding)和交互项(Interaction) 效应
混杂: 例如 辛普森悖论 中的性别
In summary, we should stratify on "gender" in stratified analysis; we should adjust for "gender" in regression analysis.
特别的,当C是一个类别变量时, 例如:(two groups : A=1,A=0) ,分层/回归 的方法用来消除混杂效应 是必要的。
例子3: 白血病 logWBC kk2012P30
一个不需要考虑混杂的 Randomization 随机化 A和X独立
其实,混杂问题应该在试验设计时被处理,而非在数据分析阶段(被处理) 例如: a double-blinded randomized clinical trial
NOte: 并非任何时候都能做到 Randomization 例如 e.g. kk2012P30 不能随机分配到吸烟/非吸烟组 吸不吸烟不由我们决定。
Interaction Effect
交叉项(e.g. )的存在是否有必要?
1、 KM-plot in all strata
2、stratified log-rank test ; log-rank test in all strata
3、 cox regression
4、stratified cox regression
注: stratification uses less assumption than regression, but requires more data to perform well.
五、Survival Model 的简单介绍:
指数模型 Exponential Model
i.e.
survival function & hazard function :
Weibull Model
其中
weibull model:
可以看出,p=1时是指数模型
Log-logistic Model
then:
以后讨论
Log-normal Model (印象里没讲?)
i.e. ? ;
we let :
?
令 那么: where
这也是一种加速失效模型,详见下:
Accelerated Failure Time Model 加速失效模型
model: 其中 W 是随机误差项 ;
对数生存时间 ,(if )
weibull model is a special case of AFT models: √ 指数模型 ,log-normal 也是特殊的AFT
而log-logitic 属于 proportional odds 等比例比值模型 。
为什么叫加速失效?加速因子是什么?
简单分析,令 且 X=1代表接受治疗,treatment,X=0 则为安慰剂placebo
例如: 从而trt相比placebo会加速失效,且中位数生存时间trt组是placebo组的一半! 其实是一个道理 : ↑trt组的病人会更快的发生事件。
我们把 叫做加速因子√
Cox Model
模型如下:
其中 称为基准风险函数, 即:
Hazard ratio(HR) 风险比:
so: one unit increase of will change the Hazard function to
i.e.
同样的,对两个数据 它与时间t无关,这也是为什么cox模型被称为 等比例风险模型(cox proportional hazards model)
不同于参数化的模型,cox模型不限制风险函数的形状。cox模型没有截距项(相比于其他模型)
Connection of Cox Model and AFT Model
六、生存分析模型的似然估计:*
生存分析: 密度函数 风险函数: 生存函数:
in weibull model:
in AFT model:
in Cox model:
我们要做的就是估计 go!!
延用之前的符号:
random censoring 假设
从而: (1)
Note: 后面那个P是删失时间的生存函数,其中是随机变量,而此时是观测值
同理:
(2)
接下来是似然函数:*
对右删失数据(我们目前主要就关心右删失) 其似然函数:
由(1)(2) 两式子:
后三者是不含有的,因此,当我们取对数似然函数并求导研究其极值时,会消失,可以认为:
(3)
更神奇的是,还记得:
而(3)式 (4)
其中 是时间u的风险集;似然函数可以由风险函数写出↑
极大似然估计及其性质:
对(4)取对数并求 ; 因为对是凸函数,肯定存在唯一确定的全局最大值,由牛顿迭代法可以求得数值解:
迭代停止条件: so,少年,选择合适的初值,开始迭代吧(不是)
理论上,e.g. Weibull model:
由(4)
然后你就分别对求导让他们等于0呗~ 数值解还是需要牛顿迭代法
MLE的性质:
是 Fisher信息矩阵
! under wald test
score test r是的维数
- likelihood ratio test
Cox 的偏似然函数方法*
只关心 而不管
后面那个等式是因为cox模型
其中: 是时间点t的风险集。