位置: 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参数设置)

  • 苹果6 plus尺寸多少(苹果6 0系统)(苹果6plus尺寸多大屏幕)

    苹果6 plus尺寸多少(苹果6 0系统)(苹果6plus尺寸多大屏幕)

  • 诺基亚6030价格(诺基亚6030手机)(诺基亚6630上市价格)

    诺基亚6030价格(诺基亚6030手机)(诺基亚6630上市价格)

  • 余额宝如何赚钱(余额宝如何赚钱的)

    余额宝如何赚钱(余额宝如何赚钱的)

  • 荣耀手机通话自动录音在哪里设置(荣耀手机通话自动录音怎么关闭)

    荣耀手机通话自动录音在哪里设置(荣耀手机通话自动录音怎么关闭)

  • 抖音点赞会耗内存吗(抖音点赞会耗内存吗知乎)

    抖音点赞会耗内存吗(抖音点赞会耗内存吗知乎)

  • 手机qq资料卡怎么不显示空间照片(手机qq资料卡怎么不显示空间说说)

    手机qq资料卡怎么不显示空间照片(手机qq资料卡怎么不显示空间说说)

  • 苹果手表能监测睡眠质量吗(苹果手表能监测体温吗)

    苹果手表能监测睡眠质量吗(苹果手表能监测体温吗)

  • 快手购物车在哪里打开(快手购物车在哪里找到)

    快手购物车在哪里打开(快手购物车在哪里找到)

  • 你好您拨打的电话暂时无法接通(你好您拨打的电话正在通话中)

    你好您拨打的电话暂时无法接通(你好您拨打的电话正在通话中)

  • 抖音关注了对方对方知道吗(抖音关注了对方,怎么突然取消关注)

    抖音关注了对方对方知道吗(抖音关注了对方,怎么突然取消关注)

  • 华为手机锁定模式是什么意思(华为手机锁定模式有什么用)

    华为手机锁定模式是什么意思(华为手机锁定模式有什么用)

  • 怎么下载安装抖音(下载安装抖音到桌面)

    怎么下载安装抖音(下载安装抖音到桌面)

  • ipad2用久了很卡怎么办 (ipad用了两年变卡了)

    ipad2用久了很卡怎么办 (ipad用了两年变卡了)

  • 看火山小视频对方知道吗(火山小视频对口型唱歌)

    看火山小视频对方知道吗(火山小视频对口型唱歌)

  • 闲鱼付了钱不发货怎么办(闲鱼付钱不发货7天后)

    闲鱼付了钱不发货怎么办(闲鱼付钱不发货7天后)

  • 电脑连上wifi却上不了网(电脑连上wifi却上不了网怎么办)

    电脑连上wifi却上不了网(电脑连上wifi却上不了网怎么办)

  • 苹果apk怎么安装(怎么把apk转化为苹果安装包)

    苹果apk怎么安装(怎么把apk转化为苹果安装包)

  • 微信视频怎么发快手上(微信视频怎么发到视频号)

    微信视频怎么发快手上(微信视频怎么发到视频号)

  • 快手暂时禁用多长时间(快手暂时禁用多久恢复)

    快手暂时禁用多长时间(快手暂时禁用多久恢复)

  • 余额宝的体验金怎么分享(余额宝的体验金可以花吗)

    余额宝的体验金怎么分享(余额宝的体验金可以花吗)

  • huaweip30的相机规格(华为pro30相机)

    huaweip30的相机规格(华为pro30相机)

  • 如何鉴别小米8翻新机(如何鉴别小米13真假)

    如何鉴别小米8翻新机(如何鉴别小米13真假)

  • 来电显示美国电话号码是怎么回事(来电显示美国电话打了好几个)

    来电显示美国电话号码是怎么回事(来电显示美国电话打了好几个)

  • vivoy93和y93s的区别(vivoy93与y93s)

    vivoy93和y93s的区别(vivoy93与y93s)

  • 蓝牙耳机洗衣机洗后还能用吗(蓝牙耳机洗衣机洗了还有救吗)

    蓝牙耳机洗衣机洗后还能用吗(蓝牙耳机洗衣机洗了还有救吗)

  • 苹果电脑如何安装windows(苹果电脑如何安装双系统)

    苹果电脑如何安装windows(苹果电脑如何安装双系统)

  • 一拨电话就显示通话结束(为什么电话显示拨出状态)

    一拨电话就显示通话结束(为什么电话显示拨出状态)

  • 未核销fyc
  • 年度企业所得税会计分录怎么做
  • 运费收入算销售收入吗
  • 减去税率怎么算
  • 如何判断固定资产资本化还是费用化
  • 开模费用计入什么科目
  • 个人所得税差额20%政策
  • 以前年度损益调整
  • 住宿发票专票可抵扣吗
  • 捐赠和赞助业务的税务处理怎么做?
  • 电子承兑没到期如何贴现
  • 堤围防护费什么时候停止征收
  • 预提返利的会计处理
  • 资产负债表货币资金与现金流量表的关系
  • 返聘人员工伤可以申请工伤鉴定吗
  • 抄税没成功
  • 未达起征点怎么写摘要
  • 收到投资款不做资本可以做什么?
  • 加计扣除农产品进项税额
  • 收到快递关税做什么科目
  • 月不超过10万,季不超过30万免什么税
  • 金融服务公司收取金融服务费
  • 暂估金额与发票金额的区别
  • 全额抵免的计算
  • win10任务栏图标怎么变大
  • 收到借出款利息会计分录
  • win10平板模式不好用
  • 个人出售普通住房个人所得税
  • 自产产品用于业务招待 如何申报企业所得税
  • 出售债券税费处理方法
  • 装修费用如何做分录
  • 应收账款保理的作用有哪些
  • 企业所得税扣除限额标准
  • 支付的食堂费用怎么入账
  • thinkphp6 数据库
  • 水利建设基金的计税依据及税率
  • 发生的计提费用没有发生怎么办
  • 出口退税哪些税不退
  • python字符串字面量有哪4种
  • 进项发票和销项发票金额相同还需要交税金吗
  • python frames
  • logstash gsub
  • 一般纳税人申请条件
  • 季度对账单 怎么处理
  • 公司广告费用咨询费都应当作为管理费用对还是错
  • 个人独资所得
  • 小规模差额征税的账务处理
  • 监控维护费用计入什么明细科目
  • 增值税普通发票和专用发票有什么区别
  • 发票未及时开,但是双方会计已经做帐,怎么办?
  • 管家婆软件如何做账?
  • 怎么做好流水账
  • 给客户优惠货款怎么写
  • 预付账款的相关认定
  • 公司往来借款怎么做账
  • 一般纳税人企业所得税政策最新2023
  • 公司给公司的工会拨款
  • 银行承兑汇票如何背书转让
  • 获取数据库最新的一条记录
  • count(10,2,5)
  • win8系统安装步骤
  • win7开机taskeng
  • windows8触摸板设置
  • win8/10功能
  • 怎么看win8.1的版本
  • 电脑arp攻击怎么解决
  • Extjs4 GridPanel的主要配置参数详细介绍
  • ContentProvider之通过ContentResolver获取图像、视频、音频举例
  • shell while
  • 基于javaweb的物流管理系统
  • cocos2dx运行原理
  • vue 瀑布流
  • bootstrap范例
  • unity learn premium
  • 安卓自定义acl文件
  • shell脚本实例精讲
  • javascript !
  • 实用js代码
  • 陕西个体户免税政策
  • t+怎么取消记账凭证
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设