在做決策時,ROC分析能不受成本/效益的影響,給出客觀中立的建議。
分類模型(又稱分類器,或診斷)是將一個實例映射到一個特定類的過程。
ROC分析的是二元分類模型,也就是輸出結果只有兩種類別的模型,例如:
(陽性/陰性)(有?。瘺]?。ɡ]件/非垃圾郵件)(敵軍/非敵軍)。
當訊號偵測(或變數測量)的結果是一個連續值時,類與類的邊界必須用一個閾值(英語:threshold)來界定。
舉例來說,用血壓值來檢測一個人是否有高血壓,測出的血壓值是連續的實數(從0~200都有可能),以收縮壓140/舒張壓90為閾值,閾值以上便診斷為有高血壓,閾值未滿者診斷為無高血壓。二元分類模型的個案預測有四種結局:
真陽性(TP):診斷為有,實際上也有高血壓。
偽陽性(FP):診斷為有,實際卻沒有高血壓。
真陰性(TN):診斷為沒有,實際上也沒有高血壓。
偽陰性(FN):診斷為沒有,實際卻有高血壓。
Ture Positive
False Positve
相對比較好記憶
這個東西可以合成 confusion matrix 中文是 混淆矩陣
ROC空間將偽陽性率(FPR)定義為 X 軸,真陽性率(TPR)定義為 Y 軸。
TPR:在所有實際為陽性的樣本中,被正確地判斷為陽性之比率。
TPR=TP/(TP+FN)
也就是陽性判斷對的概率
FPR:在所有實際為陰性的樣本中,被錯誤地判斷為陽性之比率。
FPR=FP/(FP+TN)
也就是陰性判斷對的概率
準確度 (ACC, accuracy)
ACC = (TP + TN) / (P + N)
(真陽性+真陰性) / 總樣本數
點與隨機猜測線的距離,是預測力的指標:離左上角越近的點預測(診斷)準確率越高。離右下角越近的點,預測越不準。
在A、B、C三者當中,最好的結果是A方法。
好的,接下來說曲線:
同一個二元分類模型的閾值可能設定為高或低,每種閾值的設定會得出不同的FPR和TPR。
將同一模型每個閾值 的 (FPR, TPR) 座標都畫在ROC空間里,就成為特定模型的ROC曲線。
一些規律
當閾值設定為最高時,亦即所有樣本都被預測為陰性,沒有樣本被預測為陽性,此時在偽陽性率 FPR = FP / ( FP + TN ) 算式中的 FP = 0,所以 FPR = 0%。同時在真陽性率(TPR)算式中, TPR = TP / ( TP + FN ) 算式中的 TP = 0,所以 TPR = 0%。當閾值設定為最高時,必得出ROC座標系左下角的點 (0, 0)。
當閾值設定為最低時,亦即所有樣本都被預測為陽性,沒有樣本被預測為陰性,此時在偽陽性率FPR = FP / ( FP + TN ) 算式中的 TN = 0,所以 FPR = 100%。同時在真陽性率 TPR = TP / ( TP + FN ) 算式中的 FN = 0,所以 TPR=100%。當閾值設定為最低時,必得出ROC座標系右上角的點 (1, 1)。
因為TP、FP、TN、FN都是累積次數,TN和FN隨著閾值調低而減少(或持平),TP和FP隨著閾值調低而增加(或持平),所以FPR和TPR皆必隨著閾值調低而增加(或持平)。
→ 隨著閾值調低,ROC點 往右上(或右/或上)移動,或不動;但絕不會往左下(或左/或下)移動。
ROC下的面積 AUC
ROC曲線下方的面積(英語:Area under the Curve of ROC (AUC ROC)),其意義是:
- 因為是在1x1的方格里求面積,AUC必在0~1之間。
- 假設閾值以上是陽性,以下是陰性;
- 若隨機抽取一個陽性樣本和一個陰性樣本,分類器正確判斷陽性樣本的值高于陰性樣本之機率 = AUC 。
- 簡單說:AUC值越大的分類器,正確率越高。
從AUC判斷分類器(預測模型)優劣的標準:
- AUC = 1,是完美分類器,采用這個預測模型時,存在至少一個閾值能得出完美預測。絕大多數預測的場合,不存在完美分類器。
- 0.5 < AUC < 1,優于隨機猜測。這個分類器(模型)妥善設定閾值的話,能有預測價值。
- AUC = 0.5,跟隨機猜測一樣(例:丟銅板),模型沒有預測價值。
- AUC < 0.5,比隨機猜測還差;但只要總是反預測而行,就優于隨機猜測。