2008年2月1日 星期五

Receiver Operating Characteristic (ROC) Curves

原文出處:http://www2.sas.com/proceedings/sugi31/210-31.pdf




除了須具備Receiver Operating Characteristic (ROC) Curves基本概念外,尚需了解SAS計算所用的程序語法procedures,本文預計會有SAS/STAT中的FREQ, LOGISTIC, MIXED and NLMIXED以求出ROC curve 與平滑曲線圖


以下分為5個步驟
1. BASIC CONCEPTS: BINARY PREDICTOR
2. THE ROC CURVE
3. AREA UNDER THE ROC CURVE
4. THE BINORMAL ROC CURVE
5. COMPARING TWO ROC CURVES


1. BASIC CONCEPTS: BINARY PREDICTOR
基本概念可參考文獻Metz(1978)(該文獻內容解釋非常完整)

此外文中提到欲比較兩組在某閾值下的比例,以下面為例,x為0,1兩組,以y分類0,1,所求之列聯表

data king ;
input y x w;
cards;
0 0 29
0 1 6
1 0 4
1 1 38
;

proc freq;
table y*x;
weight w;
run;





而為了要檢視x兩組之比例狀況故使用下列語法

data king ;
input y x w;
cards;
0 0 29
0 1 6
1 0 4
1 1 38
;
proc sort;by x ;
proc freq;
by x;
table y / BINOMIAL;
weight w;
run;


其樣本比例檢定之結果如下圖

其中ASE為樣本比例之標準誤





2. THE ROC CURVE
為了進一步說明ROC曲線,故創建以下資料並搭配原文以進一步說明

data roc;
input Gold suv;
cards;
1 3
1 4
1 5
1 4
1 5
1 6
1 7
1 8
1 9
1 4
1 2
1 3
1 5
1 6
1 7
1 6
1 5
1 4
1 5
1 5
0 1
0 2
0 3
0 4
0 5
0 6
0 2
0 3
0 2
0 1
0 1
0 2
0 2
0 3
0 2
0 3
0 1
0 2
0 3
0 2
0 2
0 2
;
proc logistic noprint;
model gold=suv / outroc=ROCData;
run;
symbol1 v=dot i=join;
proc gplot data=ROCData;
plot _sensit_*_1mspec_;
run;quit;


因Gold有兩組(0,1)之測量結果suv,繪製ROC曲線



然而若要繪至更漂亮之ROC曲線圖可參考吾所寫之其他文章,應用SAS繪製ROC curve圖




3. AREA UNDER THE ROC CURVE
而通常為了表達ROC曲線的表現是否比較好,會以曲線下面積(AREA UNDER THE ROC CURVE, AUC)做表示,
而如何求出此面積值可以邏輯式回歸分析表中之 Association of Predicted Probabilities and Observed Responses報表內C值作為結果


或是參考,應用SAS繪製ROC curve圖文中巨集語法%roc(DATA= , VAR= , RESPONSE= , CONTRAST= , ALPHA= , DETAILS=)之使用



4. THE BINORMAL ROC CURVE



5. COMPARING TWO ROC CURVES




參考文獻
1. Metz, C.E. (1978), "Basic principles of ROC analysis," Seminars in Nuclear Medicine, 8(4), 283-298.