假设 T T T 为失效时间, x x x 为协变量,加速失效(accelerate failure time)模型的假设是,一个人的生存时间等于人群基准生存时间 * 这个人的加速因子,其数学形式如下:
T = t ∗ e θ ⋅ x , t = e μ + σ ∗ W T=t * e^{\theta \cdot x},\ t=e^{\mu + \sigma*W} T=t∗eθ⋅x, t=eμ+σ∗W
常见形式还包括:
S ( t ∣ x ) = S 0 ( t ∗ e θ ⋅ x ) S(t|x)=S_0(t*e^{\theta \cdot x}) S(t∣x)=S0(t∗eθ⋅x)
Y = l o g ( T ) = μ + γ ⋅ x + σ ∗ W Y=log(T)=\mu + \gamma \cdot x + \sigma * W Y=log(T)=μ+γ⋅x+σ∗W
其中人群的基准生存时间 t t t服从某个概率分布, W W W也是服从某个概率分布的随机变量。常见分布如下:
t t t | W W W |
---|---|
Weibull | 极值分布 |
log-normal | 正态 |
log-logistic | Logistic |
从上面的数学形式可以看出,某个人的生存时间受基准生存时间和加速因子的影响的,而基准生存时间为研究中所有人共有,加速因子则与该人与研究目标相关的协变量相关。
所以,很显然,该模型需要估计的参数为与基准生存时间分布相关的参数 μ , σ \mu,\sigma μ,σ,以及和协变量相关的系数 θ \theta θ。
参数符号说明:
考虑只有右删失情况的数据 { ( T i , C i ) : i = 1 , 2 , . . . , n } \{ (T_i, C_i):i=1,2,...,n\} {(Ti,Ci):i=1,2,...,n},其中 T i T_i Ti表示第 i i i个病人的存活时间, C i C_i Ci表示第 i i i个病人的生存状态。则由极大似然估计可得:
L = ∏ i = 1 n f i ( T i ) C i S i ( T i ) 1 − C i L=\prod_{i=1}^{n}{f_i(T_i)}^{C_i}{S_i(T_i)}^{1-C_i} L=i=1∏nfi(Ti)CiSi(Ti)1−Ci
其中, f i f_i fi函数表示第 i i i个病人死亡时间的概率密度函数, S i S_i Si函数表示第 i i i个病人生存函数,注意生存分析中 f ( t ) = − S ′ ( t ) f(t)=-S^{'}(t) f(t)=−S′(t)。
而基准生存时间 t t t的概率分布已知,且 T i = t ∗ e θ ⋅ x T_i=t*e^{\theta \cdot x} Ti=t∗eθ⋅x,所以我们很容易得到 f i f_i fi 与 S i S_i Si 的表达式,进而写出极大似然估计量 L L L。
然后通过优化算法估计参数,一般是最小化目标函数 − l o g ( L ) -log(L) −log(L)。
R中的survreg
函数使用log转化拟合AFT模型:
survreg.fit = survreg(formula, data=, dist="weibull", ...)
其中
formula
是关于转化后的生存时间 I n ( T ) In(T) In(T)的表达式;dist
是假设 T T T所服从的概率分类类型, 包括”weibull”, ”exponential”, ”gaussian”, ”logistic”, ”lognormal” 和”loglogistic”.拟合后的模型:
survreg.fit$coef
;survreg.fit$var
;survreg.fit$icoef
;residuals(survreg.fit, type=)
;当死亡时间服从Weibull分布时,可以推导出如下内容: