医学预测模型的网页应用必要模块设计(重制版)

医学预测模型的网页应用必要模块设计(重制版)
刘岳鹏
摘要:
网页应用(Web APP)承载医学临床预测模型并在临床实践中实现与用户的互动,必要的功能模块设计将有助于Web APP更好地在临床实践中发挥其功能。在此,以“食管癌远处转移预测模型Web APP”为例介绍一种医学预测模型的Web APP功能设计,包括模型介绍模块、外部验证和批量处理模块、数据调整模块和个案预测模块等四个模块是必要的基础模块,以及模型解释模块和模型影响力评价模块两个可选模块。合理的功能设计是医学预测模型Web APP发挥承载医学临床预测模型载体角色的重要保障。
关键词:医学临床预测模型;网页应用;功能模块

The Design of Necessary Modules for The Web Application of Medical Prediction Models
Web APP carries the medical clinical prediction model and realizes the interaction with users in clinical practice, and the design of the necessary functional modules will help the web APP to play its functions in clinical practice better. Here, taking the “Esophageal Cancer Distant Metastasis Prediction Model Web APP” as an example, the Web APP function design of a medical prediction model is introduced, including four basic modules, namely the model introduction module, the external verification and batch processing module, the data adjustment module and the case prediction module, as well as two optional modules: the model interpretation module and the model impact evaluation module. A reasonable functional design is an essential guarantee for the function of the web app of a medical prediction model.

Keywords: medical clinical prediction model; web applications; Functional modules

医学临床流行病学研究让我们认识到,疾病是由基因、心理和社会等多方面因素共同作用的结果,而医学预测模型可以通过算法综合多种疾病影响因子而对疾病临床结局做出更加准确的判断或预测[1],更加符合临床实践中准确诊断和治疗疾病的要求,展现出广阔的临床应用前景,已经成为临床医学重要的研究形式之一[2]。
随着医学预测模型的逐渐成熟,医学预测模型已经接近于临床应用,在模型的临床实践过程中需要一个载体作为用户和模型之间沟通的媒介,量表、列线图和网络应用(Web Application, Web APP)都是常见的预测模型的载体[3],而其中Web APP以其良好的交互功能,丰富的展示功能,易传播等特点,受到了许多预测模型开发人员的亲睞[4, 5],被认为是最具应用潜力的预测模型的载体。然而,医学预测模型类Web APP缺乏相关的制作规范,导致几乎所有的此类应用制作简单随意,缺乏从临床实践角度的考量和设计,最终导致临床预测模型无法应用于临床实践。笔者根据自己的制作此类Web APP的思考和实践,从临床实践角度出发提出一种包含必要功能模块的预测模型类Web APP的设计,包含了预测模型应用于临床实践的必要功能,并以制作的食管癌远处转移筛选Web APP为例进行介绍以供制作临床预测模型类Web APP参考和借鉴。

