【生存分析】参数模型 - 加速失效(AFT)模型

加速失效(AFT)模型

假设 TT 为失效时间,xx 为协变量,加速失效(accelerate failure time)模型的假设是,一个人的生存时间等于人群基准生存时间 * 这个人的加速因子,其数学形式如下:
T=teθx, t=eμ+σWT=t * e^{\theta \cdot x},\ t=e^{\mu + \sigma*W}
常见形式还包括:
S(tx)=S0(teθx)S(t|x)=S_0(t*e^{\theta \cdot x})
Y=log(T)=μ+γx+σWY=log(T)=\mu + \gamma \cdot x + \sigma * W

其中人群的基准生存时间tt服从某个概率分布,WW也是服从某个概率分布的随机变量。常见分布如下:

tt WW
Weibull 极值分布
log-normal 正态
log-logistic Logistic

从上面的数学形式可以看出,某个人的生存时间受基准生存时间和加速因子的影响的,而基准生存时间为研究中所有人共有,加速因子则与该人与研究目标相关的协变量相关。

所以,很显然,该模型需要估计的参数为与基准生存时间分布相关的参数 μ,σ\mu,\sigma,以及和协变量相关的系数 θ\theta

参数符号说明

  • γ=θ\gamma = -\theta
  • θ\theta 称作加速系数,而 γ\gamma 常常被称为回归系数

参数估计与推断

考虑只有右删失情况的数据 {(Ti,Ci):i=1,2,...,n}\{ (T_i, C_i):i=1,2,...,n\},其中TiT_i表示第ii个病人的存活时间,CiC_i表示第ii个病人的生存状态。则由极大似然估计可得:
L=i=1nfi(Ti)CiSi(Ti)1CiL=\prod_{i=1}^{n}{f_i(T_i)}^{C_i}{S_i(T_i)}^{1-C_i}
其中,fif_i函数表示第ii个病人死亡时间的概率密度函数,SiS_i函数表示第ii个病人生存函数,注意生存分析中 f(t)=S(t)f(t)=-S^{'}(t)

而基准生存时间tt的概率分布已知,且 Ti=teθxT_i=t*e^{\theta \cdot x},所以我们很容易得到 fif_iSiS_i 的表达式,进而写出极大似然估计量 LL

然后通过优化算法估计参数,一般是最小化目标函数 log(L)-log(L)

R中的用法

R中的survreg函数使用log转化拟合AFT模型:

survreg.fit = survreg(formula, data=, dist="weibull", ...)

其中

  • formula 是关于转化后的生存时间In(T)In(T)的表达式;
  • dist 是假设TT所服从的概率分类类型, 包括”weibull”, ”exponential”, ”gaussian”, ”logistic”, ”lognormal” 和”loglogistic”.

拟合后的模型:

  • 系数μ,γ\mu,\gammasurvreg.fit$coef
  • 方差矩阵:survreg.fit$var
  • 基准模型参数 μ,logσ\mu, log \sigmasurvreg.fit$icoef
  • 模型诊断,残差分析:residuals(survreg.fit, type=)

T服从Weibull分布

当死亡时间服从Weibull分布时,可以推导出如下内容:

【生存分析】参数模型 - 加速失效(AFT)模型
【生存分析】参数模型 - 加速失效(AFT)模型