我的两个医学数据分析技术思路

我的两个医学数据分析技术思路

从临床上获得的或者公共数据库数据这种属于观察性研究,是对临床诊疗过程中自然产生的数据进行分析而获得疾病发生发展的规律等研究成果。再细分,可以分为独立危险因素鉴定和预测模型构建两种。

独立危险因素鉴定是一直以来的研究内容,目的是研究疾病预后的影响因素或者开发诊断指标,早期是通过统计学和逻辑回归模型等方法进行研究;而预测模型构建是后来出现的,把多个独立危险因素集中起来共同对疾病结局进行预测或者诊断疾病,达到更好地诊断和治疗疾病的目的。

数据分析技术新的发展也给以上两部分内容带来了新的面貌,这里总结个人在这两方面的分析技术思路,供大家借鉴。

机器学习算法主导的独立危险因素鉴定

这里的机器学习主要是指xgboost等非线性模型,传统的是使用多因素逻辑回归作为独立危险因素鉴定的最终结果,线性模型事先假定变量之间的关系是线性的被认为可能造成了分析结果的不准确,所以现在用xgboost等非线性模型来克服这个缺点,但是非线性模型就没有象OR值这样能反映变量间关联强度的指标,等到SHAP分析这样可以解释模型的工具出现之后,机器学习算法主导的独立危险因素鉴定才形成套路。
技术思路:

  1. 变量信息表(传统的表1),展示变量的分布信息(平均值和标准差等)

  2. Boruta算法筛选变量,这是近年才流行的方法,微小的关联也能筛选出来,所以不担心遗漏有意义的变量。
    在这里插入图片描述

  3. 构建xgboost等非线性模型并展示模型效能,这里良好的模型性能代表所选择的变量与结局变量之间有良好的相关性,在这个前提下,后续的分析才是有价值的。
    在这里插入图片描述

  4. SHAP分析展示变量的整体贡献,可以选择排名靠前的变量或者所有的变量进行后续的分析;
    在这里插入图片描述

  5. SHAP分析展示单个变量随变量值变化其对结局变量贡献(某变量的SHAP值)的变化,结合立方样条曲线拟合确定关键的点(SHAP值为0时对应的点和shap值大于0的曲线上的拐点)
    在这里插入图片描述

  6. SHAP分析展示变量间的交互作用,展示变量间的交互作用。
    在这里插入图片描述

  7. 其它,可以加入传统的线性模型的分析方法以从不同方面展示独立危险因素;如果收集了同类变量,还可以比较同类变量之间与结局变量相关性的差异;如果得到的独立危险因素够多,可以进行预测模型的构建,否则也可以独立成文。

临床预测模型构建(从数据到应用)

临床预测模型在这里不多介绍。
技术思路:

  1. 变量的展示(表1)

  2. Boruta,Lasso等方法选择变量,传统的通过单因素分析p值的半自动方法应该淘汰了。
    在这里插入图片描述

  3. 模型构建和评价,评价包括内部评价和外部评价,ROC曲线和校准曲线等我们已经耳熟能详的指标。这里可以是单个模型,也可以是相似结局的一组模型。
    在这里插入图片描述

  4. SHAP分析等解释模型,这里以汇总结果为主,从整体评价变量对模型的贡献;
    在这里插入图片描述

  5. DCA分析,比较模型间的净收益以选择模型,或者变量间的净收益来评价变量;
    在这里插入图片描述

  6. 构建列线图或者预测模型APP,如果是APP,推荐融入SHAP分析的个体评价,对单个预测结果进行解释,可以展示变量当前值对预测结果的贡献,在临床实践中可以解析为当前患者的病因是什么;
    在这里插入图片描述

  7. 后续,确定后续的临床措施(预测模型阳性采取的检验或者治疗措施)并进行预测模型临床影响力评价(一般是随机对照试验)。

最后

当拿到一份数据,可以先做预分析,如果得到的相关变量较多,就可以做预测模型,如果不够多,就可以考虑独立危险因素分析。

