想要了解ROC曲線嗎?不急,先來看看下面的小情景。
【情景設置】牛逼的我:師傅,您能對我上點心嗎?!文章還沒發,明年快畢業了啊。。。
豆逼導師:小牛啊,我是挺中意你的。。
牛逼的我:師傅,你想多了。我是指對我的【論文】上點心。。。
豆逼導師:(故作正經)昨天你師兄的實驗結束了。咱們這裡有2組人群。一組是病人,一組是健康人。我們檢測了他們血清中X指标。你看看,怎麼才能根據X的數值,來判斷一個人是病人還是健康人?判斷的效果好不好。我先走了。。。明天到我辦公室來彙報。。。
牛逼的我:哦。。。。
【統計方法】來聽聽統計學磚家和叫獸是怎麼考慮“豆逼導師”給小牛的問題的。
這是一個典型的診斷試驗數據分析。每個人的血清X指标都不太一樣,有大有小。一般是病人高,健康人低。實際上,小牛需要找到一個X指标的阈值。如果X指标超過阈值,則判斷某一對象為病例;低于阈值,則判斷某一對象為健康人。
顯然,這麼判斷,肯定會出現錯判的情況。也就是常說的假陽性和假陰性。如圖1所示:
假陽性就是誤診,假陰性就是漏診。按照“豆逼導師”的要求,咱們應該找到一個比較好的阈值,盡可能使得誤診和漏診的比例盡可能低。
現在假設我們選定了一個阈值,并且将判斷的結果整理成圖2所示:
金标準,就是一個人真實的情況,是患者還是非患者。
診斷試驗的結果,就是根據你的阈值,判斷某一對象是患者還是非患者。
據此,我們可以計算以下幾個常見的統計學指标,來評價判斷的效果好還是不好。見下圖3、圖4。
實際上,判斷效果好,就是要求靈敏度和特異度要高。如下圖5,所示。
那麼問題來了:如何确定一個最佳的阈值,使得靈敏度和特異度相對達到最大?
我們可以這麼做。嘗試設置不同的阈值。不同的阈值,判斷結果不同,靈敏度和特異度不同。可以繪制以下一張圖形。
橫軸是不同的阈值。考慮的簡單一點,咱們這裡假設X的範圍是0~1。藍色的線代表的不同阈值下,靈敏度的變化。紅色的線,代表的特異度的變化。兩條線相交的地方,對應的那個阈值就是最佳阈值。圖中,最佳阈值就是0.48。
那如果我們選擇0.48做為标準來判斷的話,對應的靈敏度和特異度到底是多少呢?如圖所示,50個病人中,47個判斷正确,靈敏度達到94%,127健康人中,119個判斷正确,特異度達到93.7%。所有177個人當中,47+119個人判斷正确了,正确率達到93.79%。
那大家會覺得奇怪了。這和ROC曲線有半毛錢關系啊?
别急,别急。。。
如果大家明白了小編說的這些内容。就不難理解ROC曲線了。
ROC曲線,全稱是receiver operating characteristic curve,簡稱ROC曲線。中文翻譯是受試者工作特征曲線。如下圖所示。
如果橫軸是1-特異度,縱軸是靈敏度。那麼就會形成1個彎曲的曲線。這個曲線和45度的直線會形成一個曲線下面積(area under ROC),簡稱AUC。AUC越大,說明判斷的效果越好。
以下是是通過AUC對判斷效果進行評價的标準:
0.5<><>
0.6<><>
0.7<><>
0.8<><>
0.9<><>
如圖所示,AUC為0.9758,說明判斷效果優秀了!
但是,實際工作中,一般AUC在0.7-0.9範圍内的比較常見。超過0.9的屬于鳳毛麟角了。當然,如果你對自己的分析結果不滿意的話,可以求助專業的統計師哦。他們有能力、有策略,做得比你更好。
【知識總結】(1)ROC曲線其實是診斷試驗中用于展示某個判斷原則效果好差的一種圖形,可以通過AUC來衡量大小。
(2)給定最佳阈值後,可以通過靈敏度、特異度、正确率來評價判斷的具體效果。
(3)當然,實際應用過程中還有其他方法、其他可以計算的統計指标。
訂閱号那麼多,找不到默博士了?
有話要說...