位置: IT常识 - 正文

R数据分析:临床预测模型中校准曲线和DCA曲线的意义与做法(r在数据分析中表示什么意思)

编辑:rootadmin
R数据分析:临床预测模型中校准曲线和DCA曲线的意义与做法

推荐整理分享R数据分析:临床预测模型中校准曲线和DCA曲线的意义与做法(r在数据分析中表示什么意思),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:r进行数据分析,利用r做数据分析,数据分析r2,利用r做数据分析,数据分析r2,r数据分析方法与案例详解 pdf,利用r做数据分析,r数据分析实例,内容如对您有帮助,希望把文章链接给更多的朋友!

之前给大家写过一个临床预测模型:R数据分析:跟随top期刊手把手教你做一个临床预测模型,里面其实都是比较基础的模型判别能力discrimination的一些指标,那么今天就再进一步,给大家分享一些和临床决策实际相关的指标,主要是校准calibration和决策曲线Decision curve analysis。

校准曲线

做预测模型都应该报告校准曲线的:

Reporting on calibration performance is recommended by the TRIPOD (Transparent Reporting of a multivariable prediction model for Individual Prognosis Or Diagnosis) guidelines for prediction modeling studies

先给大家解释,预测模型为什么除了需要discrimination的一些指标外(比如tp,tn,fp,fn,roc,LR+,LR-等等)还需要做校准曲线:

Clinical predictive model performance is commonly published based on discrimination measures, but use of models for individualized predictions requires adequate model calibration

是因为:这些指标仅仅针对现有样本,很容易在过拟合的情况下,表现得很好。那么这种预测模型有没有用,敢不敢用?得打个问号。

in contrast to discrimination, which refers to the ability of a model to rank patients according to risk, calibration refers to the agreement between the estimated and the “true” risk of an outcome

依然是给大家举例子说明:一个区分度很好的预测模型,AUC很高,这个模型是以美国某个社区样本做的预测痴呆的模型,现在有人用这个模型预测全体社区老年人,发现按照模型的预测结果,美国将会有40%的老年人得痴呆,但是普查结果告诉我们美国痴呆患病率只有10%。这个就是一个过拟合的模型高估结局风险的例子(但这并不妨碍其在训练样本中表现的很好),但是这个模型不能用。

When predictive models are built based on a population that differs from the population in which they will be used, blind application of these models could result in large “residuals” (ie, a large difference between a model’s estimate and the true outcome) because of factors that are difficult to account for.

如何表示模型的上面的情况(预测值与实际值偏离)的严重程度,或者说如何评价模型能不能用,能不能换个样本也预测得准,就要评估模型的校准度,所以我们需要报告模型的校准曲线。

矫正曲线要做的就是对比模型预测概率和观测概率的一致性。因为我们是凭模型的预测概率判断具体病人阴阳性的,如果我的模型表现好,比如我依照0.5的预测概率划分阴阳,如果模型表现好,是不是应该100个预测概率是0.5的人会有50阳性?再来一个例子,比如我依照0.3的预测概率划分阴阳,如果模型表现好,是不是应该100个预测概率是0.3的人会有30阳性?

就是如果我的模型的校准度好,是不是就不会发生我刚刚据的痴呆预测的例子了,所以说:

Calibration plot is a visual tool to assess the agreement between predictions and observations in different percentiles (mostly deciles) of the predicted values.

校准曲线可以说明模型表现的另一个方面:Performance can further be quantified in terms of calibration (do close to x of 100 patients with a risk prediction of x% have the outcome?)

上面就是模型的矫正曲线来评估模型表现的理由,我们理想的情况就是我们的预测模型预测出来的Y和数据真实的Y之间的距离越小越好,如果我们的结局变量是连续变量,那么距离就是预测的y值和实际y值的差,如果结局是二分类变量那么距离就是阳性概率p和实际p的差:

The distance between the predicted outcome and actual outcome is central to quantify overall model performance from a statistical modeler’s perspective 32. The distance is Y −Ŷ for continuous outcomes. For binary outcomes, with Y defined 0 – 1, Ŷ is equal to the predicted probability p, and for survival outcomes it is the predicted event probability at a given time (or as a function of time)

在坐标系中,如果我们将模型预测概率放在横轴,实际概率放在纵轴,一个完美的预测模型的矫正曲线应该是一个45°向上过0的直线(Ideal),意味着模型预测概率和实际概率完全吻合。但是我们在论文中看到的矫正曲线一般是下图样子的:

图中的Ideal线刚刚已经解释了(就是理想情况下模型预测和实际完全一致),图中还会有Apparent线和Bais-corrected线,这两个线就表示自己的模型的表现,Apparent线其中的意思是自己的训练的表现而Bais-corrected线表示样本经反复自助抽样后训练出的模型表现,其矫正了过拟合情况(另外一种理解:Apparent线为内部矫正,Bais-corrected线为模型的外部矫正曲线,外部数据怎么来的,自助抽样得来的)。此处不用纠结,发表的论文的中对矫正曲线的描述通常也就是一句话:

所以大家只要把握住,打眼一看,两条线都在Ideal线的周围没有偏离的太离谱就可以。

以上就是模型校准的基础知识,内容大部分参见文献:

Yingxiang Huang, Wentao Li, Fima Macheret, Rodney A Gabriel, Lucila Ohno-Machado, A tutorial on calibration measurements and calibration models for clinical prediction models, Journal of the American Medical Informatics Association, Volume 27, Issue 4, April 2020, Pages 621–633, https://doi.org/10.1093/jamia/ocz228

DCA曲线原理介绍

评价一种诊断方法是否好用,一般是作ROC曲线,计算AUC。但是,ROC只是从该方法的特异性和敏感性考虑,追求的是准确。而临床上我要用预测结果决定是不是需要采取干预,准确就足够了吗?准确度较高的情况下就一定要依照模型预测结果进行干预吗?干预后患者就一定受益吗?也得打个问号。

就是模型预测再准确,也不能百分百准确,始终有假阳性和假阴性存在,我们却要根据模型的预测结果去干预病人,这里面就有一个干预划不划得来的问题:说的再具体点,比如我通过某个生物标志物预测患者是否患了某病,无论选取哪个值为临界值,都会遇到假阳性的可能,假阳性的病人也会接受干预(但其实是亏损的),我们希望自己做出来的预测模型在临床使用中,在任何时候依照模型结果进行干预净受益都比默认的好(最常见的默认情况就是全干预和全不干预)。

那么决策曲线要干的事情是啥?就是将依照模型干预的净受益和默认方法(全干预和不干预)干预的净受益进行比较:

In brief, decision curve analysis calculates a clinical “net benefit” for one or more prediction models or diagnostic tests in comparison to default strategies of treating all or no patients.

R数据分析:临床预测模型中校准曲线和DCA曲线的意义与做法(r在数据分析中表示什么意思)

有点抽象哈,什么是净受益?

用干预来举例,在预测模型中,我们在全干预的情况下(全部人群无差别干预),我们使用这种策略时真的受益应该是true positives和false negatives,我们的代价就是false positives和true negatives,此时受益减去代价就叫做净受益:

In the case of diagnosis, the income is true positives (e.g., finding a cancer) and the expenditure is false positives (e.g., unnecessary biopsies), with the “exchange rate” being the number of false positives that are worth one true positive. The exchange rate will depend on the relative seriousness of the intervention and outcome. For instance, we will be willing to conduct more unnecessary biopsies to find one cancer if the biopsy procedure is safe vs. dangerous or the cancer is aggressive vs. more indolent. The exchange rate is calculated, as explained above, from the threshold probability. Another analogy is with net health benefit or net monetary benefit, which both depend on the willingness to pay threshold in their exchange of benefits in terms of health and costs

其实上面的描述还是不严谨,临床决策考虑是不是施加干预,肯定还要考虑干预本身的危害性,比如如果干预完全是对病人无害的,那么想都不用想,管它三七二十一,就算病人只有0.1的概率患病,我也要把干预直接搞起来,因为干预没损害的嘛。

但是干预存在副作用的时候,我们可以有这么一个换算关系:多少个真阳性的干预获益能抵得上一个假阳性的干预损失?

回到我们的实际情形:如果现在模型告诉我,病人患病的概率是100%,我一定会给病人施加干预,毫无疑问!如果模型告诉我病人患病的概率是98%,我估摸着也给个干预看看(尽管这个干预有一定危害),那么如果模型告诉我病人患病的概率是90%,干预还是不干预呢?这个时候我就不知道了,有点懵。

有人说还是应该干预,那么请继续往下读:

