ROC曲线图详解

本文详细解析了ROC曲线的概念,生成方法及其在诊断试验评估中的关键作用。通过ROC曲线,可以直观了解诊断试验的准确性,选择最佳界限值,并比较不同诊断方法的优劣。文章还介绍了ROC曲线分析的主要步骤,包括曲线绘制、统计量计算和诊断方法的比较。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ROC曲线图详解
(一)ROC曲线的概念 受试者工作特征曲线(receiver operator characteristic curve, ROC曲线),最初用于评价雷达性能,又称为接收者操作特性曲线。ROC曲线是根据一系列不同的二分类方式(分界值或决定阈),以真阳性率(灵敏度)为纵坐标,假阳性率(1-特异度)为横坐标绘制的曲线。 传统的诊断试验评价方法有一个共同的特点,必须将试验结果分为两类,再进行统计分析。ROC曲线的评价方法与传统的评价方法不同,无须此限制,而是根据实际情况,允许有中间状态,可以把试验结果划分为多个有序分类,如正常、大致正常、可疑、大致异常和异常五个等级再进行统计分析。因此,ROC曲线评价方法适用的范围更为广泛。

诊断 泛指某对象(如人、仪器、设备、试剂、试验及方法等)对确定事件作出正常或异常判断的过程。TN真阴性,FN假阴性,TP真阳性,FP假阳性,在日常工作中,很难用特定试验结果来完美地区分两组人群:病例组和对照组,如帕金森病的有与无、肿瘤的恶性与良性、肿块的一个与多个等。如图在这里插入图片描述所示,检验结果往往是重叠的。

对于每一个可能用于区分两组人群的分割点(cut-off point)或标准值(criterion value),都会将一些病例正确归类为阳性,即真阳性(True Positive,TP),而将另外一些病例归类为阴性,即假阴性(False Negative,FN)。另一方面,将一些对照个案正确归类阴性,即真阴性(True Negative,TF),而将另外一些对照个案归类为阳性,即假阳性(False Positive,FP)。这些指标可采用2×2列联表(contingency table)或决策矩阵(decision matrix)定义。
在这里插入图片描述
诊断试验可产生如下统计量:

灵敏度(Sensitivity,Se)称为真阳性率(true-positive fraction,TPF;或true-positive rate,TPR),为病例组中诊断试验正确诊断为阳性的概率,。
特异度(Specificity,Sp),称为真阴性率(true-negative fraction,TNF;或true-negative rate,TNR):为对照组中诊断试验正确诊断为阴性的概率

假阴性率(false-negative fraction,FNF;或false-negativerate,FNR),为病例组中错误诊断试验为阴性的概率,假阴性将导致病情延误与治疗延期等危害。

假阳性率(false-positive fraction,FPF;或false-positiverate,FPR),为对照组中诊断试验错误诊断为阳性的概率,。假阳性将导致治疗不正确,患者有时需要遭受风险很大的确证试验。

阳性似然比(Positive likelihood ratio,LR+),为真阳性率与假阳性率的比值,即阴性似然比(Negative likelihood ratio,LR-),为假阴性率与真阴性率的比值,即。

阳性预测值(Positive predictive value,PPV),为诊断试验为阳性结果中病人的概率,即阴性预测值(Negative predictive value,NPV),为诊断试验为阴性结果中非病人的概率。

(二)ROC曲线的生成
假设采用逻辑回归分类器,其给出针对每个实例为正类的概率,那么通过设定一个阈值如0.6,概率大于等于0.6的为正类,小于0.6的为负类。对应的就可以算出一组(FPR,TPR),在平面中得到对应坐标点。随着阈值的逐渐减小,越来越多的实例被划分为正类,但是这些正类中同样也掺杂着真正的负实例,即TPR和FPR会同时增大。阈值最大时,对应坐标点为(0,0),阈值最小时,对应坐标点(1,1)。
如下面这幅图,(a)图中实线为ROC曲线,线上每个点对应一个阈值。
在这里插入图片描述

