生存分析
- 今天用到了生存分析,但生存分析好久之前才学的,有点忘了,所以再学一遍,顺便记录下
基本概念
- 生存分析不一定要分析死亡,可以把某些时间当作感兴趣的事件(event)。这里用HIV作为例子。
1 | library(speff2trial) |
- 删失(censoring):没办法观察到事件(event)
- 比如观察时间已经到了,事件还没有发生
- 观察期内,个体退出了,没法观察了
- 事件在某个时段内发生了,但不知道具体是啥时候
- 截断(truncation):
- 每个事件的开始(时间起点)在观察期之前,那么就不知道真正的生存时间
- 生存函数,$T^{}$是生存时间(如HIV的感染时间)。假设$T^ \sim f(t), F(t)$,那么有生存函数$S(t) = 1- F(t)$
- 风险函数,有的教材用$h(t)$代替$\lambda(t)$
- 期望存活时间
- Restricted mean Survival time on $[0, t]$
Kaplan-Meier(Product limit) Estimator of S(t)
- 用KM的方法估计$S(t)$
- 假设有观察值$\{ (T_i, \sigma_i), i = 1, \dots, n \}$,其中$T_{i}=\left\{\begin{array}{ll}
T_{i}^{} & \sigma_{i}=1 \\
C_{1}^{} & \sigma_{i}=0
\end{array}\right.$ - 这里的$T_i$是观察到的生存时间,$T_i^$是真实的生存时间,$C_i^$是删失之前的观察到的生存时间,$\sigma_i$指第$i$个是否删失
以后补个图
Nelson-Aalen Estimator of $\Lambda(t)$
$\hat{S(t)}$和$\hat{\Lambda(t)}$的方差估计
log rank test
- 这个检验,用于检查生存曲线是否相互独立。它类似于卡方检验
1 | Y = Surv(time = , event = ) |
混淆与交互
- 混淆
- 交互
- 解决方法:
生存模型
- Weibull模型
- log-logistic模型
- Accelerated Failure Time(AFT加速失效模型)
- cox模型
1 | fit = coxph() |