一、 模型介绍模块:
模型介绍模块的功能是向用户传递必要的模型相关的信息,让用户在使用模型之前对模型的效能和适用性有充份地了解,进而决定是否继续了解和使用该预测模型。部分现有的预测模型类应用有介绍模型的模块,但介绍信息不够全面,不能在临床实践中起到必要的介绍模型的功能[6],而有的则以论文作为模型的介绍,应用仅仅是论文的附属,显然是根本没有考虑临床应用[7]。一个预测模型的介绍模块至少要包含以下信息:

  1. 模型训练数据的信息,包括各个变量的值域(最小值到最大值),因为使用APP的时候,待预测的数据落在训练数据的值域之内,可以获得良好的预测准确度;数据的训练集和测试集样本数量,样本量越大,模型预测准确度越高,鲁棒性更佳,可以让使用者对模型的质量有直观的印象;数据的来源,多中心或者是单中心,以及从哪一级的医疗机构收集,因为来源相似的数据更加适用于该预测模型,让患者对模型的适用性有初步的判断。以上信息,有助于预测模型的使用者对模型的质量和适用性有初步的评估,并决定是否使用该模型。

  2. 模型的内部验证和外部验证效能指标,如受试者工作曲线下面积(AUCROC),校准曲线两个必要的指标,以及准确率、召回率、F1值等指标。以上结果有助于使用者了解模型预测的效能,并决定对模型预测结果的把握度。

  3. 临床决策曲线分析(Decision Curve Analysis,DCA)的结果。DCA分析中结果有助于评价模型是否优于Treat all和Treat none两种临床策略而能产生额外的临床效益[8],更重要的是DCA分析通过考虑模型预测后临床措施的损害-效益比和模型的效能为用户提供可能的决策阈值[9],与模型提供的预测概率结合,形成最终的预测结果。因为决策阈值最终确定是用户根据实际情况所决定的,所以在模型Web APP中提供的是一个决策阈值参考范围,而不是具体的决策阈值。另外,提供模型各个决策阈值下的阳性和阴性Trade off值[8],可以反映在该决策阈值下的模型的效能,有助于帮助用户选择适合的决策阈值。

  4. 模型解释的信息(可选)。了解模型是如何做出决策的,有助于增加模型使用过程中的安全性。线性模型具有自我解释性,可以给出各个变量的回归系数或者OR值等作为解释信息,而树形模型可以给出SHAP(SHapley Additive exPlanations)分析等作为解释信息[10],帮助用户理解模型是如何做出决策的,模型的解释性信息也是医学伦理委员会考察的重要信息之一。因为模型解释性信息的对象主要不是用户而是模型审核人员且不影响模型的使用,所以列为可选。

  5. 报道模型的临床影响力,即在临床实践中使用模型与是否对患者的预后产生了影响或者提高了效率或者节省了花费[2],是最终决定预测模型是否能够最终进入临床实践的参考。因为这需要进入临床实践之后通过专门的随机对照研究来获得,且耗时较长,建议在模型最终进入临床实践之前添加到Web APP中。
    在这里插入图片描述

图1.Web APP中的模型介绍模块。页面分两列,包含了模型的摘要、训练数据的描述等一般信息,ROC曲线、校准曲线等模型效能参数和DCA分析的结果。
二、外部验证和批量预测模块:
虽然多数预测模型提供外部验证的效能,并达到了一定的水平,但是这不代表在用户的本地数据上,预测模型的表现同样符合应用要求,所以用户在使用预测模型之前,一定要收集足够数量的本地数据重新进行外部验证,获取模型在本地数据上的表现,且只有在模型表现符合要求的情况下才可以使用模型。所以,预测模型的Web APP需要包含外部验证模块,即允许用户上传本地数据集,并展示相关的验证结果,如ROC曲线和校准曲线等必要指标(如图2)。这个模块同时可以作为批量预测的模块,以满足使用模型进行批量预测的需求,比如科研等场合会收集批量的数据导入到模型中来获取预测结果,仅仅结果展示部分与外部验证模块不同,两者可以融合为一个模块。
在这里插入图片描述

图2.Web APP中的外部验证和批量预测模块。页面上半部分是外部验证模块,导入本地数据后,在右侧展示ROC曲线和校准曲线;下半部分是批量预测模块,同样导入数据后,在右侧展示预测结果并可下载用于后续的分析或绘图。

三、数据调整模块:
在使用外部验证或者批量预测模块时,用户很可能会面临的一个问题是,收集的本地数据的变量名称和变量标签与训练模型的不一致,导致本地数据无法被模型所识别,所以建议预测模型的Web APP提供一个模块来实现本地数据的变量名和标签名的更改。在这个模块中,用户导入本地数据后,人工选择每个标签的变量名和标签名而实现半自动的更改(图3),最后用户可以下载更改后的数据用于外部验证或者批量预测。
在这里插入图片描述

图3.Web APP中的数据调整模块。连续性变量仅需要更改变量名,比如第一行的age和tumor size两个变量,而类别变量还需要改变标签名,需要一个个选择对应的标签进行更改。

四、个案预测模块:
这是目前每个预测模型应用都设计的模块,对输入的数据进行预测并获得结果。在这个模块中,在左侧边栏逐条提供模型预测所需要的信息,模型给出预测结果。该模块中建议提供三个内容,1.根据用户提供的数据提供预测结果。预测的结果可以有两种,一种是直接给出预测类别,另一种是给出预测概率,后者更加符合预测模型“辅助临床决策”的角色,即模型给出预测概率结合用户确定的决策阈值来共同做出决策;2. 参考给出的预测概率,结合选定决策阈值,给出最终的结论,其中需包含后续的临床建议,即预测阳性的患者,需要采取哪些临床措施或后续;3. 展示使用SHAP分析模型预测结果的解释,即预测结果是由哪些因素所贡献的(图4)。
在这里插入图片描述

