评价标准—ROC & AUC

1、ROC曲线定义与分析

  ROC曲线:受试者工作特征曲线 (receiver operating characteristic curve),又称感受性曲线(sensitivity curve),得此名的原因在于曲线上各点反映着相同的感受性,它们都是对同一信号刺激的反应,只不过是在几种不同的判定标准下所得的结果而已。
  纵轴:真阳性率(True positive rate、敏感性)-收益
  横轴:假阳性率(False positive rate、误诊率=1-特异性)-代价
  针对二分类问题,将实例分为正类(positive)或负类(negative),在实际分类时,会出现四种情况(混淆矩阵):

评价标准—ROC & AUC

 (1)真阳性率(True positive rate、敏感度sensitivity、Recall):TPR=TP/(TP+FN),即分类器预测的正确的正实例占所有正实例的比值。
 (2)真阴性率(True negative rate、特异度specificity):TNR=TN/(FP+TN),即分类器预测的正确的负实例占所有负实例的比值。
 (3)假阳性率(False positive rate、误诊率):FPR=FP/(FP+TN),即分类器错误预测为正实例的负实例占所有负实例的比值。
 (4)假阴性率(False negative rate、漏诊率):FNR=FN/(TP+FN),即分类器错误预测为负实例的正实例占所有正实例的比值。
  在一个二分类模型中,对于所得到的连续结果,假设已确定一个阀值,如0.6,大于这个值的实例划归为正类,小于这个值则划到负类中。如果减小阀值到0.5,固然能识别出更多的正类,也就是提高了识别出的正例占所有正例的比类,即TPR(敏感性增加),但同时也将更多的负实例当作了正实例,即提高了FPR(特异性降低)。为了形象化这一变化,引入ROC,ROC曲线可以用于评价一个分类器。

评价标准—ROC & AUC

 (a)理想情况下,TPR应该接近1,FPR应该接近0。
ROC曲线上的每一个点对应于一个阈值,对于一个分类器,每个阈值下对应一个TPR和FPR的值。比如阈值最大时,TP=FP=0,对应于原点;阈值最小时,TN=FN=0,对应于右上角的点(1,1)。
 (b)随着阈值增加,TP和FP都减小,TPR和FPR也减小,ROC点向左下移动。
ROC曲线还可以用来计算“均值平均精度”(mean average precision),这是当通过改变阈值来选择最好的结果时所得到的平均精度(PPV)

2、如何画ROC曲线
  假设已经得出一系列样本被划分为正类的概率,然后按照大小排序,下图是一个示例,图*有20个测试样本,“Class”一栏表示每个测试样本真正的标签(p表示正样本,n表示负样本),“Score”表示每个测试样本属于正样本的概率。

评价标准—ROC & AUC

  接下来,我们从高到低,依次将“Score”值作为阈值threshold,当测试样本属于正样本的概率大于或等于这个threshold时,我们认为它为正样本,否则为负样本。举例来说,对于图中的第4个样本,其“Score”值为0.6,那么样本1,2,3,4都被认为是正样本,因为它们的“Score”值都大于等于0.6,而其他样本则都认为是负样本。每次选取一个不同的threshold,我们就可以得到一组FPR和TPR,即ROC曲线上的一点。这样一来,我们一共得到了20组FPR和TPR的值,将它们画在ROC曲线的结果如下图:

评价标准—ROC & AUC

3、为什么使用ROC
  ROC曲线有个很好的特性:当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变。在实际的数据集中经常会出现类不平衡(class imbalance)现象,即负样本比正样本多很多(或者相反),而且测试数据中的正负样本的分布也可能随着时间变化。下图是ROC曲线和Precision-Recall曲线的对比:

评价标准—ROC & AUC

  (a)和(b)展示的是分类其在原始测试集(正负样本分布平衡)的结果,(c)和(d)是将测试集中负样本的数量增加到原来的10倍后,分类器的结果。可以明显的看出,ROC曲线基本保持原貌,而Precision-Recall曲线则变化较大。
4. AUC(Area under the Curve of ROC)
  AUC是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不符合真实情况,在实际中极少出现。

5. ROC方法补充:
  1、LROC:应用ROC曲线进行比较时,往往都是比较整条曲线,当两条曲线相交时,曲线下面积可能相等。比较整条曲线没有现实的临床意义,因此有必要对ROC曲线分段比较,这就是LROC (local ROC)。 McGlish和Jiang进行了这方面的研究。Jiang提出部分曲线下面积(PAI)作为评价某段曲线的指标。他认为在临床上要求敏感度较高的情况下,用PAI作为指标比评价整条曲线更有价值。
  2、FROC:经典的ROC方法不能解决对一幅图像上多个异常进行评价的实际问题,70年代提出了无条件限制ROC的概念(free receiver operating characteristic curve,FROC)。FROC允许对每幅图像上的任意异常进行评价。但目前没有可供广泛应用的软件,使临床应用受到限制。

参考
论文:An introduction to ROC analysis (Tom Fawcett)
评价分类器性能指标之AUC、ROC:
https://www.zybuluo.com/frank-shaw/note/152851
直观理解AUC评价指标:http://blog.csdn.net/cherrylvlei/article/details/52958720
auc指标含义的理解:http://blog.csdn.net/dinosoft/article/details/43114935
ROC和AUC介绍以及如何计算AUC:https://my.oschina.net/liangtee/blog/340317