如何快速绘制logistic回归预测模型的ROC曲线?

临床预测模型,也是临床统计分析的一个大类,除了前期构建模型,还要对模型的预测能力、区分度、校准度、临床获益等方面展开评价,确保模型是有效的!

其中评价模型的好坏主要方面还是要看区分度和校准度,而区分度方面目前最常见的是ROC曲线(Receiver Operating Characteristic,中文名字叫“受试者工作特征曲线”),由灵敏度为纵轴,(1-特异度)为横轴绘制而成,用于评价X(检验变量)对于Y(状态变量)的预测准确率情况。越靠左上方,说明模型的预测准确性越好,可以让读者直观地看到某指标各取值对结局指标的诊断或预测能力

1cefd55425fc928ba73a50e6d716bb61.png

此外,ROC曲线还会使用曲线下面积(AUC)的大小对模型进行评价,AUC的取值范围为0.5到1之间,曲线下面积越大,越接近于1,模型的诊断或预测效果越好:

  • AUC在0.9以上时,准确性较高

  • 在0.7~0.9时,有一定准确性

  • AUC在 0.5~0.7时,准确性较低

  • AUC=0.5时,说明诊断方法完全不起作用,无诊断价值。

  • AUC<0.5不符合真实情况,在实际中极少出现

理论知识比较好理解,但是实际分析中,想要绘制出精美的ROC曲线,还要花一番功夫,像是常见的R语言软件就需要大量参数进行调整,并且训练集和验证集图像还需要分开绘制两遍......

因此,这里为大家推荐一个统计分析小工具——风暴统计,可以超快速绘制完成临床预测模型的ROC曲线,一次性给出训练集与验证集的图像!

风暴统计是由浙江中医药大学的郑卫军教授基于R语言开发的,不仅结果准确性有保障,并且全部实现菜单化操作,统计小白也可以轻松上手,绘制精美的ROC曲线!

下面我们就结合一份实操数据来为大家详细介绍一下具体的操作步骤吧!

实操具体网址:https://www.zstats.cn/software/logpre3/

或者百度、必应Bing搜索“风暴统计”

本平台上线的所有工具都是免费的

9e8924212113e88da81149f277e292ce.png

1.进入风暴统计平台

首先,浏览器搜索风暴统计,依次点击"风暴智能统计"——"临床预测模型"——"logistic临床预测模型"!进入分析界面后,根据提示,完成数据的导入与整理。

这里我们不再赘述数据的导入与整理过程,详细教程大家可以点击下方链接:

详细指南!风暴统计如何高效导入数据,统计分析快人一步?

详细版!如何利用风暴统计进行数据的整理转换?

304f981f08b778c878d56add682c6a55.png

2.数据集拆分

预测模型都需要内部验证,内部验证的方法有随即拆分、交叉验证、Boostrap等。但风暴统计平台目前仅能做随即拆分法内部验证。

随机拆分法内部验证,顾名思义就是将原始数据集按照7:3(常见)或者6:4等比例进行拆分,一部分用于建模,另外一部分用于验证模型。

ef8d2fe343ecadeed90cd86e65532962.png

风暴统计支持两种拆分方式:随机拆分法、导入已拆分好的数据。

  • 如果选择“随机拆分”,需要设置随机种子拆分比例。随机种子对于数字位数没有要求,作用是可以保证拆分数据的分析结果可以复现,平台默认是1234,拆分比例更好理解,只需要拖动滑条,蓝色部分就是训练集的数据占总数据的比例。

5097e769dd92e16d551a3ef4268b66f7.png

  • 如果选择“导入已拆分好的数据”,需要设置事先在导入的数据集中增加一列用于区分训练集和验证集的变量,比如新增列叫"group",通过编码赋值1代表训练集,2代表验证集。那么第一步:选入区分训练集与验证集的变量,第二步:勾选代表训练集的编码值!

    注:“导入已拆分好的数据”不仅可以做内部验证,更重要还可以用来做外部验证哦!同样需要一列变量来区分训练集和外部验证集!

