ROC曲線

受試者工做特徵曲線 (receiver operating characteristic curve,簡稱ROC曲線),又稱爲 感覺性曲線(sensitivity curve)。得此名的緣由在於曲線上各點反映着相同的感覺性,它們都是對同一 信號刺激的反應,只不過是在幾種不一樣的斷定標準下所得的結果而已。接受者操做特性曲線就是以假陽性機率(False positive rate)爲 橫軸,擊中機率爲縱軸所組成的座標圖,和被試在特定刺激條件下因爲採用不一樣的判斷標準得出的不一樣結果畫出的曲線。
ROC曲線是根據一系列不一樣的二分類方式(分界值或決定閾),以真陽性率(靈敏度)爲縱座標,假陽性率(1-特異度)爲橫座標繪製的曲線。傳統的診斷試驗評價方法有一個共同的特色,必須將試驗結果分爲兩類,再進行統計分析。ROC曲線的評價方法與傳統的評價方法不一樣,無須此限制,而是根據實際狀況,容許有中間狀態,能夠把試驗結果劃分爲多個有序分類,如正常、大體正常、可疑、大體異常和異常五個等級再進行統計分析。所以,ROC 曲線評價方法適用的範圍更爲普遍。
 
主要做用:
1.ROC曲線能很容易地查出任意界限值時的對疾病的識別能力。
2.選擇最佳的診斷界限值。ROC曲線越靠近左上角,試驗的 準確性就越高。最靠近左上角的ROC曲線的點是錯誤最少的最好 閾值,其假陽性和假陰性的總數最少。
3.兩種或兩種以上不一樣診斷試驗對疾病識別能力的比較。在對同一種疾病的兩種或兩種以上診斷方法進行比較時,可將各試驗的ROC曲線繪製到同一座標中,以直觀地鑑別優劣,靠近左上角的ROC曲線所表明的受試者工做最準確。亦可經過分別 計算各個試驗的ROC曲線下的面積(AUC)進行比較,哪種試驗的 AUC最大,則哪種試驗的診斷價值最佳。
 
分析步驟:
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曲線指受試者工做特徵曲線(receiver operating characteristic curve), 是反映 敏感性特異性 連續變量綜合指標,是用構圖法揭示敏感性和特異性的相互關係,它經過將連續變量設定出多個不一樣的臨界值,從而計算出一系列敏感性和特異性,再以敏感性爲縱座標、(1-特異性)爲橫座標繪製成曲線,曲線下面積越大,診斷準確性越高。在ROC曲線上,最靠近座標圖左上方的點爲敏感性和特異性均較高的臨界值。
 
例子:
考慮一個二分問題,即將實例分紅正類(positive)或負類(negative)。對一個二分問題來講,會出現四種狀況。若是一個實例是正類而且也被 預測成正類,即爲真正類(True positive),若是實例是負類被預測成正類,稱之爲假正類(False positive)。相應地,若是實例是負類被預測成負類,稱之爲真負類(True negative),正類被預測成負類則爲假負類(false negative)。
列聯表以下表所示,1表明正類,0表明負類。
     
預測
     
     
1
0
合計
實際
1
True Positive(TP)
False Negative(FN)
Actual Positive(TP+FN)
  
0
False Positive(FP)
True Negative(TN)
Actual Negative(FP+TN)
合計
  
