当前位置:   article > 正文

ewma模型r语言loop_R语言生存分析Cox比例风险模型诊断

r语言判断cox回归需要满足的等比例风险假设

bba9ba49d3396ebf347ba1ef4b37f95f.png 欢迎关注医科研公众号,这里是白介素2的读书笔记:)跟我一起聊临床与科研的故事, 生物医学数据挖掘,R语言,TCGA、GEO,SEER数据挖掘。点 这里 跳转到原文,关注我藕~ 

30b75a01268b692cca6e5602b189da1e.gif

277e8651d8b3821feb4e9642d4bb50f8.png   Cox比例风险模型诊断  3136f745261330431df74d69f8133be6.png

Cox比例风险模型的建立是基于几个假设之上的,因此一般建好模型后需要进行诊断,评估拟合的模型是否能够用于描述数据。

诊断的内容包括:

  • 比例风险假定;

  • 模型影响点(异常值)识别;

  • 比例风险的对数值与协变量之间的非线性关系识别;

对上述三方面的诊断,常见的方法为残差法。

  • Schoenfeld 残差用于检验比例风险假定;

  • Deviance 残差用于影响点(异常值)识别;

  • Martingale残差用于非线性检验;

载入survival and survminer

library("survival")library("survminer")

计算cox模型

library("survival")res.cox res.cox## Call:## coxph(formula = Surv(timestatus) ~ age + sex + wt.loss, data = lung)## ##               coef  exp(coef)   se(coef)      z      p## age      0.0200882  1.0202913  0.0096644  2.079 0.0377## sex     -0.5210319  0.5939074  0.1743541 -2.988 0.0028## wt.loss  0.0007596  1.0007599  0.0061934  0.123 0.9024## ## Likelihood ratio test=14.67  on 3 df, p=0.002122## n= 214number of events= 152 ##    (14 observations deleted due to missingness)

检验比例风险假设-PH假设

  • PH假设可通过假设检验和残差图检验。正常情况下,Schoenfeld残差应该与时间无关,如果残差与时间有相关趋势,则违反PH假设的证据。残差图上的横轴代表时间,如果残差均匀的分布则表示残差与时间相互独立。

  • R语言survival包中的函数cox.zph函数提供简便的实现这一过程的方法

test.ph <- cox.zph(res.cox)test.ph##             rho chisq     p## age     -0.0483 0.378 0.538## sex      0.1265 2.349 0.125## wt.loss  0.0126 0.024 0.877## GLOBAL       NA 2.846 0.416
  • 从输出的结果看,三个协变量的P值都大于0.05,说明每个变量均满足PH检验,而模型的整体检验P值0.416也没有统计学意义,因此我们认为模型整体满足PH检验。

图形诊断

survminer包中的ggcoxzph()函数可以绘制每个协变量随时间变化的Schoenfeld残差图

ggcoxzph(test.ph)
2ce0dae7ae4ad93f42387d29b4b44326.png
image.png
  • 上图中实线是与曲线拟合的平滑样条曲线,虚线表示拟合周围的+/- 2标准误差带。

  • 没有与时间相关变化模式,个各个协变量满足风险比例假设

检验异常的的观测

  • 绘制Deviance残差图或者dfbeta值实现,以下选择dfbeta,改为deviance即残差图

  • survminer中的ggcoxdiagnostics()函数

ggcoxdiagnostics(res.cox, type = "dfbeta",                 linear.predictions = FALSE, ggtheme = theme_bw())
000d556c8b9f3a8645c1785fda44aefd.png
image.png

上图表示,将最大dfbeta值的大小与回归系数进行比较表明,没有一个观察结果是单独影响的,即使年龄和重量损失的某些dfbeta值与其他值相比较大。

非线性诊断- non linearity

  • 通常,我们假设连续协变量具有线性形式。但是,应该检验这个假设是否成立。使用连续协变量绘制Martingale残差是用于检测非线性的常用方法,或者换句话说,用于评估协变量的函数形式。对于给定的连续协变量,图中的模式可能表明变量不适合。

  • R语言survminer中的ggcoxfunctional()函数可以绘图

  • 例如我们检验age变量,可使用如下代码

ggcoxfunctional(Surv(timestatus) ~ age + log(age) + sqrt(age), data = lung)
d73ee394bcf56049532805d6af41531e.png
image.png
  • 结果显示,有一定程度的非线性存在

参考资料

(http://www.sthda.com/english/wiki/cox-model-assumptions)


相关阅读

R语言for循环-批量完成相关系数计算

cowplot-组图

R语言GEO数据挖掘-功能富集分析

GDCRNATools|ceRNA套路终结者Part1

TCGAbiolinks下载TCGA数据

R语言-临床三线表

SurvivalROC包绘制时间依赖的ROC曲线

R语言绘制ROC曲线

0

https://www.jianshu.com/p/d8e002de9fc3复制链接到浏览器打开可达我的简书博客。

本期的内容就到这里,我是老朋友白介素2,下期再见。

11bab23bf99f3fa7d9088225944e360f.png

扫码关注我

你来或不来,我就在那里

作者:白介素2 

往期系列推送:

想学R?从看R界传奇老司机的免费讲座开始吧

R语言概述

R入门教程之变量

专题 | R语言基础篇—列表,因子和数据框

专题 | R语言基础篇—矩阵

生存分析——R语言

“R”语言基础列之(一)——学渣也能搞定高大上的“R”语言啦

R语言基础系列之 (二) ————给我一个爱上你的理由

R软件基本操作,第三课 |【小白学R系列】

第四课~!安装 |【小白学R系列】

第五课 Packages |【小白学R系列】

第六课 R的内置数据集 |【小白学R系列】

第七课  送ncRNA数据库偶!|【小白学R系列】

第八课 R语言数据结构 |【小白学R系列】

第九课 向量的索引 |【小白学R系列】

第十课 向量的计算 |【小白学R系列】

第十一课   矩阵 |【小白学R系列】

第十二课  数组 |【小白学R系列】

第十三课  列表 |【小白学R系列】

第十四课 数据框 |【小白学R系列】

第十五课 因子 |【小白学R系列】

第十六课 缺失数据 |【小白学R系列】

第十七课  字符串 |【小白学R系列】

第十八课 时间日期处理 |【小白学R系列】

发送生信到本公众号(freescience联盟)后台,查看更多R系列推文~

b075f168989b0ba406c6f6139364995a.png

欢迎各位亲来稿分享学习心得、笔记~

来稿请发至邮箱:freescienceunion@sina.com

1) 稿件必须为原创,如有抄袭,导致法律纠纷由投稿人承担;

2) 字数:字数无要求,漫画形式也可;

3) 内容:生信方法、科研技巧、科研经验、实验方法,临床案例等,只要对科研学习有帮助,都在推送范围内。

注意:没有稿费,没有稿费,没有稿费……

本公众号暂时没有任何收入,推送均为编编组业余时间的分享ღ

00f30476878682364e3cb9a687058b0a.png

Freescience联盟QQ交流群:321950419

(点 这里 和 这里 认识我们哦~)

 这里 领我们整理的软件库

点 这里 查看sci文章润色服务

 这里 看R界传奇老司机直播录像

点 这里 进免费免安装的文献下载神器

点本文左下角的 阅读原文,手机端可关键词检索历史推送资料

5e45d005d8ed9a29f95993e416cd7516.png

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/132181
推荐阅读
相关标签
  

闽ICP备14008679号