用R语言用生存资料做基于radiomic(影像组学)的生存分析

2023-12-18 00:48

本文主要是介绍用R语言用生存资料做基于radiomic(影像组学)的生存分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近写好了一篇肿瘤二区SCI,具体就不透露了,来跟大家分享一下经验,觉得好的可以留言哈。本文内不懂得可以留言我们一起讨论,很多词在

前面的文章中已经写了。

要想做基于影像组学的生存分析,肯定是离不开和医院的合作,因为你要拿数据啊,医院出数据,你提供算法,俩人共同第一作者……下面以预测某癌症手术后的复发为目的,按处理顺序来讲一下这个大概是要怎么做。(这里生存终点是指复发,生存时间是治疗开始到复发或者删失)

  • 拿数据

拿数据之前,你要和医生商量好对数据做怎么样的标定,如按照你的生存终点,对文件夹分类放置病例。另外随访信息也要处理好,主要是用那些临床因子很完整的病人。这一步没做好,后面会很头疼的。另外说一下,有文献指出,做生存分析时,发生终点事件的样本越多越好,即删失数目越少越好,最好是删失数小于30%,当然,如果你的结果够好,这都不是问题。

 

  • 提取radiomic特征

这一步我推荐大家会python的用pyRadiomics,不会用的就用3DSlicer的同名插件。这是哈佛医学院出的用来提取组学中常用的一些特征(强度,纹理,形状,小波等),很全面,文档也很规整,只是现在只能用nrrd格式的数据,对dicom支持的不好,因为dicom需要处理复杂的文件头,当然自己写得提特征程序就更好。

 

 

  • 分训练集和验证集

数据量少就别分训练验证集了,最好用交叉验证,做内部验证。数据量多(比如大于100),你可以按照2:1或者1:1的方法随机分训练验证集。

 

  • 特征降维

 

提取完组学特征,你会发现一个病人就有几百个特征,而你的数据量一般都是小于特征数量的,这样你就需要对特征进行降维,选用合适的降维方法非常重要,常用的方法是基于主成分分析的方法或者Cox模型加上惩罚项。

 

  • 建模

选用适当的用于生存分析的模型,具体你可以上WOS搜radiomic survival analysis关键字,一大堆文献,找分高的,看看人家用什么模型,站在前

 

人的肩膀上走得更快,这句话在哪都没错。可以用随机生存森林或者Cox风险比例回归模型,是比较常用的。随机森林推荐使用R包:randomForestSRC

将降维之后的特征,一般这就是和终点事件高度相关的特征,代入模型,得到每个病人发生终点事件的风险(或者叫做可能性,可用predict函数得到),

组学中有一个高大尚的名字,叫做“组学标签 radiomic signature”。

 

  • 分高低风险组

 

在训练集上用模型拟合数据之后,对工科生来讲不难理解,就是再用模型对验证集上每个病人做一个预测,其实就是表示这些病人复发的可能性有

多大,就像Cox回归里面的PI用于对每个病人做预后打分,是类似的。之后的事情就是在验证集上分析了。因为之前我们得到了每个病人发生终点事件的

可能性(模型预测的值),根据这个值,我们取一个cutoff(大部分文献中是用的是训练集中病人预测值的中值,然后也用于验证集),分别把训练集和

验证集的病人分成两组,也就是常见的高低风险组(High/Low risk group)。

 

  • 做K-M曲线

分别在训练集和验证集做K-M曲线,分析高低风险组病人的生存率是否有差别。这里需要使用log-rank(又叫时序检验)假设检验来判断两组生存

率是否有统计学差异。通常问题的零假设是“两组病人生存率的分布在组学标签这一特征上相同”,若log-rank得到的p值小于0.05,则说明可以通过组学

标签将病人分开,分开的高低风险组的两组病人有统计学差异,这就是我们想要的结果——组学标签可以作为一个有效的biomarker。推荐包survival

以上这些已经够随随便便发一个中文期刊了,要想进一步证明组学标签的有效性,还要进行单因素和多因素分析,并且要根据实际问题做更进一步

的分析,以及检验模型的预测能力。

最近找工作,更多的分析等有时间再写。

哦对了,R语言推荐使用Rstudio 装各种包就是一个命令的事情。更详细的参考PPT

 

 

这篇关于用R语言用生存资料做基于radiomic(影像组学)的生存分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/506464

相关文章

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

MOLE 2.5 分析分子通道和孔隙

软件介绍 生物大分子通道和孔隙在生物学中发挥着重要作用,例如在分子识别和酶底物特异性方面。 我们介绍了一种名为 MOLE 2.5 的高级软件工具,该工具旨在分析分子通道和孔隙。 与其他可用软件工具的基准测试表明,MOLE 2.5 相比更快、更强大、功能更丰富。作为一项新功能,MOLE 2.5 可以估算已识别通道的物理化学性质。 软件下载 https://pan.quark.cn/s/57

衡石分析平台使用手册-单机安装及启动

单机安装及启动​ 本文讲述如何在单机环境下进行 HENGSHI SENSE 安装的操作过程。 在安装前请确认网络环境,如果是隔离环境,无法连接互联网时,请先按照 离线环境安装依赖的指导进行依赖包的安装,然后按照本文的指导继续操作。如果网络环境可以连接互联网,请直接按照本文的指导进行安装。 准备工作​ 请参考安装环境文档准备安装环境。 配置用户与安装目录。 在操作前请检查您是否有 sud

线性因子模型 - 独立分量分析(ICA)篇

序言 线性因子模型是数据分析与机器学习中的一类重要模型,它们通过引入潜变量( latent variables \text{latent variables} latent variables)来更好地表征数据。其中,独立分量分析( ICA \text{ICA} ICA)作为线性因子模型的一种,以其独特的视角和广泛的应用领域而备受关注。 ICA \text{ICA} ICA旨在将观察到的复杂信号

C语言 | Leetcode C语言题解之第393题UTF-8编码验证

题目: 题解: static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num & MASK1) == 0) {return

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

如何确定 Go 语言中 HTTP 连接池的最佳参数?

确定 Go 语言中 HTTP 连接池的最佳参数可以通过以下几种方式: 一、分析应用场景和需求 并发请求量: 确定应用程序在特定时间段内可能同时发起的 HTTP 请求数量。如果并发请求量很高,需要设置较大的连接池参数以满足需求。例如,对于一个高并发的 Web 服务,可能同时有数百个请求在处理,此时需要较大的连接池大小。可以通过压力测试工具模拟高并发场景,观察系统在不同并发请求下的性能表现,从而