• 今天用到了生存分析,但生存分析好久之前才学的,有点忘了,所以再学一遍,顺便记录下

基本概念

  • 生存分析不一定要分析死亡,可以把某些时间当作感兴趣的事件(event)。这里用HIV作为例子。
1
2
3
library(speff2trial)
library(survival) # 生存分析R包
data(ACTG175)
  • 删失(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()