加速失效(AFT)模型
假设
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 θ。
参数符号说明:
- γ = − θ \gamma = -\theta γ=−θ
- θ \theta θ 称作加速系数,而 γ \gamma γ 常常被称为回归系数
参数估计与推断
考虑只有右删失情况的数据
{
(
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中的用法
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”.
拟合后的模型:
- 系数
μ
,
γ
\mu,\gamma
μ,γ:
survreg.fit$coef
; - 方差矩阵:
survreg.fit$var
; - 基准模型参数
μ
,
l
o
g
σ
\mu, log \sigma
μ,logσ:
survreg.fit$icoef
; - 模型诊断,残差分析:
residuals(survreg.fit, type=)
;
T服从Weibull分布
当死亡时间服从Weibull分布时,可以推导出如下内容: