IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> R语言进行COX时变系数模型(含时间依存协变量的Cox回归模型) -> 正文阅读

[人工智能]R语言进行COX时变系数模型(含时间依存协变量的Cox回归模型)

我们在临床研究中,经常要研究疾病与生存率的关系,cox回归是用得比较常见的模型之一。Cox 比例风险模型依赖于风险随时间变化的假设(PH假设),意思是协变量对结局的影响随着时间变化是固定的。然而现实中常有不满足于PH假设的情况。如文章:All-cause and cause-specific mortality associated with diabetes in prevalent hemodialysis patients中报道了一个人的糖尿病状态可能会随着时间而变化,尿毒症患者肾功能随着时间变化加重,因此Cox 比例风险模型用在此处不合适,我们可以选用COX回归模型的扩展,一般有两种内在和外部,见下图
在这里插入图片描述
第一种我们可以看到时间t和X有关系,对系数β没什么影响,第二种可以看到时间t对β有影响,随着时间变化β是不同的,即系数是不同的。
对于第一种情况比较少见,今天我们主要来聊聊第二种情况,系数β随时间变化的cox时变系数模型(什么叫法都有,原理大概就是这个意思),使用的是survival包自带的肺癌数据集,我们先导入R包和数据

library(survival)
lung<-lung

在这里插入图片描述
我们先来看一下数据,inst机构代码,time以天为单位的生存时间,status:结局变量,1为死亡0为存活,age: 年龄,sex: 男=1 女=2,ph.ecog: 由医师评定的 ECOG 表现评分。 0 = 无症状,1 = 有症状但完全不卧床,2 = 卧床时间 < 50%,3 = 卧床时间 > 50% 但不卧床,4 = 卧床,ph.karno: 由医师评定的 Karnofsky 表现评分(差=0-好=100),pat.karno: 由患者评定的 Karnofsky 性能评分,meal.cal: 用餐时消耗的卡路里,wt.loss: 过去六个月的体重减轻(磅)
我们先来拟合一个cox模型

fit2 <- coxph(Surv(time, status) ~age +ph.karno+sex,data=lung)

survival包自带的cox.zph函数可以用于PH假设的检查

zph <- cox.zph(fit2)
zph

在这里插入图片描述
我们可以看到ph.karno的P值小于0.05,表明ph.karno没有通过PH假设,全局显着性检验给出的 P 值 (0.0157) 表明模型缺乏拟合。我们可以通过plot函数对ph.karno这个变量进行可视化

plot(zph[2],lwd=2)
abline(0,0, col=1,lty=3,lwd=2)
abline(h= fit2$coef[2], col=3, lwd=2, lty=2)
legend("bottomright",
         legend=c('Reference line for null effect',
                  "Average hazard over time",
                  "Time-varying hazard"),
         lty=c(3,2,1), col=c(1,3,1), lwd=2)

在这里插入图片描述
其中黑色虚线表示系数为0,就是ph.karno无效的情况,绿色虚线表示的是ph.karno的平均效应值,我们可以看到均线和实际背离是相当大的,因此这个情况使用cox.zph 函数来处理是非常恰当的。
对时变系数建模的一种方法是使用阶跃函数,例如 (g(t) = I ( t ≥ t o )),其中t o是指定值。这种方法的想法是将分析时间分成几个区间,并为这些时间区间分层 Cox 比例模型。随着时间的推移,固定基线协变量的影响会变得更强或更弱,这可以通过时间分层来探索。我们可以看到ph.karno大约在180和350左右有两个转折,我们可以使用survSplit函数进行分段,

lung.split <- survSplit(Surv(time, status) ~ .,
                        data= lung, cut=c(180, 350),
                        episode= "tgroup", id="id")

这样我们就多了一个新指标tgroup,如下图
在这里插入图片描述
新指标tgroup对time的时区进行了划分,被分割成 (0, 180), (180, 350) 和 (350, 455) 的区间,tgroup=1 标识第一个时间间隔(0, 180),tgroup=2 标识第二个时间间隔(180, 350),3就是(350, 455)
现在我们把lung.split这个数据拿来重新进行模型拟合,建立一个ph.karno和tgroup的交互分层

fit.split <- coxph(Surv(tstart, time, status) ~
                       age + ph.karno:strata(tgroup)+
                       sex,
                     data=lung.split)
fit.split

在这里插入图片描述
我们可以看到tgroup=1的时候ph.karno是P是有意义的,HR=0.965594,其他时候就不行了,我们从新使用cox.zph函数进行PH假设评估

cox.zph(fit.split)

在这里插入图片描述
这次全部通过PH假设了,GLOBAL=0.2(大于0.05)表明模型是拟合的。
另一种方法是通过使用用户指定的参数连续函数来构造一个交互项,在 coxph() 函数中,有一个tt参数来指定时间的具体变换。在本例中,tt函数定义为“tt = function(x, t, …) x * log(t+20)”,其中 x 是具有时变效应的固定协变量,t是分析时间。tt() 函数应用于变量ph.karno。模型公式中的karno为“tt(ph.karno)”,为什么是log(t+20),依据参考文献的说法是选择在log(t+20)之上用cox.zph图的时间尺度,使得该图的前200天大致呈线性。