图4.Web APP中的个案预测模块。策边栏输入需要的信息,右侧分别展示输入、输出,以及结论和预测结果解释。

讨论:
从临床实践的角度考虑,临床预测模型需要一个载体来连接模型与临床实践,作为用户与模型沟通的媒介,而Web APP是目前作为预测模型载体的最佳的选择,且一个应用只有具备模型介绍、外部验证、数据调整和预测等必要的功能模块后,才能够满足预测模型应用于临床实践的基本要求。

在构思预测模型时,一个必要却常常被忽视的环节,就是确定根据模型得出预测结果后后续的临床干预或者诊断措施是什么。这个环节之所以重要是因为该后续措施将会被用于预测模型构建的两个重要环节:DCA确定决策阈值的环节和模型临床影响力评价环节。前者参考后续措施的损害-效益比来确定决策阈值,而后者使用后续措施的结果作为结局变量,得出预测模型是否在临床上产生正面的影响,即改善疾病的临床结局。所以在Web APP中建议在显要位置指明后续的临床治疗或者诊断措施。

“辅助临床决策”是当前对临床预测模型在临床实践中的角色的设定,在这个角色设定中,预测模型给出预测概率,用户(通常是医生)综合考虑模型和临床实际给出决策阈值,两者结合最终形成预测结论。Web APP既要辅助预测模型产生预测概率,也要帮助用户确定决策阈值,而后者是目前被忽略的方面。决策阈值是通过DCA分析获得的:首先DCA分析给出的是决策阈值范围,在这个范围内,使用预测模型具有额外的临床收益;随后,用户参考DCA分析给出的阳性和阴性的tradeoff值表和后续治疗措施的损害-效益比确定具体的决策阈值。阳性和阴性tradeoff值代表在某个决策阈值下,预测模型预测出一个真阳性或真阴性患者需要多少名患者,代表了模型的效能。理想的情况是使用本地数据进行DCA分析来确定的决策阈值范围,但是本地数据往往小于模型训练数据,所以使用本地数据获取的决策阈值范围可能不够准确,所以当模型在本地数据的外部验证中表现良好的时候,可以采用模型给定的决策阈值范围,所以在Web APP中提供DCA分析的详细分析结果,包括决策阈值范围和各决策阈值的tradeoff值表格是必要的。

临床影响力评价是模型进入临床实践后才能获得的信息,根据相关的指南[11],初次的临床评价以安全性评价为主,采用随机对照研究的临床设计,以临床预测模型的使用为干预措施,比较组间患者治疗或诊断效果。因为,临床影响力评价需要预测模型达到一定的水准且需要通过伦理委员会的认可,所以目前临床预测模型类研究普遍没有临床影响力评价。与外部验证相似的理由,理论上即使模型给出了临床影响力评价,也不代表在本地数据中同样具有临床影响力,所以有必要在本地数据中对临床影响力进行重新的评估。Web APP批量预测模块会在临床影响力评价环节发挥一定的作用,是否在Web APP中设定专门的临床影响力评价模块方便本地数据的临床影响力评价,可以根据情况进行选择。

结论:
以介绍模块、外部验证和批量预测模块、数据调整模块和个案预测模块四个模块为基础模块的设计,是一个Web APP承载临床预测模型并应用于临床实践的必要条件。各个模块互相配合,保证临床预测模型给出的预测概率符合要求,又辅助用户选择合理的决策阈值,最终形成准确的预测结论,服务于临床实践。