但是过往的经验告诉我(或者我本身就知道):一个副作用很强的干预,对于阳性病人干预的获益是对阴性病人干预损失的1/9(干预错的损失是干预一个真阳性获益的9倍),另一种理解就是我干预阳性病人9个人的获益和干预了1个阴性病人的损失可以抵消。此时如果模型告诉你,某病人阳性的概率是90%,请问你对不对它进行干预?

回答我!

聪明的你估计又想了想,好像这个时候不干预也行,因为这种时候干预在理论上其实是没有受益的(尽管模型告诉我它的病的概率达到90%,0.9*1/9=(1-0.9)*1)。

上面的‘阳性的概率是90%’中的90%就叫做阈概率(Threshold Probability),表示的是只有病人的预测概率超过这个阈概率,干预才有受益,才值得干预:

threshold probabilities, defined as the minimum probability of disease at which further intervention would be warranted, as net benefit = sensitivity × prevalence – (1 – specificity) × (1 – prevalence) × w where w is the odds at the threshold probability

这个阈概率本身我们是不知道的,但是我们关心的是是不是我们的训练出来的模型在任何阈概率情况下都是有收益的,都是值得应用的,这就是DCA曲线要帮助我们回答的问题。

所以请大家记住:决策曲线要描述的对象是整个预测模型或者是某个测验,就是要看按照模型结果进行干预的净受益。

我们还是再看一眼DCA曲线:

DCA曲线的横轴是阈概率,纵轴是净获益,可以看到阈概率在DCA曲线上展示的都是比较小的,刚刚给大家举的例子着实有点极端了。再回顾一下净获益,刚刚写了获益的意思是正确识别阳性,但是模型其实还有损失的嘛(就是错误的识别了阳性),因为对于阳性我们就得进行干预,但是干预有没有益处,得比较两个东西------就是真阳性的获益和假阳性的损失,两个做差就叫做净获益。

这样DCA曲线就可以描述随着阈概率变化,按照模型预测值进行干预的情况下净获益的变化。

注意曲线中有一条叫做“intervention for all”,就是极端情况,所有人都进行干预,这个时候只有真阳性才获益,如果阈概率从小到大变化(就是干预错的损失/干预的获益的值从小到大变化,比如看图中横轴的1:19到1:9)那么所有人都进行干预整体净获益肯定会从大到小变,就是随着阈概率的增大(干预的损失增大/干预获益的比值的增大)那么对所有人都进行干预的净获益也会逐渐减小(这就是为什么intervention for all的斜率是负的)。

注意曲线中有一条叫做“intervention for none”,就是极端情况,所有人都不进行干预,这个时候无论阈概率如何变化净获益肯定为0,很好理解,因为你都不干预嘛,哪里有干预获益的道理?。所以这条线一直是平的。

“intervention for all”这条线和“intervention for none”这条线还有一个交点,就是说在某个阈概率水平下,对于阳性病人采取全干预和全不干预的净获益都是一样的,就像刚刚给大家写的例子反过来:如果干预一个真阳性病人的获益是9,干预一个假阳性病人的损失是1,此时阈概率应该为1/(9+1)=0.1,就是说在这种情况下阈概率为0.1的时候两条线就会相交。

在换个思维再给大家举个例子,现在假设我知道我预测的人群的某病患病率为0.2,某干预方法的干预真阳性的受益是8,干预假阳性的损失是2,那么此时对应的阈概率为2/(2+8)=0.2,此时采用全干预策略的净获益为0.2*8-2*0.8=0,此时两条线相交。

通过上面两个例子,应该大家就可以理解了:在阈概率等于研究人群患病率的这个点,两条线会相交,也就是全干预策略的净受益为0。

上面的部分行文思路来源于文献,感兴趣的同学建议还是去阅读原文哦:

Vickers, A.J., van Calster, B. & Steyerberg, E.W. A simple, step-by-step guide to interpreting decision curve analysis. Diagn Progn Res 3, 18 (2019). https://doi.org/10.1186/s41512-019-0064-7

如何读DCA曲线

再回到下图就是一个DCA曲线的常见样子,不过这个曲线将预测模型和另外一个检测技术test,画在了一个图上,那么怎么读图呢?

首先图中两条实线是两个最极端的情况,一个叫做“intervention for all”,另一个叫做"intervention for none",刚刚解释过它们的意思了。

