1. 程式人生 > >評價標準—ROC & AUC

評價標準—ROC & AUC

1、ROC曲線定義與分析

  ROC曲線:受試者工作特徵曲線 (receiver operating characteristic curve),又稱感受性曲線(sensitivity curve),得此名的原因在於曲線上各點反映著相同的感受性,它們都是對同一訊號刺激的反應,只不過是在幾種不同的判定標準下所得的結果而已。
  縱軸:真陽性率(True positive rate、敏感性)-收益
  橫軸:假陽性率(False positive rate、誤診率=1-特異性)-代價
  針對二分類問題,將例項分為正類(positive)或負類(negative),在實際分類時,會出現四種情況(混淆矩陣):

這裡寫圖片描述

 (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曲線可以用於評價一個分類器。

這裡寫圖片描述

 (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”表示每個測試樣本屬於正樣本的概率。

這裡寫圖片描述

  接下來,我們從高到低,依次將“Score”值作為閾值threshold,當測試樣本屬於正樣本的概率大於或等於這個threshold時,我們認為它為正樣本,否則為負樣本。舉例來說,對於圖中的第4個樣本,其“Score”值為0.6,那麼樣本1,2,3,4都被認為是正樣本,因為它們的“Score”值都大於等於0.6,而其他樣本則都認為是負樣本。每次選取一個不同的threshold,我們就可以得到一組FPR和TPR,即ROC曲線上的一點。這樣一來,我們一共得到了20組FPR和TPR的值,將它們畫在ROC曲線的結果如下圖:

這裡寫圖片描述

3、為什麼使用ROC
  ROC曲線有個很好的特性:當測試集中的正負樣本的分佈變化的時候,ROC曲線能夠保持不變。在實際的資料集中經常會出現類不平衡(class imbalance)現象,即負樣本比正樣本多很多(或者相反),而且測試資料中的正負樣本的分佈也可能隨著時間變化。下圖是ROC曲線和Precision-Recall曲線的對比:

這裡寫圖片描述

  (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允許對每幅影象上的任意異常進行評價。但目前沒有可供廣泛應用的軟體,使臨床應用受到限制。