如何计算两条 ROC 曲线之间的 AUC 差异(95% CI)?
Posted
技术标签:
【中文标题】如何计算两条 ROC 曲线之间的 AUC 差异(95% CI)?【英文标题】:How to calculate a difference in AUC (with 95% CI) between two ROC curves? 【发布时间】:2021-11-19 23:48:53 【问题描述】:我正在使用 pROC 包(版本 1.17.0.1)中的 roc.test 函数来比较两条 ROC 曲线。数据是配对的,因此使用 DeLong 检验。但是,即使我在函数中指定了置信区间,该函数也不会输出置信区间。请参阅下面使用 aSAH 数据集的示例。
library(pROC)
data(aSAH)
roc1 <- roc(aSAH$outcome, aSAH$s100b)
roc2 <- roc(aSAH$outcome, aSAH$wfns)
roc.test(roc1, roc2, method="delong", paired=TRUE,
alternative="two.sided", conf.level=0.95, reuse.auc=TRUE)
我得到的输出如下:
DeLong 对两条相关 ROC 曲线的检验
数据:roc1 和 roc2 Z = -2.209,p 值 = 0.02718 备择假设:AUC 的真实差异不等于 0 样本估计: roc1 的 AUC roc2 的 AUC 0.7313686 0.8236789
但是,没有置信区间。有人遇到过这个问题吗?
【问题讨论】:
请提供最少且可重现的示例以及所需的输出。对数据使用 dput() 并使用 library() 调用指定所有非基础包。不要为数据或代码嵌入图片,而是使用缩进的代码块。 无法重现。当我使用帮助页面的第一个示例运行这组参数时,我确实得到了一个报告的置信区间。您既没有提供打印输出,也没有提供minimal reproducible example。投票结束。 什么版本的 pROC?sessionInfo()
很有用。
@Calimo 谢谢。我正在使用 pROC_1.17.0.1。
@IRTFM 很有趣。当我运行帮助页面的第一个示例时,我没有得到 95% 的 CI。您介意分享您使用的代码吗?
【参考方案1】:
这是new feature in pROC 1.18.0。您应该使用
将 pROC 更新到最新版本install.packages("pROC")
【讨论】:
以上是关于如何计算两条 ROC 曲线之间的 AUC 差异(95% CI)?的主要内容,如果未能解决你的问题,请参考以下文章
R语言deLong‘s test:使用自定义函数检验两个ROC曲线的差异是否具有统计显著性比较两个或多个相关ROC曲线的AUC的非参数检验