ROC曲线- 维基百科,自由的百科全书
文章推薦指數: 80 %
在信号检测理论中,接收者操作特征曲線(receiver operating characteristic curve,或者叫ROC曲线)是一种坐標圖式的分析工具,用於(1) 选择最佳的信號偵測模型、捨棄 ...
ROC曲線
維基百科,自由的百科全書
跳至導覽
跳至搜尋
3條ROC曲線
在訊號檢測理論中,接收者操作特徵曲線(receiveroperatingcharacteristiccurve,或者叫ROC曲線)是一種坐標圖式的分析工具,用於(1)選擇最佳的訊號偵測模型、捨棄次佳的模型。
(2)在同一模型中設定最佳閾值。
在做決策時,ROC分析能不受成本/效益的影響,給出客觀中立的建議。
ROC曲線首先是由二戰中的電子工程師和雷達工程師發明的,用來偵測戰場上的敵軍載具(飛機、船艦),也就是訊號檢測理論。
之後很快就被引入了心理學來進行訊號的知覺檢測。
數十年來,ROC分析被用於醫學、無線電、生物學、犯罪心理學領域中,而且最近在機器學習(machinelearning)和資料探勘(datamining)領域也得到了很好的發展。
目次
1基本概念
2ROC空間
3ROC曲線
4曲線下面積(AUC)
4.1意義
4.2計算
4.2.1梯形法
4.2.2ROCAUCH法
4.3潛在問題
5分析軟體
6參考文獻
6.1參照
6.2來源
7外部連結
基本概念[編輯]
術語
陽性(P,positive)
陰性(N,Negative)
真陽性(TP,truepositive)
正確的肯定。
又稱:命中(hit)
真陰性(TN,truenegative)
正確的否定。
又稱:正確拒絕(correctrejection)
偽陽性(FP,falsepositive)
錯誤的肯定,又稱:假警報(falsealarm),型一錯誤
偽陰性(FN,falsenegative)
錯誤的否定,又稱:未命中(miss),型二錯誤
真陽性率(TPR,truepositiverate)
又稱:命中率(hitrate)、敏感度(sensitivity)
TPR=TP/P=TP/(TP+FN)
偽陽性率(FPR,falsepositiverate)
又稱:錯誤命中率,假警報率(falsealarmrate)
FPR=FP/N=FP/(FP+TN)
準確度(ACC,accuracy)
ACC=(TP+TN)/(P+N)
即:(真陽性+真陰性)/總樣本數
真陰性率(TNR)
又稱:特異度(SPC,specificity)
SPC=TN/N=TN/(FP+TN)=1-FPR
陽性預測值(PPV)
PPV=TP/(TP+FP)
陰性預測值(NPV)
NPV=TN/(TN+FN)
假發現率(FDR)
FDR=FP/(FP+TP)
Matthews相關係數(MCC),即Phi相關係數
M
C
C
=
(
T
P
∗
T
N
−
F
P
∗
F
N
)
P
N
P
′
N
′
{\displaystyleMCC={\frac{(TP*TN-FP*FN)}{\sqrt{PNP'N'}}}}
F1評分
F1=2TP/(P+P')
Source:Fawcett(2006).
參見:第一型及型二錯誤和靈敏度和特異度
分類模型(又稱分類器,或診斷)是將一個實例對映到一個特定類的過程。
ROC分析的是二元分類模型,也就是輸出結果只有兩種類別的模型,例如:(陽性/陰性)(有病/沒病)(垃圾郵件/非垃圾郵件)(敵軍/非敵軍)。
當訊號偵測(或變數測量)的結果是一個連續值時,類與類的邊界必須用一個閾值(英語:threshold)來界定。
舉例來說,用血壓值來檢測一個人是否有高血壓,測出的血壓值是連續的實數(從0~200都有可能),以收縮壓140/舒張壓90為閾值,閾值以上便診斷為有高血壓,閾值未滿者診斷為無高血壓。
二元分類模型的個案預測有四種結局:
真陽性(TP):診斷為有,實際上也有高血壓。
偽陽性(FP):診斷為有,實際卻沒有高血壓。
真陰性(TN):診斷為沒有,實際上也沒有高血壓。
偽陰性(FN):診斷為沒有,實際卻有高血壓。
這四種結局可以畫成2×2的混淆矩陣:
真實值
總數
p
n
預測輸出
p'
真陽性(TP)
偽陽性(FP)
P'
n'
偽陰性(FN)
真陰性(TN)
N'
總數
P
N
ROC空間[編輯]
ROC空間將偽陽性率(FPR)定義為X軸,真陽性率(TPR)定義為Y軸。
TPR:在所有實際為陽性的樣本中,被正確地判斷為陽性之比率。
T
P
R
=
T
P
/
(
T
P
+
F
N
)
{\displaystyleTPR=TP/(TP+FN)}
FPR:在所有實際為陰性的樣本中,被錯誤地判斷為陽性之比率。
F
P
R
=
F
P
/
(
F
P
+
T
N
)
{\displaystyleFPR=FP/(FP+TN)}
給定一個二元分類模型和它的閾值,就能從所有樣本的(陽性/陰性)真實值和預測值計算出一個(X=FPR,Y=TPR)座標點。
從(0,0)到(1,1)的對角線將ROC空間劃分為左上/右下兩個區域,在這條線的以上的點代表了一個好的分類結果(勝過隨機分類),而在這條線以下的點代表了差的分類結果(劣於隨機分類)。
完美的預測是一個在左上角的點,在ROC空間座標(0,1)點,X=0代表著沒有偽陽性,Y=1代表著沒有偽陰性(所有的陽性都是真陽性);也就是說,不管分類器輸出結果是陽性或陰性,都是100%正確。
一個隨機的預測會得到位於從(0,0)到(1,1)對角線(也叫無辨識率線)上的一個點;最直觀的隨機預測的例子就是拋硬幣。
讓我們來看在實際有100個陽性和100個陰性的案例時,四種預測方法(可能是四種分類器,或是同一分類器的四種閾值設定)的結果差異:
A
B
C
C'
TP=63
FP=28
91
FN=37
TN=72
109
100
100
200
TP=77
FP=77
154
FN=23
TN=23
46
100
100
200
TP=24
FP=88
112
FN=76
TN=12
88
100
100
200
TP=76
FP=12
88
FN=24
TN=88
112
100
100
200
TPR=0.63
TPR=0.77
TPR=0.24
TPR=0.76
FPR=0.28
FPR=0.77
FPR=0.88
FPR=0.12
ACC=0.675
ACC=0.500
ACC=0.180
ACC=0.820
ROC空間的4個例子
將這4種結果畫在ROC空間裡:
點與隨機猜測線的距離,是預測力的指標:離左上角越近的點預測(診斷)準確率越高。
離右下角越近的點,預測越不準。
在A、B、C三者當中,最好的結果是A方法。
B方法的結果位於隨機猜測線(對角線)上,在例子中我們可以看到B的準確度(ACC,定義見前面表格)是50%。
C雖然預測準確度最差,甚至劣於隨機分類,也就是低於0.5(低於對角線)。
然而,當將C以(0.5,0.5)為中點作一個鏡像後,C'的結果甚至要比A還要好。
這個作鏡像的方法,簡單說,不管C(或任何ROC點低於對角線的情況)預測了什麼,就做相反的結論。
ROC曲線[編輯]
隨著閾值調整,ROC座標系裡的點如何移動
上述ROC空間裡的單點,是給定分類模型且給定閾值後得出的。
但同一個二元分類模型的閾值可能設定為高或低,每種閾值的設定會得出不同的FPR和TPR。
將同一模型每個閾值的(FPR,TPR)座標都畫在ROC空間裡,就成為特定模型的ROC曲線。
例如右圖,人體的血液蛋白濃度是呈常態分布的連續變數,病人的分布是紅色,平均值為Ag/dL,健康人的分布是藍色,平均值是Cg/dL。
健康檢查會測量血液樣本中的某種蛋白質濃度,達到某個值(閾值,threshold)以上診斷為有疾病徵兆。
研究者可以調整閾值的高低(將左上圖的B垂直線往左或右移動),便會得出不同的偽陽性率與真陽性率,總之即得出不同的預測準確率。
1.由於每個不同的分類器(診斷工具、偵測工具)有各自的測量標準和測量值的單位(標示為:「健康人-病人分布圖」的橫軸),所以不同分類器的「健康人-病人分布圖」都長得不一樣。
2.比較不同分類器時,ROC曲線的實際形狀,便視兩個實際分布的重疊範圍而定,沒有規律可循。
3.但在同一個分類器之內,閾值的不同設定對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點往右上(或右/或上)移動,或不動;但絕不會往左下(或左/或下)移動。
曲線下面積(AUC)[編輯]
例示三種AUC值(曲線下面積)
在比較不同的分類模型時,可以將每個模型的ROC曲線都畫出來,比較曲線下面積做為模型優劣的指標。
意義[編輯]
ROC曲線下方的面積(英語:AreaundertheCurveofROC(AUCROC)),其意義是:
因為是在1x1的方格裡求面積,AUC必在0~1之間。
假設閾值以上是陽性,以下是陰性;
若隨機抽取一個陽性樣本和一個陰性樣本,分類器正確判斷陽性樣本的值高於陰性樣本之機率
=
A
U
C
{\displaystyle=AUC}
[1]。
簡單說:AUC值越大的分類器,正確率越高。
從AUC判斷分類器(預測模型)優劣的標準:
AUC=1,是完美分類器,採用這個預測模型時,存在至少一個閾值能得出完美預測。
絕大多數預測的場合,不存在完美分類器。
0.5
延伸文章資訊
- 1中華民國人壽保險商業同業公會(首頁)
- 2ROC撞名了!全世界叫ROC的國家居然有12國,難怪明信片總 ...
相信不少人在國外寫明信片都習慣在地址寫上R.O.C(Republic of China),但你可能不知道,全世界縮寫叫R.O.C的國家竟然有12國!
- 3外交部Ministry of Foreign Affairs, ROC(Taiwan) - Facebook
外交部Ministry of Foreign Affairs, ROC(Taiwan), 台北市. 213739 likes · 38827 talking about this · 4158 ...
- 4我的英文講義教我們,Taiwan是國名,ROC也是國名。
- 5國外寄信寫ROC還Taiwan? 他親做實驗「效果差很大」!
許多台灣人到國外旅遊,寄明信片給家鄉親朋好友時,總會碰上一個困擾問題,那就是地址欄位中的國家名稱,到底該寫「R.O.C.(Republic of China, ...