e902bffa509201dbc22a01f8f897792a.png

3.构建预测模型

完成数据记得拆分后,我们就可以开始构建预测模型啦!请注意,预测模型的构建仅在训练集开展哦!

预测模型的本质,简单来说,也就是多因素回归模型!多因素回归听上去是不是平易近人许多?风暴统计可以超快速完成这一步!

首先,选择模型变量——因变量自变量。因变量必须是以0和1赋值的哦!自变量就可以放入我们数据中所有可能的预测因子!

4a437103d19e2a356a1e75c7d6727f97.png

接着,定义模型自变量筛选的方式,满足筛选条件的自变量会进入多因素回归模型!

注:多因素模型中的所有变量就是我们最终预测模型中全部的预测因子了,并不只是多因素中有意义的变量哦!如果希望预测模型中的变量P值均小于0.05,可以选择逐步回归分析中"根据P<0.05筛选"的选项!

ad685825ae5e16e8d134262121bee59e.png

自变量筛选方式也有3种:

  • 基于分组差异性结果

  • 基于单因素回归结果

  • 自定义

前两个比较相似,区别就在是根据差异性P值还是单因素P值进行筛选!

如果选择了"基于分组差异性"或"基于单因素回归",只需要完成2步设置。

第一步,P阈值的选择,如果自变量个数过少,可以适当放宽标准,0.1、0.2也都是可以的。当选择不限制时,单因素的全部自变量都将纳入多因素回归分析。

第二步,是否开展逐步回归,选择“否”,就是我们常见的先单后多分析,另外逐步回归方法,平台也提供了多种选择:双向逐步回归,向前逐步回归,向后逐步回归以及考虑到有时P值大于0.05的变量在逐步回归时也会留在模型中,新增了根据P<0.05的原则开展逐步回归!大家可以根据研究需要自行选择。

58882af8e7528f146c00ad21848d9d73.png

dfd243fef27007c208fbfe2f5eac0275.png

如果选择了自定义筛选自变量,比如实际研究中,预测因子的筛选也需要结合专业知识以及相关文献进行判断,纯数据驱动也不太好。假如变量A在临床中是十分重要的变量,但是受限于样本原因,单因素与差异性均没有统计学意义,这时候,我们可以自定义挑选预测因子,选择我们预期的预测因子,自行选择是否需要逐步回归!也是一条途径!

cc266fb5c57944470329a44119d6914a.png

选择完毕后,我们就得到了多因素回归的结果,现在多因素模型也就是我们最终的预测模型,列线图中会包含多因素回归中的全部变量!

386d87d8c016bb115558b58498b29fd0.png

完成预测模型的构建后,就可以同步给出模型得到验证结果啦!

4.模型区分度评价

点击"ROC曲线与AUC面积"模块,结果也同时输出,包括有训练集ROC曲线、验证集ROC曲线、ROC曲线叠加

1ce10e4175d38d19f99b827d12d43bb2.png

ROC曲线叠加:

9b6078695bc290e25477261ee42a4326.png

如果需要修改图例名称,可以在左侧的"AUC设置"这里进行修改,但是目前平台仅支持英文标签,如需添加中文,还需要下载pdf后,再进行二次编辑。

4cb51fee3af24693637de0111667ed69.png

除此之外,平台还支持对ROC曲线的颜色、坐标轴、标签进行修改,将R语言繁杂的代码参数,全部简化为了菜单式操作!

df6a3b7a55a69b794acf6d93bd98fe5a.png

5.下载结果

最后在曲线下载设置中,选择下载图片,保存类型(支持pdf、jpeg、png、tiff),曲线页面,中文字体。

注:如果图形下载下来不完全,可以在曲线页面设置自定义。自由调整图片的长度和宽度,避免下载图形不完整的情况

选择完毕后,就可以下载ROC曲线啦!

d09944155048a02c36faf4037b64c88d.png

下载下来的图片也十分清晰!

24ab381e873f6e892c4e79093b22f93a.png

