You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

roc.test函数能否用于因变量不同的两条ROC曲线的AUC比较?

二分类变量不同时的AUC比较

请问roc.test函数是否仅能用于两条ROC曲线(roc1和roc2)的因变量(二分类变量)相同的场景下进行ROC曲线比较,还是也可用于因变量不同的场景?

用户提供的R代码示例:

RocI <- roc(dat$I, dat$SIDI.F, ci = TRUE)
RocO <- roc(dat$O, dat$SIDI.F, ci = TRUE)

roc.test(RocI, RocO, method=c("bootstrap"), alternative = c("greater"),
         paired=NULL, reuse.auc=T, boot.n=2000, boot.stratified=TRUE,
         parallel=FALSE, conf.level=0.95)

数据示例:

ID I O SIDI.F
1   1 0 0     50
2   2 1 1     13
3   3 1 1     13
4   4 0 0     12
5   5 0 0     13
6   6 0 0     15
7   7 0 0     23
8   8 0 0     34

roc.test(pROC包中的函数)可以用于因变量不同的场景,但要注意统计假设和数据结构的合理性:

  • 你的代码中,两条ROC曲线共享同一个预测变量SIDI.F,但对应不同的二分类因变量I和O,这种情况下选择bootstrap方法是合适的——bootstrap能灵活处理这种非标准的ROC比较场景,不管因变量是否相同。
  • 这种比较的本质是验证:同一个预测变量对两种不同结局的区分能力是否存在差异。只要样本结构合理(比如你的数据里每个样本同时具备I和O两个结局,属于配对观测),这类统计检验就有意义。
  • 代码中paired=NULL参数会让函数自动识别数据配对关系:如果两个ROC曲线的观测是一一对应的(同一样本对应两个因变量),函数会按配对逻辑处理;否则按独立样本处理,无需额外手动设置。

内容的提问来源于stack exchange,提问作者Re2124

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 00:10:20