(二)ROC曲线的主要作用
1.ROC曲线能很容易地查出任意界限值时的对疾病的识别能力。
2.选择最佳的诊断界限值。ROC曲线越靠近左上角,试验的准确性就越高。最靠近左上角的ROC曲线的点是错误最少的最好阈值,其假阳性和假阴性的总数最少。
3.两种或两种以上不同诊断试验对疾病识别能力的比较。在对同一种疾病的两种或两种以上诊断方法进行比较时,可将各试验的ROC曲线绘制到同一坐标中,以直观地鉴别优劣,靠近左上角的ROC曲线所代表的受试者工作最准确。亦可通过分别计算各个试验的ROC曲线下的面积(AUC)进行比较,哪一种试验的 AUC最大,则哪一种试验的诊断价值最佳。
(三)ROC曲线分析的主要步骤
1.ROC曲线绘制。依据专业知识,对疾病组和参照组测定结果进行分析,确定测定值的上下限、组距以及截断点(cut-off point),按选择的组距间隔列出累积频数分布表,分别计算出所有截断点的敏感性、特异性和假阳性率(1-特异性)。以敏感性为纵坐标代表真阳性率,(1-特异性)为横坐标代表假阳性率,作图绘成ROC曲线。
2.ROC曲线评价统计量计算。ROC曲线下的面积值在1.0和0.5之间。在AUC>0.5的情况下,AUC越接近于1,说明诊断效果越好。即受试对象中所有的病人均为阳性,而所有的非病人均为阴性。AUC在 0.5~0.7时有较低准确性,AUC在0.7~0.9时有一定准确性,AUC在0.9以上时有较高准确性。AUC=0.5时,说明诊断方法完全不起作用,无诊断价值。AUC<0.5不符合真实情况,在实际中极少出现。
在这里插入图片描述
明显看到绿色准确率更高。
3.两种诊断方法的统计学比较。两种诊断方法的比较时,根据不同的试验设计可采用以下两种方法:①当两种诊断方法分别在不同受试者身上进行时,采用成组比较法。②如果两种诊断方法在同一受试者身上进行时,采用配对比较法。

(四)ROC曲线的优点 该方法简单、直观,通过图示可观察分析方法的临床准确性,并可用肉眼作出判断。ROC曲线将灵敏度与特异性以图示方法结合在一起,可准确反映某分析方法特异性和敏感性的关系,是试验准确性的综合代表。ROC曲线不固定分类界值,允许中间状态存在,利于使用者结合专业知识,权衡漏诊与误诊的影响,选择一更佳截断点作为诊断参考值。提供不同试验之间在共同标尺下的直观的比较,ROC曲线越凸越近左上角表明其诊断价值越大,利于不同指标间的比较。曲线下面积可评价诊断准确性。

### ROC 曲线与 AUC 指标概述 ROC 曲线,即接收者操作特征曲线,是一种用于评估二分类模型性能的图形化工具。该曲线展示了真阳性率(TPR)相对于假阳性率(FPR)的变化情况[^1]。 #### 真阳性率 (TPR) 真阳性率也称为灵敏度或召回率,表示所有正类样本中有多少被正确识别的比例: \[ \text{TPR} = \frac{\text{TP}}{\text{TP}+\text{FN}} \] 其中 TP 表示真正例数,FN 表示假负例数。 #### 假阳性率 (FPR) 假阳性率反映了所有负类样本中错误地被判为正类的比例: \[ \text{FPR} = \frac{\text{FP}}{\text{TN}+\text{FP}} \] 这里 FP 是假正例数,而 TN 则代表真负例数。 ### AUC 定义及其重要性 AUC 即 Area Under the Curve 的缩写,指的是 ROC 曲线下的面积大小。理论上其取值范围是从0到1之间;当 AUC 接近于1时说明模型具有较好的区分能力;如果接近0.5,则意味着模型几乎不具备任何预测价值[^3]。 ### 如何绘制 ROC 曲线? 为了构建一条完整的 ROC 曲线,在不同的决策阈值下计算对应的 TPR 和 FPR 对,并将其绘制成图即可得到最终的结果。具体过程如下所示: ```python from sklearn import metrics import matplotlib.pyplot as plt def plot_roc_curve(y_true, y_pred_proba): fpr, tpr, _ = metrics.roc_curve(y_true, y_pred_proba) auc_score = metrics.auc(fpr, tpr) plt.figure() lw = 2 plt.plot(fpr, tpr, color='darkorange', lw=lw, label=f'ROC curve (area = {auc_score:.2f})') plt.plot([0, 1], [0, 1], color='navy', lw=lw, linestyle='--') plt.xlim([0.0, 1.0]) plt.ylim([0.0, 1.05]) plt.xlabel('False Positive Rate') plt.ylabel('True Positive Rate') plt.title('Receiver Operating Characteristic Example') plt.legend(loc="lower right") plt.show() # 使用样例数据调用函数 plot_roc_curve([0, 0, 1, 1], [0.1, 0.4, 0.35, 0.8]) ``` 此代码片段实现了基于给定的真实标签 `y_true` 及概率估计 `y_pred_proba` 来生成并展示相应的 ROC 图形及 AUC 数值。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值