以上就是风暴统计平台绘制ROC曲线的全部操作流程啦!如果您在使用过程中出现报错,可以参考下方推文,排查一下问题所在哦!

答疑 | 风暴统计更换服务器后,为什么总出现同样的报错?

ec650f2c6d9ec6cdf4ffc7becfe12407.png

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++初学者指南第一步---12.引用

C初学者指南第一步—12.引用 文章目录 C初学者指南第一步---12.引用1. 功能&#xff08;和限制&#xff09;1.1 非常量引用1.2 常量引用1.3 auto引用 2.用法2.1 范围for循环中的引用2.2 常量引用的函数形参2.3 非常量引用的函数形参2.4 函数参数的选择&#xff1a;copy / const…

62.WEB渗透测试-信息收集- WAF、框架组件识别(2)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;61.WEB渗透测试-信息收集- WAF、框架组件识别&#xff08;1&#xff09; 打开一个搜索引…

有趣的 Oracle JDBC 驱动包命名问题 - ojdbc6 和 ojdbc14 哪个新?!

有趣的 Oracle JDBC 驱动包命名问题 - ojdbc6 和 ojdbc14 哪个新?! 1 背景概述 最近协助一个小兄弟排查了某作业使用 sqoop 采集 oracle 数据的失败问题&#xff0c;问题现象&#xff0c;问题原因和解决方法都挺直观&#xff0c;但在此过程中发现了一个有趣的 Oracle JDBC 驱…

mechanize - 自动化与HTTP web服务器的交互操作

1、前言 随着自动化测试的普及与落地推广&#xff0c;出现了众多知名的自动化测试工具&#xff0c;如Selenium 、Robot Framework、Playwright等。本文将介绍一款在Python环境下的mechanize库&#xff0c;这个库能够模拟浏览器行为&#xff0c;支持发送HTTP请求、解析HTML页面和…

【2024.6.23】今日 IT 速递 | 亚布力创新年会热点新闻盘点

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…

Vue3+TypeScript项目实战——打造雨雪交加的智慧城市

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 ⚡开源项目&#xff1a; rich-vue3 &#xff08;基于 Vue3 TS Pinia Element Plus Spring全家桶 MySQL&#xff09; &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;正逐渐往全干发展 &#x1…

leetcode 二分查找·系统掌握

题目&#xff1a; 题解&#xff1a; 在阶梯数达到某一值后已有的硬币数量就小于了阶梯可以装的硬币数量&#xff0c;根据题意可以使用~10~泛型查找出最后一个可以被填满的阶梯。对于这类型可以二分答案的题目关键在于二分答案的上下界&#xff0c;本题的下界就是1上界就是硬币…

内容安全复习 8 - 视觉内容伪造与检测

文章目录 研究背景内容伪造方法虚假人脸生成人脸替换属性编辑表情重演跨模态人脸编辑 伪造检测方法眨眼检测交互式人脸活体检测一些了解方法挑战 研究背景 图像内容篡改造成新闻报道的偏颇易导致社会和公共秩序的不安&#xff0c;对公共安全产生不良影响。 造成的影响&#x…

英伟达能保住全球市值第一的桂冠吗?

内容提要 《巴伦周刊》认为&#xff0c;英伟达市值的迅速上涨是该公司可能难以保持市值第一桂冠的关键原因。另一个担忧是&#xff0c;英伟达的崛起主要基于一项单一技术——为人工智能应用提供动力的芯片和平台。一些人担心&#xff0c;如果购买英伟达产品的公司无法从投资中…

Open MMLab 之 MMDetection框架

MMDetection框架入门教程&#xff08;完全版&#xff09;-CSDN博客 OpenMMLab MMDetection是商汤和港中文大学针对目标检测任务推出的一个开源项目&#xff0c;它基于Pytorch实现了大量的目标检测算法&#xff0c;把数据集构建、模型搭建、训练策略等过程都封装成了一个个模块…

域名防红程序网站源码-最新可用