参考文献:
[1] Shamout F, Zhu T, Clifton DA. Machine Learning for Clinical Outcome Prediction [J]. IEEE Rev Biomed Eng, 2021, 14(116-126.
[2] Efthimiou O, Seo M, Chalkou K, et al. Developing clinical prediction models: a step-by-step guide [J]. BMJ, 2024, 386(e078276.
[3] Bonnett LJ, Snell KIE, Collins GS, et al. Guide to presenting clinical prediction models for use in clinical settings [J]. BMJ, 2019, 365(l737.
[4] Li T, Sun G, Ye H, et al. ESCCPred: a machine learning model for diagnostic prediction of early esophageal squamous cell carcinoma using autoantibody profiles [J]. Br J Cancer, 2024, 131(5): 883-894.
[5] Nguyen NH, Dodd-Eaton EB, Peng G, et al. LFSPROShiny: An Interactive R/Shiny App for Prediction and Visualization of Cancer Risks in Families With Deleterious Germline TP53 Mutations [J]. JCO Clin Cancer Inform, 2024, 8(e2300167.
[6] He X, Jiao YQ, Yang XG, et al. A Novel Prediction Tool for Overall Survival of Patients Living with Spinal Metastatic Disease [J]. World Neurosurg, 2020, 144(e824-e836.
[7] Xia F, Li Q, Luo X, et al. Identification for heavy metals exposure on osteoarthritis among aging people and Machine learning for prediction: A study based on NHANES 2011-2020 [J]. Front Public Health, 2022, 10(906774.
[8] Van Calster B, Wynants L, Verbeek JFM, et al. Reporting and Interpreting Decision Curve Analysis: A Guide for Investigators [J]. Eur Urol, 2018, 74(6): 796-804.
[9] Vickers AJ, van Calster B, Steyerberg EW. A simple, step-by-step guide to interpreting decision curve analysis [J]. Diagn Progn Res, 2019, 3(18.
[10] Ponce-Bobadilla AV, Schmitt V, Maier CS, et al. Practical guide to SHAP analysis: Explaining supervised machine learning model predictions in drug development [J]. Clin Transl Sci, 2024, 17(11): e70056.
[11] Vasey B, Novak A, Ather S, et al. DECIDE-AI: a new reporting guideline and its relevance to artificial intelligence studies in radiology [J]. Clin Radiol, 2023, 78(2): 130-136.

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

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

相关文章

【C++】反向输出一个四位数的深入探讨

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯问题描述💯我的实现方案代码实现核心思路解析示例执行过程 💯老师的实现方案代码实现代码特点与分析执行流程示例代码对比与深入分析 💯…

Android中坐标体系知识超详细讲解

说来说去都不如画图示意简单易懂啊!!!真是的! 来吧先上张图! (一)首先明确一下android 中的坐标系统: 屏幕的左上角是坐标系统原点(0,0) 原点向右延伸是X轴正…

泷羽sec学习打卡-brupsuite7搭建IP炮台

声明 学习视频来自B站UP主 泷羽sec,如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都 与本人无关,切莫逾越法律红线,否则后果自负 关于brupsuite的那些事儿-Brup-IP炮台搭建 搭建炮台服务端安装zmap1、更新系统和安装基础依赖&#xff…

【视频异常检测】Real-Time Anomaly Detection and Localization in Crowded Scenes 论文阅读

文章信息: 发表于:CVPR2015(workshop) 原文链接:https://www.cv-foundation.org/openaccess/content_cvpr_workshops_2015/W04/papers/Sabokrou_Real-Time_Anomaly_Detection_2015_CVPR_paper.pdf Real-Time Anomaly D…

Hive-4.0.1数据库搭建(可选配置用户名密码远程连接,涵盖切换为tez引擎)

一、hive搭建(所依赖的Hadoop集群参照文章:最新版hadoop-3.4.0集群安装和配置(目前论坛的都是老古董了,看我的准没错!!!)这里以三台服务器为例_hadoop 3.4安装-CSDN博客)…

YOLOv11改进,YOLOv11添加DLKA-Attention可变形大核注意力,WACV2024 ,二次创新C3k2结构

摘要 作者引入了一种称为可变形大核注意力 (D-LKA Attention) 的新方法来增强医学图像分割。这种方法使用大型卷积内核有效地捕获体积上下文,避免了过多的计算需求。D-LKA Attention 还受益于可变形卷积,以适应不同的数据模式。 理论介绍 大核卷积(Large Kernel Convolu…

Reactor 响应式编程(第二篇:Spring Webflux)

系列文章目录 Reactor 响应式编程(第一篇:Reactor核心) Reactor 响应式编程(第二篇:Spring Webflux) Reactor 响应式编程(第三篇:R2DBC) Reactor 响应式编程&#xff08…

keepalived的高可用集群

keepalived的概念 keepalived的工作原理 基于vrrp实现的调度器高可用方案 keepalived的配置实验 先在调度服务器上安装keepalived和ipvsadm apt -y install keepalived ipvsadm 复制keepalived的配置文件到/etc/keepalived/目录下 cp /usr/share/doc/keepalived/samples/keep…

Linux中输入和输出基本过程

1.文件内核级缓冲区 前面在如何理解Linux一切皆文件的特点中提到为了保证在Linux中所有进程访问文件时的方式趋近相 同,在f ile 结构体中存在一个 files_operations 结构体指针,对应的结构体保存所有文件操作的函 数指针(这个结构体也被称为…

shell编程2 永久环境变量和字符串显位

声明 学习视频来自B站UP主 泷羽sec 常见变量 echo $HOME (家目录 root用户) /root cd /root windows的环境变量可以去设置里去新建 为什么输入ls dir的命令的时候就会输出相应的内容呢 因为这些命令都有相应的变量 which ls 通过这个命令查看ls命令脚本…

如何对 Java 项目简化接口设计提升开发效率

文章目录 摘要引言简洁接口设计的原则示例代码OrderProcessor 接口StandardOrderProcessor 实现类Order 数据类调用方代码:OrderService 模块之间的协作QA 环节总结参考资料 摘要 简洁的接口设计可以有效降低代码依赖与耦合度,提高代码的可维护性和扩展…

Node.js安装配置+Vue环境配置+创建一个VUE项目

目录 安装Node.js搭建VUE环境 安装Node.js 下载 测试是否安装成功 在目录下新建两个文件夹 管理员打开cmd npm config set prefix "D:\Software\nodejs\node_global" npm config set cache "D:\Software\nodejs\node_cache"将默认的 C 盘下【 AppData\…

【Spring 全家桶】Spring MVC 快速入门,开始web 更好上手(上篇) , 万字解析, 建议收藏 ! ! !

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. 🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人…

【CSS in Depth 2 精译_080】 13.1:CSS 渐变效果(中)——不同色彩空间的颜色插值算法在 CSS 渐变中的应用

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第四部分 视觉增强技术 ✔️【第 13 章 渐变、阴影与混合模式】 ✔️ 13.1 渐变 ✔️ 13.1.1 使用多个颜色节点(上)13.1.2 颜色插值方法(中) ✔️13.1…

JavaEE 【知识改变命运】06 多线程进阶(1)

文章目录 锁一常见的锁乐观锁和悲观锁轻量级锁和重量级锁自旋锁和挂起等待锁读写锁和普通互斥锁公平锁和不公平锁可重入锁和不可重入锁sycnchroized是什么锁 CAS什么是CASCAS伪代码CSA是怎么实现的CAS如何保证线程安全的呢实现自旋锁JDK中提供的使用自旋锁的方式处理锁竞争CAS …

Elasticsearch02-安装7.x

零、文章目录 Elasticsearch02-安装7.x 1、Windows安装Elasticsearch (1)JDK安装 Elasticsearch是基于java开发的,所以需要安装JDK。我们安装的Elasticsearch版本是7.15,对应JDK至少1.8版本以上。也可以不安装jdk,…

又要考试了

一、实现无名管道练习&#xff1a;父进程写入管道&#xff0c;子进程读取管道数据。 #include<myhead.h> int main(int argc, const char *argv[]) {int fd[2];char buff[1024]"王吕阳&#xff0c;崔庆权别卷了";char s[1024];if(pipe(fd)-1){perror("pi…

Unity添加newtonsoft-json

package name "com.unity.nuget.newtonsoft-json": "3.2.1",打开包管理器 输入包名称和版本 点击添加

HarmonyOS:多线程并发-Worker

Worker主要作用是为应用程序提供一个多线程的运行环境&#xff0c;可满足应用程序在执行过程中与宿主线程分离&#xff0c;在后台线程中运行一个脚本进行耗时操作&#xff0c;极大避免类似于计算密集型或高延迟的任务阻塞宿主线程的运行。具体接口信息及使用方法详情请见Worker…

JMeter配置原件-计数器

一、面临的问题&#xff1a; 由于本人的【函数助手对话框】中counter计数器每次加2&#xff0c;且只显示偶数(如下图所示)&#xff0c;因此借助【配置原件-计数器】来实现计数功能。 如果有大佬知道解决方式&#xff0c;麻烦评论区解答一下&#xff0c;谢谢。 二、配置原件-c…