可以从图中看出,随着阈概率的增加,模型的净受益会下降(更精确的说法是根据模型结果进行干预的净受益会下降),但是对于我们训练的Model来讲,按照Model的预测结果进行干预的话,除了阈概率很小的情况下,在其余的阈概率情形下模型的表现都是比较好的,并且模型表现始终比test好。

做好预测模型之后,咱们把这个图给亮出来,就相当于给编辑说明了我做的这个预测模型确实好,确实比现有的检测技术管用,赶紧发表出来吧,这个就是DCA曲线。

Hence, we can conclude that, except for a small range of low preferences, intervening on (i.e., biopsying) patients on the basis of the prediction model leads to higher benefit than the alternative strategies of biopsying all patients, biopsying no patients, or only biopsy those patients who are positive on the diagnostic test. For the prostate biopsy study, the conclusion is that using the model to determine whether patients should have a biopsy would lead to improved clinical outcome.

小结

今天给大家介绍了临床预测模型中矫正曲线和决策曲线的意义(仅以2分类结局为例),本来想的是将做法一起写的,无奈写的太罗嗦,字符限制了,那就分为2期吧,下期就出实操,希望对大家有启发。

本文链接地址:https://www.jiuchutong.com/zhishi/298383.html 转载请保留说明!

上一篇:java-文件上传-excel存入数据库全代码及流程(附前端代码)(java上传文件 multipartfile)