网上泛滥的都是2.5的版本&#xff0c;这是2.7的版本&#xff01; 功能简介 解决QQ内报毒问题&#xff0c;直接跳浏览器操作&#xff0c;好像这个版本只能安卓QQ了&#xff0c;最新版的支持IOS QQ。 url.cn 大绿标功能&#xff01;此源码仅供测试使用&#xff01; 安装说明 …

如何获取特定 HIVE 库的元数据信息如其所有分区表和所有分区

如何获取特定 HIVE 库的元数据信息如其所有分区表和所有分区 1. 问题背景 有时我们需要获取特定 HIVE 库下所有分区表&#xff0c;或者所有分区表的所有分区&#xff0c;以便执行进一步的操作&#xff0c;比如通过 使用 HIVE 命令 MSCK REPAIR TABLE table_name sync partiti…

【C语言】关于字符串函数的使用及模拟实现(1)

一、字符串追加 1.1 库函数srecat的使用 1.2 库函数strncat的使用 1.3 模拟实现库函数 strcat 及 strncat 由上可知&#xff0c;字符串追加的原理是找到所添加字符串的 \0 位置&#xff0c;再对其进行添加。 代码1、 代码2、 二、字符串查找 2.1 库函数strstr的使用 使用…

Day28:回溯法 491.递增子序列 46.全排列 47.全排列 II 332.重新安排行程 51. N皇后 37. 解数独

491. 非递减子序列 给你一个整数数组 nums &#xff0c;找出并返回所有该数组中不同的递增子序列&#xff0c;递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 数组中可能含有重复元素&#xff0c;如出现两个整数相等&#xff0c;也可以视作递增序列的一种特殊情…

用含成员函数的类,分别输入和输出各对象中的时间(时:分:秒)

编写程序&#xff1a; 运行结果&#xff1a; 注意&#xff1a; &#xff08;1&#xff09;在主函数中调用两个成员函数时&#xff0c;应指明对象名(t1,t2)。表示调用的是哪一个对象的成员函数。t1.display()和t2.display()虽然都是调用同一个 display函数&#xff0c;但…

最长考拉兹序列

题目&#xff1a; 考虑如下定义在正整数集上的迭代规则&#xff1a; n n/2 (若n为偶数) n 3n1 &#xff08;若n为奇数&#xff09; 从13开始&#xff0c;可以迭代生成如下的序列&#xff1a; 13 40 20 10 5 16 8 4 2 1 可以看出这个序列&#xff08;从13…

pytest测试框架pytest-xdist插件并发执行测试用例

Pytest提供了丰富的插件来扩展其功能&#xff0c;本章介绍下插件pytest-xdist&#xff0c;主要是提供并行测试、分布式测试、循环测试等功能&#xff0c;可以加快测试速度。 pytest-xdist官方显示没有严格的python和pytest版本限制。 pytest-xdist安装 使用pip命令安装: pip…

高中数学:数列-等差数列、等比数列的和与通项公式的关系

一、等差数列 1、通项公式与求和公式 2、性质 性质1 求和公式比上n&#xff0c;依然是一个等差数列。 性质2 等差数列中&#xff0c;每相邻m项和&#xff0c;构成的数列&#xff0c;依然是等差数列&#xff0c;公差&#xff1a;m2d 二、等比数列 1、通项公式与求和公式 a…

「GPT源码探索」:从ChatPaper到学术论文GPT的二次开发实践

前言 本文的前两个部分最早是属于此旧文的《学术论文GPT的源码解读与微调&#xff1a;从ChatPaper到七月论文审稿GPT第1版》&#xff0c;但为了每一篇文章各自的内容更好的呈现&#xff0c;于是我今天做了以下三个改动 原来属于mamba第五部分的「Mamba近似工作之线性Transfor…

数据库原理与安全复习笔记

1 概念 产生与发展&#xff1a;人工管理阶段 → \to → 文件系统阶段 → \to → 数据库系统阶段。 数据库系统特点&#xff1a;数据的管理者&#xff08;DBMS&#xff09;&#xff1b;数据结构化&#xff1b;数据共享性高&#xff0c;冗余度低&#xff0c;易于扩充&#xff…