【生存分析】参数模型 - 加速失效(AFT)模型
加速失效(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分布时,可以推导出如下内容:
【生存分析】参数模型 - 加速失效(AFT)模型相关推荐
- R语言生存分析模型因果分析:非参数估计、IP加权风险模型、结构嵌套加速失效(AFT)模型分析流行病学随访研究数据
最近我们被客户要求撰写关于生存分析的研究报告,包括一些图形和统计输出.理解世界,我们可以从相关性的角度去描述,统计,机器学习,很多问题都是从相关的角度去描述的.我们去构建一个模型,不管是统计机器学习模 ...
- R语言构建生存分析(survival analysis)模型示例
R语言构建生存分析(survival analysis)模型示例 生存分析处理的是预测特定事件将要发生的时间.它也被称为失败时间分析或死亡时间分析.例如,预测癌症患者存活的天数,或者预测机械系统将要失 ...
- R语言生存分析之COX比例风险模型构建及列线图(nomogram)、校准曲线(calibration curve)绘制示例
R语言生存分析之COX比例风险模型构建及列线图(nomogram).校准曲线(calibration curve)绘制示例 列线图(Alignment Diagram),又称诺莫图(Nomogram图 ...
- python数据分析案例-利用生存分析Kaplan-Meier法与COX比例风险回归模型进行客户流失分析与剩余价值预测
目录 1. 概述 1.1 背景 1.2 目的 1.3 数据说明 2. 相关概念 2.1 事件 2.2 生存时间 2.3 删失 2.4 生存概率 2.5 中位生存时间 2.6 风险概率 3. 数据处理 ...
- php 生存分析,生存分析与R--转载
生存分析与R 生存分析是将事件的结果和出现这一结果所经历的时间结合起来分析的一类统计分析方法.不仅考虑事件是否出现,而且还考虑事件出现的时间长短,因此这类方法也被称为事件时间分析(time-to-ev ...
- 一篇项目走进生存分析(Survival Analysis)的世界【Python版
转载自AI Studio 项目链接https://aistudio.baidu.com/aistudio/projectdetail/3410026 开篇语 生存分析在医学研究中占有很大的比例,而且进 ...
- 用lifelines进行生存分析【Python版】
开篇语 生存分析在医学研究中占有很大的比例,而且进行生存分析时,多用R语言.SPSS等工具进行生存分析,用python进行生存分析不多.因为发现一个python版的生存分析工具-lifelines , ...
- r语言npsurv_10生存分析+R语言代码surv.pdf
10生存分析R语言代码surv 生存函数和危险函数 生存分析数据的 Cox 回归模型 生存分析 R 软件陪同 吴喜之 December 20, 2014 . . . . . . . . . . . . ...
- 生存分析——KM生存曲线、hazard比例、PH假定检验、非比例风险模型(分层/时变/参数模型)(二)
文章目录 1 数据类型 1.1 删失数据 1.1.1 右删失 1.1.2 左删失 1.1.3 区间删失 1.2 完全数据(Complete data) 2 生存分析几个核心概念 2.1 生存概率 2. ...
最新文章
- swift_019(Swift 的类)
- python word排版_使用Python通过win32 COM实现Word文档的写入与保存方法
- HP ALM 使用经验
- C# 接口持有结构体会导致装箱问题
- 使内嵌式jetty服务器支持jsp
- 读书笔记_C#入门经典(第5版)第五章_变量的更多内容
- php_cawler_html嵌套标签清洗
- 服务器压力测试怎么做_做手游怎么选服务器?
- Java多线程——线程安全问题
- SQL SERVER 修改表字段长度
- 简单密码验证:重复的数字字母或连续的数字字母
- 流行手机谜语大解密 (爱情诗)
- License server system does not support this version of this feature
- 使用Jmeter输出错误响应结果到日志
- 2021年中国给水泵市场趋势报告、技术动态创新及2027年市场预测
- 算法设计与分析: 2-7 士兵站队问题
- 排序-------冒泡实现(Java实现)
- AFNetworking用法
- 赛尔号服务器维护时间4月27,赛尔号03月27日更新攻略汇总 瀚海界神重获新生
- 【算法基础】堆排序——O(nlogn)