fit.tt <- coxph(Surv(time, status) ~
                  age + ph.karno + tt(ph.karno)+ sex,
                data=lung,tt = function(x, t, ...) x * log(t+20))
fit.tt

在这里插入图片描述
ph.karno 和 tt(ph.karno) 的系数都具有统计显着性,这意味着 ph.karno 的影响随时间而变化。ph.karno 的时变效应可以写为 β(t) = -0.098+0.015×log( t + 20)。
我们可以使用 abline() 函数在 ph.karno 对生存的时变影响的 cox.zph 图中添加一条线。

zph.tt <- cox.zph(fit2,
                    transform=function(t) log(t+20))
plot(zph.tt[2])
abline(coef(fit.tt)[2:3], col=2)

在这里插入图片描述
在有些文章中使用的是HR并非系数(如下图),如文章:All-cause and cause-specific mortality associated with diabetes in prevalent hemodialysis patients
在这里插入图片描述
我们也可以转换一下
在这里插入图片描述
也可以添加一条有意义的参考线,至于什么是有意义的需要你自己研究了
在这里插入图片描述
我们也可以使用timereg 包研究时变系数,timereg包附带的 timecox() 函数能够拟合具有时间固定和时变系数的 Cox 模型。时变效应通过重采样方法进行测试,想了解原理的请看参考文献。

library(timereg)
fit.out <- timecox(Surv(time,status)~
                       age+sex+ph.karno,
                     data=lung,n.sim=500,
                     max.time=700)
summary(fit.out)

在这里插入图片描述
输出的第一个表显示了非显着效应检验的结果(例如,原假设表明被检验的系数与 0 没有显着差异),这表明sex和ph . karno对生存结果有显着影响。第二个表显示了时间不变效应的检验。Kolmogorov-Smirnov 检验和 Cramer von Mises 检验都用于检验时不变效应,ph.karno 的效果不是固定时间的。

par(mfrow=c(2,2))
plot(fit.out)

在这里插入图片描述
ph.karno在开始时很陡,然后在大约 250 之后变平。变量年龄没有显着影响,因为置信区间与零效应参考线相交。变量性别有显着影响,但不能拒绝时不变效应的原假设。通过 const() 函数将性别和年龄设置为时间固定效应变量。

fit.const <- timecox(Surv(time,status)~
                         const(age)+const(sex)+ph.karno,
                       data=lung,n.sim=500,
                       max.time=700)
summary(fit.const) 

在这里插入图片描述
年龄和性别的常数效应分别为 0.0135 和 -0.6210。

par(mfrow=c(1,2))
plot(fit.const)

在这里插入图片描述
参考文献:

  1. Thomas L, Reyes EM. Tutorial: Survival Estimation for Cox Regression Models with Time-Varying Coefficients Using SASand R. Journal of Statistical Software 2014;61:1-23. 10.18637/jss.v061.c01
  2. Terry Therneau, Cynthia Crowson, Elizabeth Atkinson. Using Time Dependent Covariates and Time Dependent Coecients in the Cox Model. November 26, 2018
  3. Gray’s Time-Varying Coefficients Model for Posttransplant Survival of Pediatric Liver Transplant Recipients with a Diagnosis of Cancer
  4. Zhang Z, Reinikainen J, Adeleke KA, Pieterse ME, Groothuis-Oudshoorn CGM. Time-varying covariates and coefficients in Cox regression models. Ann Transl Med. 2018 Apr;6(7):121. doi: 10.21037/atm.2018.02.12. PMID: 29955581; PMCID: PMC6015946.
  5. Tian L, Zucker D, Wei LJ. On the Cox Model With Time-Varying Regression Coefficients. Harvard University Biostatistics Working Paper 2005;100:172-83.
  6. Adeleke KA, Abiodun AA, Ipinyomi RA. Semi-parametric non-proportional hazard model with time varying covariate. Womens Health Journal 2015;14:68-87
  7. Ren Y, Chang CC, Zenarosa GL, Tomko HE, Donnell DM, Kang HJ, Roberts MS, Bryce CL. Gray’s time-varying coefficients model for posttransplant survival of pediatric liver transplant recipients with a diagnosis of cancer. Comput Math Methods Med. 2013;2013:719389. doi: 10.1155/2013/719389. Epub 2013 May 12. PMID: 23762197; PMCID: PMC3665233.
  8. Sattar A, Argyropoulos C, Weissfeld L, Younas N, Fried L, Kellum JA, Unruh M. All-cause and cause-specific mortality associated with diabetes in prevalent hemodialysis patients. BMC Nephrol. 2012 Oct 1;13:130. doi: 10.1186/1471-2369-13-130. PMID: 23025844; PMCID: PMC3519533.
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章           查看所有文章
加:2022-09-15 02:00:48  更:2022-09-15 02:03:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 18:26:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计