个人感觉,数据分析类的研究关键在于数据,大样本,自己收集的,有特点的数据更容易做出有意义的研究。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/897101.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【YOLOv12改进trick】StarBlock引入YOLOv12,创新涨点优化,含创新点Python代码,方便发论文

🍋改进模块🍋:StarBlock 🍋解决问题🍋:采用StarBlock将输入数据映射到一个极高维的非线性特征空间,生成丰富的特征表示,使得模型在处理复杂数据时更加有效。 🍋改进优势🍋:简单粗暴的星型乘法涨点却很明显 🍋适用场景🍋:目标检测、语义分割、自然语言处理…

pyside6学习专栏(九):在PySide6中使用PySide6.QtCharts绘制6种不同的图表的示例代码

PySide6的QtCharts类支持绘制各种型状的图表,如面积区域图、饼状图、折线图、直方图、线条曲线图、离散点图等,下面的代码是采用示例数据绘制这6种图表的示例代码,并可实现动画显示效果,实际使用时参照代码中示例数据的格式将实际数据替换即可…

《今日AI-人工智能-编程日报》

1. 字节跳动发布AI编程工具Trae国内版 发布背景:字节跳动于2025年3月3日正式推出国内版AI编程工具Trae,这是国内首个AI原生集成开发环境(AI IDE),旨在提升开发者的编程效率与智能化体验。 核心功能: 搭载d…

doris: MySQL

Doris JDBC Catalog 支持通过标准 JDBC 接口连接 MySQL 数据库。本文档介绍如何配置 MySQL 数据库连接。 使用须知​ 要连接到 MySQL 数据库,您需要 MySQL 5.7, 8.0 或更高版本 MySQL 数据库的 JDBC 驱动程序,您可以从 Maven 仓库下载最新或指定版本的…

【LangChain】存储与管理对话历史

0. 代码演示 from langchain_community.chat_message_histories import SQLChatMessageHistorydef get_session_history(session_id):# 通过 session_id 区分对话历史,并存储在 sqlite 数据库中return SQLChatMessageHistory(session_id, "sqlite:///memory.d…

从0开始的操作系统手搓教程21:进程子系统的一个核心功能——简单的进程切换

目录 具体说说我们的简单RR调度 处理时钟中断处理函数 调度器 schedule switch_to 我们下面,就要开始真正的进程切换了。在那之前,笔者想要说的是——我们实现的进程切换简单的无法再简单了——也就是实现一个超级简单的轮询调度器。 每一个进程按照…

mysql新手常见问题解决方法总结

1. 安装与配置问题 1.1 无法安装MySQL Server MySQL Server安装失败是新手常见的问题之一,以下是具体原因及解决方案: 系统要求不满足:MySQL对操作系统有最低版本要求,如Windows 7 SP1及以上、macOS 10.13及以上。若系统版本过…

数字组合(信息学奥赛一本通-1291)

【题目描述】 有n个正整数,找出其中和为t(t也是正整数)的可能的组合方式。如:n5,5个数分别为1,2,3,4,5,t5;那么可能的组合有514和523和55三种组合方式。 【输入】 输入的第一行是两个正整数n和t,用空格隔开&#xff0c…

搜索引擎(基于java在线文档)

背景: 基于java文档的搜索引擎,可以输入搜索词,然后就可以查询出与搜索词相关的文档。该项目的最主要的工作是要构建索引,就是正排和倒排索引。正排索引:根据文档id获取到文档;倒排索引:根据搜…

【每日学点HarmonyOS Next知识】web滚动、事件回调、selectable属性、监听H5内部router、Grid嵌套时高度设置

【每日学点HarmonyOS Next知识】web滚动、事件回调、selectable属性、监听H5内部router、Grid嵌套时高度设置 1、HarmonyOS WebView加载url无法滚动? scroll 里面嵌套webView,demo参考: // xxx.ets import web_webview from ohos.web.webv…

