Science這篇文章《Functional characterization of IgA-targeted bacterial taxa from undernourished Malawian children that produce diet-dependent enteropathy.》
關(guān)注了非洲馬拉維兒童 營養(yǎng)不良與腸道菌群及腸粘膜免疫功能之間的關(guān)系,發(fā)現(xiàn)以特定細(xì)菌為靶點(diǎn)的lgA對于兒童營養(yǎng)不良的診斷及治療具有特殊意義。
下面這幅圖展示了檢測致病性大腸桿菌的兩種模型的比較,紫色代表以腸桿菌的相對豐度為指標(biāo)的檢測方法,橙色代表以腸桿菌為靶點(diǎn)的lgA的指標(biāo)的檢測方法,由圖中可以看出,lgA index的檢測模型更好。
WHAT? 這是為啥嘞,而且這是什么圖......
請往下看~~
在微生態(tài)研究中,尋找生物標(biāo)志物建立模型時,你是否在糾結(jié)于特異度與靈敏度的取舍。怎樣綜合評價不同模型的準(zhǔn)確性呢?下面由小昌上臺表演~~
劃重點(diǎn)
1. 初識ROC曲線
2. 深入了解ROC
3. AUC值作為評價標(biāo)準(zhǔn)
4. 最優(yōu)零界點(diǎn)咋么找
5. ROC的好基友——PR曲線
一 初識ROC曲線
1. ROC的前世今生:
ROC的全稱是“受試者工作特征”(Receiver Operating Characteristic)曲線,首先是由二戰(zhàn)中的電子工程師和雷達(dá)工程師發(fā)明的,用來偵測戰(zhàn)場上的敵軍載具(飛機(jī)、船艦),也就是信號檢測理論。之后很快就被引入了心理學(xué)來進(jìn)行信號的知覺檢測。此后被引入機(jī)器學(xué)習(xí)領(lǐng)域,用來評判分類、檢測結(jié)果的好壞。因此,ROC曲線是非常重要和常見的統(tǒng)計分析方法。
2. “ROC 曲線”思路:
根據(jù)學(xué)習(xí)器的預(yù)測結(jié)果對樣例進(jìn)行排序,按此順序逐個把樣本作為正例進(jìn)行預(yù)測,每次計算出兩個重要量的值(TPR、FPR),分別以它們?yōu)闄M、縱坐標(biāo)作圖。
3. AUC (Area under Curve):
ROC曲線下的面積,介于0.1和1之間,作為數(shù)值可以直觀的評價分類器的好壞,值越大越好。
4. “混淆矩陣”:
對于二分類問題,可將樣本根據(jù)其真實(shí)類別與學(xué)習(xí)器預(yù)測類別的組合劃分為TP(true positive)、FP(false positive)、TN(true negative)、FN(false negative)四種情況,TP+FP+TN+FN=樣本總數(shù)。
http://zhwhong.ml/2017/04/14/ROC-AUC-Precision-Recall-analysis/
(1) 真陽性(True Positive,TP):檢測不健康,且實(shí)際不健康;正確肯定的匹配數(shù)目;
(2) 假陽性(False Positive,F(xiàn)P):檢測不健康,但實(shí)際健康;誤報,給出的匹配是不正確的;
(3) 真陰性(True Negative,TN):檢測健康,且實(shí)際健康;正確拒絕的非匹配數(shù)目;
(4) 假陰性(False Negative,F(xiàn)N):檢測健康,但實(shí)際不健康;漏報,沒有正確找到的匹配的數(shù)目。
二 深入了解ROC曲線
ROC曲線其實(shí)是多個混淆矩陣的結(jié)果組合。
以疾病檢測為例,這是一個有監(jiān)督的二分類模型,模型對每個樣本的預(yù)測結(jié)果為一個概率值,我們需要從中選取一個閾值來判斷健康與否。
定好一個閾值之后,超過此閾值定義為不健康,低于此閾值定義為健康,就可以得出混淆矩陣。
而如果在上述模型中我們沒有定好閾值,而是將模型預(yù)測結(jié)果從高到低排序,將每次概率值依次作為閾值,那么就可以得到多個混淆矩陣。對于每個混淆矩陣,我們計算兩個指標(biāo)TPR和FPR,以FPR為x軸,TPR為y軸畫圖,就得到了ROC曲線。
一般來說,如果ROC是光滑的,那么基本可以判斷沒有太大的overfitting,AUC面積越大一般認(rèn)為模型越好。
三 AUC值作為評價標(biāo)準(zhǔn)
1. AUC (Area Under Curve)
被定義為ROC曲線下的面積,取值范圍一般在0.5和1之間。使用AUC值作為評價標(biāo)準(zhǔn)是因?yàn)楹芏鄷r候ROC曲線并不能清晰的說明哪個分類器的效果更好,而作為一個數(shù)值,對應(yīng)AUC更大的分類器效果更好。
2.AUC 的計算方法
非參數(shù)法:(兩種方法實(shí)際證明是一致的)
(1)梯形法則:早期由于測試樣本有限,我們得到的AUC曲線呈階梯狀。曲線上的每個點(diǎn)向X軸做垂線,得到若干梯形,這些梯形面積之和也就是AUC 。
(2)Mann-Whitney統(tǒng)計量: 統(tǒng)計正負(fù)樣本對中,有多少個組中的正樣本的概率大于負(fù)樣本的概率。這種估計隨著樣本規(guī)模的擴(kuò)大而逐漸逼近真實(shí)值。
參數(shù)法:
(3)主要適用于二項(xiàng)分布的數(shù)據(jù),即正反樣本分布符合正態(tài)分布,可以通過均值和方差來計算。
3.從AUC判斷分類器(預(yù)測模型)優(yōu)劣的標(biāo)準(zhǔn)
· AUC = 1,是完美分類器,采用這個預(yù)測模型時,存在至少一個閾值能得出完美預(yù)測。絕大多數(shù)預(yù)測的場合,不存在完美分類器。
· 0.5 < AUC < 1,優(yōu)于隨機(jī)猜測。這個分類器(模型)妥善設(shè)定閾值的話,能有預(yù)測價值。
· AUC = 0.5,跟隨機(jī)猜測一樣(例:丟銅板),模型沒有預(yù)測價值。
· AUC < 0.5,比隨機(jī)猜測還差;但只要總是反預(yù)測而行,就優(yōu)于隨機(jī)猜測。
三種AUC值示例:總結(jié)****:AUC值越大的分類器,正確率越高
4. 不同模型AUC的比較
總的來說,AUC值越大,模型的分類效果越好,疾病檢測越準(zhǔn)確;不過兩個模型AUC值相等并不代表模型效果相同,例子如下:
下圖中有三條ROC曲線,A模型比B和C都要好
下面兩幅圖中兩條ROC曲線相交于一點(diǎn),AUC值幾乎一樣:當(dāng)需要高Sensitivity時,模型A比B好;當(dāng)需要高Speciticity時,模型B比A好;
四 最優(yōu)零界點(diǎn)咋么找
說人話,就是保證TPR高的同時FPR要盡量的小,建立max(TPR+(1-FPR))的模型。同樣有三種方法:找到離(0,1)最近的點(diǎn)、Youden index和最小損耗(cost criterion)。
如果說Sn 和Sp 分別對應(yīng)于sensitivity和specificity,所有ROC曲線上的點(diǎn)到ROC的距離可以表示為,讓d最小就好啦;
Youden index : 最大化ROC曲線上的點(diǎn)到x軸的垂直距離(最大化TPR(Sn)和FPR(1-Sp)的差異);
考慮人力物力和財力(第三種方法很少用,因?yàn)楹茈y評估)
五 ROC的好基友——PR曲線
1.介紹
PR曲線和ROC曲線類似,ROC曲線是FPR和TPR的點(diǎn)連成的線,PR曲線是準(zhǔn)確率和召回率的點(diǎn)連成的線,如下圖所示。
我們又知道,Recall=TPR,因此PRC的橫坐標(biāo)為ROC的縱坐標(biāo)。
2. ROC曲線與PR曲線的取舍
相對來講ROC曲線會穩(wěn)定很多,在正負(fù)樣本量都足夠的情況下,ROC曲線足夠反映模型的判斷能力。因此,對于同一模型,PRC和ROC曲線都可以說明一定的問題,而且二者有一定的相關(guān)性,如果想評測模型效果,也可以把兩條曲線都畫出來綜合評價。對于有監(jiān)督的二分類問題,在正負(fù)樣本都足夠的情況下,可以直接用ROC曲線、AUC、KS評價模型效果。在確定閾值過程中,可以根據(jù)Precision、Recall或者F1來評價模型的分類效果。對于多分類問題,可以對每一類分別計算Precision、Recall和F1,綜合作為模型評價指標(biāo)。
在上圖中,(a)和(c)為ROC曲線,(b)和(d)為Precision-Recall曲線。(a)和(b)展示的是分類其在原始測試集(正負(fù)樣本分布平衡)的結(jié)果,(c)和(d)是將測試集中負(fù)樣本的數(shù)量增加到原來的10倍后,分類器的結(jié)果。可以明顯的看出,ROC曲線基本保持原貌,而Precision-Recall曲線則變化較大。
參考資料
https://en.wikipedia.org/wiki/Receiver_operating_characteristic
https://www.zhihu.com/question/30643044
http://www.it610.com/article/4964856.htm
http://zhwhong.ml/2017/04/14/ROC-AUC-Precision-Recall-analysis/