实例教程:协变量调整后的ROC曲线及AUC的计算

王九谊

王九谊

荷兰乌特勒支大学理学院药物流行病与临床药理学系

擅长:诊断试验,生存分析,预测模型的开发和验证,卫生技术评估
已关注
关注
2019-02-07 来源:医咖会

在很多情况下,协变量会影响诊断指标值的分布情况。例如,我们在上一篇文章中用到的数据,年龄就会影响卵巢储备功能检测指标的分布。(点击查看文章详情:如何联合多个指标提升诊断准确度?教程来了!

所以在评价一个诊断指标的准确度时,需要通过调整来去除协变量造成的影响。通常提到调整,大家首先会想到将协变量加入回归模型中,就可以得到调整后的效应量估计。但是这种方法并不适用于计算调整后的诊断准确度,因为这样得到的准确度是联合了多个指标的诊断得分的准确度(详见上篇文章),而不是真正的调整了协变量影响后的诊断指标自身的准确度。这篇文章,我们就介绍一下,如何计算协变量调整后的ROC曲线和AUC值。

以基础窦卵泡数(AFC)为例,我们根据样本中患者年龄的中位数(34岁)将所有患者分为低年龄组(≤34岁)和高年龄组(>34岁),可以发现低年龄组(实线)的AFC值要高于高年龄组(虚线)的AFC值(实线表示的分布位置比同一颜色的虚线表示的分布位置更偏向x轴的右侧,即更高的AFC值)(图1)。

图1. 卵巢低反应/非低反应组AFC指标分年龄组的分布

(注:x轴是AFC的值,y轴是分布密度函数)

诊断指标值在协变量组间的差异,会对ROC曲线和AUC的估计有什么影响呢?从图2中我们可以看出,基于全部患者的整体ROC曲线,相比于根据协变量分层的ROC曲线,会得到更高的AUC值。

原因就在于,分层变量本身也是具有一定预测能力的变量。如果我们想要得到诊断试验指标本身的诊断准确度,就需要排除分层变量自身的预测能力对诊断试验表现的影响。

图2. 协变量分组ROC曲线和整体ROC曲线

蓝色:年龄≤34岁,AUC=0.7525

红色:年龄>34岁,AUC=0.7837

试读结束,兑换后即可解锁本专栏全部课程
评论
请先登录后再发表评论
发表评论
medi_er25y3e
如果协变量既有分类变量,又有连续性变量,model该如何选择,是straitified还是linear呀
2023-10-08 23:04:36 回复
0
medi_27084355553
亲爱的老师,请问下可否给下调整ROC在R中实现的代码?非常感谢!
2023-02-12 21:37:06 回复
0
西湖雨
请问下楼主,可否给下调整ROC在R中实现的代码?非常感谢!
2022-02-15 18:11:24 回复
0
暖暖
您好,楼主,同样想问一下,如何实现:将调整前的和调整后的roc曲线画在同一个坐标轴里呢?是否方便给下代码
2021-09-14 11:33:47 回复
1
嘎嘎嘎
可以看看:https://www.zhihu.com/question/384938599
2021-09-29 16:51:16 回复
0
medi_26685593982
想请问协变量调整后的roc曲线约登指数的截断值该怎么解读呢?有什么意义吗?
2021-08-06 09:20:03 回复
0
嘎嘎嘎
找到最大约登指数,看到对应的预测值,然后就可以找到各变量对应的截断值。截断值就是分类的依据哇,可以看看:诊断试验中,如何确定截断值(cutoff值)https://www.mediecogroup.com/zhuanlan/lessons/84/
2021-09-29 16:53:09 回复
0
小小哆
如果协变量既有连续性也有分类型该怎么处理?
2021-05-10 16:16:42 回复
0
嘎嘎嘎
可以同时作为控制变量放入模型,不影响
2021-09-29 16:51:39 回复
1
medi_26846085058
您好,楼主,想问一下,如何实现:将调整前的和调整后的roc曲线合并在一起呢?是否方便给下代码
2021-01-16 10:46:24 回复
2
嘎嘎嘎
可以看看:https://www.zhihu.com/question/384938599
2021-09-29 16:51:23 回复
0
使用课程券需先认证
为保证平台的学术氛围,请先完成认证,认证可免费享受基础会员权益
基础课程券2张
专属科研工作台
200积分
确认
取消
下载附件需认证
为保证平台的学术氛围,请先完成认证,认证可免费享受基础会员权益
基础课程券2张
专属科研工作台
200积分
确认
取消
公众号
统计咨询
扫一扫添加小咖个人微信,立即咨询统计分析服务!
会员服务
SCI-AI工具
积分商城
意见反馈