天天看點

分類模型的性能評估——以SAS Logistic回歸為例(2): ROC和AUC .

.

ROC

上回我們提到,ROC曲線就是不同的門檻值下,以下兩個變量的組合(如果對Sensitivity和Specificity兩個術語沒有概念,不妨傳回,《分類模型的性能評估——以SAS Logistic回歸為例(1): 混淆矩陣》,強烈建議讀者對着看):

Sensitivity(覆寫率,True Positive Rate)

1-Specificity (Specificity, 負例的覆寫率,True Negative Rate)

二話不說,先把它畫出來(以下腳本的主體是标紅部分,資料集valid_roc,還是出自上面提到的那篇):

axis order=(0 to 1 by .1) label=none length=4in;

symbol i=join v=none c=black;

symbol2 i=join v=none c=black;

proc gplot data = valid_roc;

plot _SENSIT_*_1MSPEC_ _1MSPEC_*_1MSPEC_

/ overlay vaxis=axis haxis=axis;

run; quit;

分類模型的性能評估——以SAS Logistic回歸為例(2): ROC和AUC .

上圖那條曲線就是ROC曲線,橫軸是1-Specificity,縱軸是Sensitivity。以前提到過,随着門檻值的減小(更多的客戶就會被歸為正例),Sensitivity和1-Specificity也相應增加(也即Specificity相應減少),是以ROC呈遞增态勢(至于ROC曲線凹向原點而非凸向原點,不知道有無直覺的解釋,不提)。那條45度線是作為參照(baseline model)出現的,就是說,ROC的好壞,乃是跟45度線相比的,怎麼講?

回到以前,我們分析valid資料,知道有36.5%的bad客戶(Actual Positive )和63.5%的good客戶(Actual Negative)。這兩個機率是根據以往的資料計算出來的,可以叫做“先驗機率”( prior probability)。後來,我們用logistic回歸模型,再給每個客戶算了一個bad的機率,這個機率是用模型加以修正的機率,叫做“後驗機率”(Posterior Probability)。

預測
1
1 d, True Positive c, False Negative c+d, Actual Positive
b, False Positive a, True Negative a+b, Actual Negative
b+d, Predicted Positive a+c, Predicted Negative

如果不用模型,我們就根據原始資料的分布來指派,随機地把客戶歸為某個類别,那麼,你得到的True Positive對False Positive之比,應該等于Actual Positive對Actual Negative之比(你做得跟樣本分布一樣好)——即,d/b=(c+d)/(a+b),可以有(d/c+d)/(b/a+b)=1,而這正好是Sensitivity/(1-Specificity)。在不使用模型的情況下,Sensitivity和1-Specificity之比恒等于1,這就是45度線的來曆。一個模型要有所提升,首先就應該比這個baseline表現要好。ROC曲線就是來評估模型比baseline好壞的一個著名圖例。這個可能不夠直覺,但可以想想線性回歸的baseline model:

分類模型的性能評估——以SAS Logistic回歸為例(2): ROC和AUC .

如果不用模型,對因變量的最好估計就是樣本的均值(上圖水準紅線)。綠線是回歸線(模型),回歸線與水準線之間的偏離,稱作Explained Variability, 就是由模型解釋了的變動,這個變動(在方差分析裡,又稱作model sum of squares, SSM)越大,模型表現就越好了(決定系數R-square标準)。同樣的類比,ROC曲線與45度線偏離越大,模型的效果就越好。最好好到什麼程度呢?

在最好的情況下,Sensitivity為1(正确預測到的正例就剛好等于實際的正例總數),同時Specificity為1(正确預測到的負例個數就剛好等于實際的負例數),在上圖中,就是左上方的點(0,1)。是以,ROC曲線越往左上方靠攏,Sensitivity和Specificity就越大,模型的預測效果就越好。同樣的思路,你還可以解釋為什麼ROC曲線經過點(0,0)和(1.1),不提。

AUC, Area Under the ROC Curve

ROC曲線是根據與45度線的偏離來判斷模型好壞。圖示的好處是直覺,不足就是不夠精确。到底好在哪裡,好了多少?這就要涉及另一個術語,AUC(Area Under the ROC Curve,ROC曲線下的面積),不過也不是新東西,隻是ROC的一個派生而已。

回到先前那張ROC曲線圖。45度線下的面積是0.5,ROC曲線與它偏離越大,ROC曲線就越向左上方靠攏,它下面的面積(AUC)也就應該越大。我們就可以根據AUC的值與0.5相比,來評估一個分類模型的預測效果。

SAS的Logistic回歸能夠後直接生成AUC值。跑完上面的模型,你可以在結果報告的Association Statistics找到一個叫c的名額,它就是AUC(本例中,c=AUC=0.803,45度線的c=0.5)。

ROC、AUC:SAS9.2一步到位

SAS9.2有個非常好的新功能,叫ODS Statistical Graphics,有興趣可以去它首頁看看。在SAS9.2平台送出以下代碼,Logistic回歸參數估計和ROC曲線、AUC值等結果就能一起出來(有了上面的鋪墊,就不懼這個黑箱了):

ods graphics on;

proc logistic data=train plots(only)=roc;

model good_bad=checking history duration savings property;

run;

ods graphics off;

分類模型的性能評估——以SAS Logistic回歸為例(2): ROC和AUC .

這個ROC圖貌似還漂亮些,眼神好能看見标出來的AUC是0.8029。 最後提一句,ROC全稱是Receiver Operating Characteristic Curve,中文叫“接受者操作特性曲線”,江湖黑話了(有朋友能不能出來解釋一下,誰是Receiver,為什麼Operating,何謂Characteristic——這個看着好像是Sensitivity和Specificity),不過并不妨礙我們使用ROC作為模型評估的工具。

下期預告:Lift和Gain

不多說,隻提一句,跟ROC類似,Lift(提升)和Gain(增益)也一樣能簡單地從以前的Confusion Matrix以及Sensitivity、Specificity等資訊中推導而來,也有跟一個baseline model的比較,然後也是很容易畫出來,很容易解釋。

參考資料

  1. Mithat Gonen. 2007. Analyzing Receiver Operating Characteristic Curves with SAS. Cary, NC: SAS Institute Inc.
  2. Mike Patetta. 2008. Categorical Data Analysis Using Logistic Regression Course Notes. Cary, NC: SAS Institute Inc.
  3. Dan Kelly, etc. 2007. Predictive Modeling Using Logistic Regression Course Notes. Cary, NC: SAS Institute Inc.
  4. Receiver operating characteristic, seehttp://en.wikipedia.org/wiki/Receiver_operating_characteristic
  5. The magnificent ROC, see http://www.anaesthetist.com/mnm/stats/roc/Findex.htm

del.icio.us Tags:  Wilcoxon-Mann-Whitney, Confusion Matrix, 覆寫率, Logistic回歸, SAS, Sensitiveity, Specificity, 分類模型, 命中率, 資料挖掘, 混淆矩陣, ROC, AUC, Receiver Operating Characteristic Curve, 接受者操作特性曲線 This entry was posted in  資料挖掘與機器學習 ,  生物與醫學統計 ,  統計圖形  and tagged  AUC ,  Confusion Matrix ,  Logistic回歸 ,  Receiver Operating Characteristic Curve ,  ROC ,  SAS ,  Sensitiveity ,  Specificity , Wilcoxon-Mann-Whitney ,  分類模型 ,  命中率 ,  接受者操作特性曲線 ,  資料挖掘 ,  混淆矩陣 ,  覆寫率  by  胡江堂 . Bookmark the  permalink .

繼續閱讀