Predicted Positive(TP+FP)
Predicted Negative(FN+TN)
TP+FP+FN+TN
從列聯表引入兩個新名詞。其一是真正類率(true positive rate ,TPR), 計算公式爲 TPR=TP/ ( TP+ FN),刻畫的是 分類器所識別出的 正實例佔全部正實例的比例。另一個是假正類率(false positive rate, FPR),計算公式爲 FPR= FP / (FP + TN),計算的是分類器錯認爲正類的負實例佔全部負實例的比例。還有一個真負類率(True Negative Rate,TNR),也稱爲specificity,計算公式爲TNR= TN/ ( FP+ TN) = 1 - FPR
在一個二分類模型中,對於所獲得的連續結果,假設已肯定一個閾值,好比說 0.6,大於這個值的實例劃歸爲正類,小於這個值則劃到負類中。若是減少閾值,減到0.5,當然能識別出更多的正類,也就是提升了識別出的正例佔全部正例的比例,即TPR,但同時也將更多的負實例看成了正實例,即提升了FPR。爲了形象化這一變化,在此引入ROC。
Receiver Operating Characteristic,翻譯爲"接受者操做特性曲線",夠拗口的。曲線由兩個變量1-specificity 和 Sensitivity繪製. 1-specificity=FPR,即假正類率。Sensitivity便是真正類率,TPR(True positive rate),反映了正類覆蓋程度。這個組合以1-specificity對sensitivity,便是以代價(costs)對收益(benefits)。
下表是一個邏輯迴歸獲得的結果。將獲得的實數值按大到小劃分紅10個個數 相同的部分。
Percentile
實例數
正例數
1-特異度(%)
敏感度(%)
10
6180
4879
2.73
34.64
20
6180
2804
9.80
54.55
30
6180
2165
18.22
69.92
40
6180
1506
28.01
80.62
50
6180
987
38.90
87.62
60
6180
529
50.74
91.38
70
6180
365
62.93
93.97
80
6180
294
75.26
96.06
90
6180
297
87.59
98.17
100
6177
258
100.00
100.00
其正例數爲此部分裏實際的正類數。也就是說,將邏輯迴歸獲得的結 果按從大到小排列,假若之前10%的數值做爲 閥值,即將前10%的實例都劃歸爲正類,6180個。其中,正確的個數爲4879個,佔全部正類的 4879/14084*100%=34.64%,即敏感度;另外,有6180-4879=1301個負實例被錯劃爲正類,佔全部負類的1301 /47713*100%=2.73%,即1-特異度。以這兩組值分別做爲x值和y值,在excel中做散點圖。獲得ROC曲線以下
roc曲線 roc曲線
 
 
 
 
 
 
 
 
(1)β值的改變獨立於d’的變化,考察β值變化對P(y/SN)和P(y/N)的影響時發現:當β接近無窮大時,虛驚率幾乎爲0,即信號全當成噪音接受;當β接近0時,擊中率幾乎爲0,即噪音全當成信號接受;而當β從接近0向無窮大漸變的過程當中,將造成一條完整地ROC曲線,曲線在某一處達到最佳的標準βOPT。
(2)ROC曲線的 曲率反應敏感性指標d’:對角線,表明P(y/SN)=P(y/N),即被試者的辨別力d’爲0,ROC曲線離這條線愈遠,表示被試者辨別力愈強,d’的值固然就愈大。由上可知,d’的變化使ROC曲線造成一個曲線簇,而β的變化體如今這一曲線簇中的某一條曲線上不一樣點的變化。此外,若是將ROC曲線的座標軸變爲Z分數座標,咱們將看到ROC曲線從曲線形態變爲直線形態。這種 座標變換能夠用來驗證 信號檢測論一個重要假設,即 方差齊性假設。
 
SPSS 9.0以上版本可進行ROC分析,操做步驟以下:
1.定義列變量,並輸入數據
(1)診斷分類值或檢測結果(test):多個診斷試驗則定義test1,test2,...
(2)金標準類別(group):1=病例組,0=對照組
(3)分類頻數(freq),須要進一步執行第二步
2.說明頻數變量 路徑:Data\Weight Case..., 選項:Weight case by, 填表:Freqency Variable (freq)
3.ROC分析:路徑:Grahps\Roc Curve... 填表:Test Variable(test), State Variable (group), Value of state variable,選項包括:
(display) ROC Curve,with diagonal reference line (機會線), standard error and confidence interval (面積的 標準誤,及其 可信區間), Coordinate points of the ROC curve (ROC曲線的座標點), options:test direction (若是檢測值小劃歸爲陽性,則須要選), cofidence level (%):須要除95%之外的可信度,可在此定義。
若是是連續型測量資料,則不須要第1步的(3)及第2步
 
 
R中繪製:
ROCR包中主要是兩個class:prediction和performance。前者是將預測結果和真實標籤組合在一塊兒,生成一個 prediction對象,而後在用performance函數,按照給定的評價方法,生成一個performance對象,最後直接對 performance用plot函數就能繪製出相應的ROC曲線。
1
2
3
4
5
6
# plot a ROC curve for a single prediction run
# and color the curve according to cutoff.
data(ROCR.simple)
pred <- prediction(ROCR.simple$predictions, ROCR.simple$labels)
perf <- performance(pred,"tpr","fpr")
plot(perf,colorize=TRUE)
上面是ROCR中的一個例子,ROCR.simple$predictions是預測結果,ROCR.simple$labels是真實的標籤,從而產生一個prediction對象;而後tpr是true positive rate的意思,fpr則是false positive rate的意思,這樣最後畫出來的就是最多見的ROC曲線。
相關文章
相關標籤/搜索