Flink性能指标详解MetricsAnalysis

文章目录 Flink 组成1.JobManager2.TaskManager3.ResourceManager4.Dispatcher5.Client6. Env JobManager MetricsTaskManager Metrics Flink 组成 1.JobManager 管理任务 作业调度:负责接收和调度作业,分配任务到 TaskManager。资源管理:…

Flutter底层实现

1. Dart 语言 Dart 是 Flutter 的主要编程语言。Dart 设计之初就是为了与 JavaScript 兼容,并且可以编译为机器代码运行。Dart 提供了一些特性,如异步支持(通过 async 和 await),这使得编写高效的网络请求和复杂动画变…

< 自用文儿 > CertBot 申请 SSL 证书 使用 challenge 模式 避开防火墙的阻挡

环境: 腾讯 VPS 腾讯会向你销售 SSL , 这个本是免费的。CertBot 默认申请证书要用到 80 端口,会蹭边什么什么条款,备案法律来阻止80端口的通讯,没有网站也一样被阻拦。 通过腾讯买的域名: bestherbs.cn …

【AI】【Unity】关于Unity接入DeepseekAPI遇到的坑

前言 由于deepseek网页端在白天日常抽风,无法正常的使用,所以调用API就成了目前最好的选择,尤其是Deepseek的API价格低得可怕,这不是和白送的一样吗!然后使用过很多本地部署接入API的方式,例如Chatbox、Pa…

【微知】Mellanox驱动中to是什么?有哪些超时时间?(time out,心跳2s,reset 1分钟)

to是tout缩写,tout是time out 单位是毫秒。 static const u32 tout_def_sw_val[MAX_TIMEOUT_TYPES] {[MLX5_TO_FW_PRE_INIT_TIMEOUT_MS] 120000, # 2min。预初始化的总超时时间[MLX5_TO_FW_PRE_INIT_ON_RECOVERY_TIMEOUT_MS] 7200000, #设备恢复过程中的固件预初…

linux | Vim 命令快捷操作

注:本文为过去的 “vim 使用笔记”。 跳转命令 跳转命令 #:向前查找光标当前所在单词,并跳转到该单词的上一个出现位置。*:向后查找光标当前所在单词,并跳转到该单词的下一个出现位置。 行内跳转 0:跳转…

树莓派3B+的初步使用

树莓派3B的初步使用 一、安装使用树莓派系统1.将系统写入SD卡2.登录树莓派系统3.用C和Python编译运行hello world 一、安装使用树莓派系统 1.将系统写入SD卡 首先,准备至少16GB大小的SD卡以便装入树莓派系统,将SD卡插入读卡器后连接电脑准备给SD卡写入…

基于Windows11的DockerDesktop安装和布署方法简介

基于Windows11的DockerDesktop安装和布署方法简介 一、下载安装Docker docker 下载地址 https://www.docker.com/ Download Docker Desktop 选择Download for Winodws AMD64下载Docker Desktop Installer.exe 双点击 Docker Desktop Installer.exe 进行安装 测试Docker安装是…

文档处理控件Aspose.Total教程:使用 C# 将 Obsidian Markdown 转换为 OneNote

Obsidian 是一款广泛使用的基于 Markdown 的笔记应用程序。它提供了一种强大而有效的方式来构建和组织想法。用户可以无缝地连接他们的想法,提高清晰度和工作效率。另一方面,OneNote 是 Microsoft 的一款功能强大的笔记应用程序。它还可以帮助用户组织他…

第5章:vuex

第5章:vuex 1 求和案例 纯vue版2 vuex工作原理图3 vuex案例3.1 搭建vuex环境错误写法正确写法 3.2 求和案例vuex版细节分析源代码 4 getters配置项4.1 细节4.2 源代码 5 mapState与mapGetters5.1 总结5.2 细节分析5.3 源代码 6 mapActions与mapMutations6.1 总结6.2…