下一篇:【YOLOv7】主要改进点详解(yolov4参数设置)

  • 如何进入路由器(如何进入路由器设置界面)

    如何进入路由器(如何进入路由器设置界面)

  • med-al00是华为什么型号(med-al00是华为什么型号处理器)

    med-al00是华为什么型号(med-al00是华为什么型号处理器)

  • 华为手表和苹果手机匹配吗(华为手表和苹果手机配对哪些功能不能用)

    华为手表和苹果手机匹配吗(华为手表和苹果手机配对哪些功能不能用)

  • 闲鱼曝光率只有85是怎么回事(闲鱼曝光率只有100多)

    闲鱼曝光率只有85是怎么回事(闲鱼曝光率只有100多)

  • lbm是什么笔记本电脑(笔记本lb rb)

    lbm是什么笔记本电脑(笔记本lb rb)

  • ios13.5正式版值得更新吗(苹果ios13.6正式版好用吗)

    ios13.5正式版值得更新吗(苹果ios13.6正式版好用吗)

  • 超链接是一种什么关系(超链接的主要作用是什么)

    超链接是一种什么关系(超链接的主要作用是什么)

  • 平板屏幕花屏横条纹闪(平板屏幕花屏横条纹闪怎么办)

    平板屏幕花屏横条纹闪(平板屏幕花屏横条纹闪怎么办)

  • 怎么在文件夹里打字(怎么在文件夹里新建一个文件)

    怎么在文件夹里打字(怎么在文件夹里新建一个文件)

  • 惠普电脑截屏的快捷键是什么(惠普电脑截屏的图片在哪里找)

    惠普电脑截屏的快捷键是什么(惠普电脑截屏的图片在哪里找)

  • 网址的组成部分有哪些(网址的构成)

    网址的组成部分有哪些(网址的构成)

  • 照片显示什么手机拍摄怎么设置(照片上怎么显示是什么手机照的)

    照片显示什么手机拍摄怎么设置(照片上怎么显示是什么手机照的)

  • 软件系统可以分为(软件系统可以分为()和()两大类?没有任务详情)

    软件系统可以分为(软件系统可以分为()和()两大类?没有任务详情)

  • 苹果7plus微信没有提示音(苹果7plus微信没声音怎么调)

    苹果7plus微信没有提示音(苹果7plus微信没声音怎么调)

  • 华为mate30pro怎么添加桌面插件(华为mate30pro怎么进入recovery)

    华为mate30pro怎么添加桌面插件(华为mate30pro怎么进入recovery)

  • 去看别人的抖音会留下足迹吗(去看别人的抖音视频别人知道吗)

    去看别人的抖音会留下足迹吗(去看别人的抖音视频别人知道吗)

  • 如何关闭手机分身功能(如何关闭手机分享功能)

    如何关闭手机分身功能(如何关闭手机分享功能)

  • 序列号d开头是啥意思(序列号d开头是最差的吗)

    序列号d开头是啥意思(序列号d开头是最差的吗)

  • 荣耀20拍照有防抖技术吗(荣耀20拍照防抖怎么设置)

    荣耀20拍照有防抖技术吗(荣耀20拍照防抖怎么设置)

  • 物联卡实名后怎么注销(物联卡实名怎么实名)

    物联卡实名后怎么注销(物联卡实名怎么实名)

  • 微信火车票补贴怎么提现(微信火车票补贴什么时候返现)

    微信火车票补贴怎么提现(微信火车票补贴什么时候返现)

  • 计算机二级准考证下载打不开(计算机二级准考证什么时候打印9月)

    计算机二级准考证下载打不开(计算机二级准考证什么时候打印9月)

  • xs xr区别(xs xr什么区别 哪个更好)

    xs xr区别(xs xr什么区别 哪个更好)

  • 哈罗顺风车有发票吗(哈罗顺风车发布行程)

    哈罗顺风车有发票吗(哈罗顺风车发布行程)

  • 使用您自己的计算机训练 Stable Diffusion 和 Bloom (175B) 等模型(让我用用你的计算机)

    使用您自己的计算机训练 Stable Diffusion 和 Bloom (175B) 等模型(让我用用你的计算机)

  • 房地产开发企业预缴增值税
  • 税负怎么计算
  • 取得的高速公路发票可以抵扣吗
  • 企业所得税中资产总额平均值怎么核算?
  • 办理税务登记之后
  • 全年一次性奖金税率表
  • 培训费用属于
  • 个人独资企业转个体户怎么办理
  • 在建工程在现金流量表中
  • 财产保险合同印花税计税依据
  • 退税 增值税
  • 营改增后电力行业非正常损失怎么做会计处理?
  • 公司美元账户收到美元要交税吗
  • 向其他单位无偿提供服务的不需缴纳增值税
  • 采购发票几个点的税
  • 如何计算企业当年利润
  • 银行账户设置数大于纳税人向税务机关提供数
  • 节日现金福利征收个人所得税吗
  • 进口发票怎么认证
  • 分公司交总公司管理费怎么做账
  • 餐饮发票忘记作废也没冲红怎么处理?
  • 误餐费怎么入账
  • 成本费用利润率越高,说明企业盈利能力
  • 在同一预缴地有多个项目的建筑业纳税人总销售额以什么为标准确定?
  • 缴纳个人所得税会计分录
  • linux系统怎么关闭端口
  • 收到负数发票怎么办
  • 货物质量赔偿需要改变收入吗合法吗
  • thinkphp怎么用
  • PHP:curl_unescape()的用法_cURL函数
  • 其他应收款年末怎么处理
  • php ffi 教程
  • 商业会计的做账流程
  • 担保公司未到期责任准备金会计及税务处理案例
  • 在大运河上举办什么活动
  • 为什么结转各项支出时本年利润在借方
  • 分配股利账务处理
  • mount.nfs an incorrect mount
  • php读取大文件的内容
  • unix命令大全详解
  • 小规模增值税减征额怎么算
  • 红字发票已开但红字发票信息表已核销待查证,怎么回事?
  • 技术服务费计入成本会计分录
  • 首涂第二十一套模板
  • 出差发生的旅游事件
  • 低值易耗品指的价格
  • 金税四期对小规模企业有何要求
  • 自产产品对外捐赠为什么不确认收入
  • 什么时候不能计入开办费
  • 红冲发票重开一定要一样的金额吗?
  • 股东借款的利息收入
  • 有限合伙企业如何报税
  • 抵账协议上可以签字吗
  • 建筑企业收到发票未付款怎么做账
  • 销售加工费怎么记账
  • 其他应收款核算什么
  • 非居民企业所得税税率
  • 小规模纳税人的金税盘可以抵税吗
  • 机票退票手续费太贵怎么办
  • 银行存款负数如何计算
  • MySQL存储过程与触发器
  • esxi6.7克隆
  • win7系统如何提升性能
  • mac系统的控制面板在哪
  • linux promisc
  • Win7中Remote Procedure Call(RPC)服务能关闭吗
  • win7系统桌面设置
  • svaplayer.exe - svaplayer是什么进程 有何作用
  • xp电脑注册表怎么打开
  • window7电源设置
  • xp连接到共享打印机
  • 如何一键恢复win10设置
  • win8自带软件哪些可以卸载
  • unity3d读取gis数据
  • python的正则语法
  • jquery 模态框实现
  • js jquery区别
  • 税务开票系统对账流程
  • 广东省地税电子税务局
  • 河北税务官方网页
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设