題:
AUC代表什麼?它是什麼?
josh
2015-01-09 16:35:36 UTC
view on stackexchange narkive permalink

進行了高低搜索,未能找出與預測相關的AUC代表或表示什麼。

檢查您使用的“ auc”標籤的描述:http://stats.stackexchange.com/questions/tagged/auc
曲線下的面積(即ROC曲線)
此處的讀者可能也對以下主題感興趣:[了解ROC曲線](http://stats.stackexchange.com/q/105501/7290)。
“搜索上下限”一詞很有趣,因為您可以通過在Google中鍵入“ AUC”或“ AUC statistics”找到許多出色的AUC定義/用途。當然是適當的問題,但是那句話讓我措手不及!
我使用了Google AUC,但很多頂級結果並未明確指出AUC =曲線下面積。與它相關的第一個Wikipedia頁面確實有它,但是直到一半。回想起來,它似乎很明顯!謝謝大家提供一些非常詳細的答案
以下鏈接可能有助於理解二進制分類器的ROC和AUC / AUROC。https://ccrma.stanford.edu/workshops/mir2009/references/ROCintro.pdf http://www.dataschool.io/roc-curves-and-auc-explained/
密切相關:[如何手動計算曲線下面積(AUC)或c統計量](http://stats.stackexchange.com/questions/145566/)-一個很好的答案。
六 答案:
Franck Dernoncourt
2015-01-10 01:15:05 UTC
view on stackexchange narkive permalink

縮寫

p大多數時候,AUC用來表示AUROC,這是一個不好的做法,因為正如Marc Claesen指出的那樣,AUC模棱兩可(可以是任何曲線),而AUROC則不是。

解釋AUROC

AUROC具有幾種等效解釋

  • 期望統一繪製隨機正數在均勻繪製的隨機負數之前排名。
  • 在均勻繪製的隨機負數之前的期望正比例。
  • 如果排名在正前方劃分,則期望的真實正率一個均勻繪製的隨機負數。
  • 在均勻繪製的隨機正數之後排名的負數的預期比例。
  • 如果在均勻繪製的隨機正數之後進行劃分,則期望的假陽性率

要進一步:如何得出AUROC的概率解釋?


計算AUROC

假設我們有一個概率二元分類器,例如邏輯回歸。

在呈現ROC曲線(=接收器工作特性曲線)之前,必須先了解混淆矩陣的概念。當我們進行二進制預測時,可以有4種類型的結果:

  • 我們預測0,而真實類別實際上是0:這稱為 True Negative ,也就是說,我們正確地預測該類別為負(0)。例如,防病毒軟件沒有將無害文件檢測為病毒。
  • 我們預測0,而真實類別實際上是1:這被稱為 False Negative ,即我們錯誤地認為預測該類為負(0)。例如,防病毒軟件未能檢測到病毒。
  • 我們預測1,而真實類別實際上是0:這稱為假陽性,即我們錯誤地預測類別為正(1)。例如,一種防病毒軟件將無害文件視為病毒。
  • 我們預測1,而真實類別實際上是1:這稱為 True Positive ,即我們正確預測了該類是肯定的(1)。例如,一種防病毒軟件正確地檢測到了病毒。

要獲取混淆矩陣,我們仔細查看該模型所做的所有預測,併計算這四種類型的結果中每種結果的次數發生:

enter image description here

在此混淆矩陣示例中,在已分類的50個數據點中,正確分類了45個,錯誤分類了5個。

由於要比較兩個不同的模型,擁有一個度量標準而不是多個度量標准通常更方便,因此我們從混淆矩陣中計算出兩個度量標準,然後將它們合併為一個:

  • 真實陽性率 TPR ),又名。靈敏度,點擊率召回,它們定義為 $ \ frac {TP} {TP + FN} $ 跨度>。直觀地,該度量對應於被正確視為正的正數據點相對於所有正數據點的比例。換句話說,TPR越高,我們將錯過的陽性數據點就越少。
  • 假陽性率 FPR ),又名。 掉落,其定義為 $ \ frac {FP} {FP + TN} $ span>。直觀地,該度量標準對應於被誤認為是正數的負數數據點相對於所有負數數據點的比例。換句話說,FPR越高,負數據點將被錯誤分類。

要將FPR和TPR合併為一個度量標準,我們首先計算前兩個具有不同閾值的度量標準(例如 $ 0.00; 0.01、0.02,\ dots,1.00 $ span>)進行邏輯回歸,然後將它們繪製在一張圖上,其中FPR值在橫坐標上,而TPR值在縱坐標上。生成的曲線稱為ROC曲線,我們認為的度量標準是該曲線的AUC,我們稱為AUROC。

下圖以圖形方式顯示了AUROC:

enter image description here

在此圖中,藍色區域對應於接收器工作曲線下的區域。特徵(AUROC)。對角線中的虛線表示隨機預測變量的ROC曲線:AUROC為0.5。隨機預測變量通常用作基準,以查看模型是否有用。

如果您想獲得一些第一手的經驗:

精彩的解釋。謝謝。一個問題只是為了澄清我的理解:我是說對了,在這張圖上,一個藍色的正方形會具有ROC曲線(AUC = 1),並且是一個很好的預測模型嗎?我認為這在理論上是可能的。
@josh是的,是的。AUROC在0到1之間,並且AUROC = 1表示預測模型是完美的。實際上,AUROC離0.5越遠越好:如果AUROC <0.5,則只需要反轉模型所做的決策即可。結果,如果AUROC = 0,這是個好消息,因為您只需要反轉模型的輸出即可獲得理想的模型。
鏈接“幾個等效的解釋”已斷開。
@hxd1011 Stack Exchange應該鏡像鏈接的頁面。
@FranckDernoncourt偉大的帖子。非常感謝!! 簡短的問題-您說AUC小於0.5也很好,因為這意味著我們可以反轉模型決策?那麼,您是說如果我的AUC = 0.3,那麼如果模型將實例(x矢量)預測為正標籤(1),那麼我應該將其轉換為負標籤(0)? 如果是,那麼這是否與模型的預測相反?就像模型說一個特定實例是正標籤,而我們說它是負類,因為AUC小於0.5,所以我們可以反轉預測。這與模型的預測背道而馳
我仍然很難理解曲線...橫坐標不應該是:1-FPR而不是FPR嗎?什麼代表這條曲線上的每個點?我在這張圖表上算了大約50個“步驟”,由於我們在混淆矩陣中有50個數據點,它們在每個實驗之後是否代表TPR和FPR?
對於生成統計上可靠的AUROC需要多少個樣本,您有任何建議或建議的讀數嗎?例如我的訓練集中有100例陽性和15例陰性病例,訓練二進制分類器後生成的AUROC仍然有用嗎?
在AUROC解釋中,“如果在均勻繪製的隨機正數之後才對等級進行劃分,則預期的誤報率”,這不是(1-FPR)嗎?
@FranckDernoncourt-在您對AUC曲線的描述中,繪製的點數可以是任意值(取決於閾值的分辨率)。在其他更常見的描述中(例如:Alexey在此處回答:https://stats.stackexchange.com/questions/105501/understanding-roc-curve),該曲線中的點數就是測試數據點數。這兩個似乎不一致。我想念什麼?
理想地,@ryu576的ROC曲線中的點數確實是測試樣本的數。
這是一個很好的答案。但是我一直想知道AUC $ P(score(x ^ +)> score(x ^-))$的解釋與我們通過對曲線進行積分計算的方式之間有什麼聯繫。在下面將我的數學聯繫起來的地方查看我的答案。
_解釋AUROC_的最後一點應該是“ 1-如果...則為預期的FPR”,而不是“如果...則為預期的FPR”,不是嗎?(在您提供的參考資料中,幻燈片中也將其表示為“ 1 -...”。)編輯:剛剛看到Mudit在先前隱藏的註釋中說了同樣的話。
Alexey Grigorev
2015-01-15 01:13:11 UTC
view on stackexchange narkive permalink

雖然我參加聚會有點晚,但這是我的5美分。 @FranckDernoncourt(+1)已經提到了AUC ROC的可能解釋,而我最喜歡的是他列表中的第一個(我使用了不同的措辭,但相同):

aUC的AUC分類器等於分類器將隨機選擇的正例的排名高於隨機選擇的負例的概率,即$ P \ Big(\ text {score}(x ^ +)> \ text {score}(x ^- )\ Big)$

請考慮以下示例(auc = 0.68):

enter image description here

讓我們嘗試模擬它:隨機繪製正樣本和負樣本,然後計算出正樣本得分大於負樣本得分的情況的比例

  cls = c('P','P', 'N','P','P','P','N','N','P','N','P','N','P','N','N ','N','P','N','P','N')得分= c(0.9,0.8,0.7,0.6,0.55,0.51,0.49,0.43,0.42,0.39,0.33,0.31, 0.23、0.22、0.19、0.15、0.12、0.11、0.04、0.01)pos =得分[cls =='P'] neg =得分[cls =='N' ] set.seed(14)p =複製(50000,sample(pos,size = 1)> sample(neg,size = 1))平均值(p) 

,我們得到0.67926 。非常接近,不是嗎?

順便說一句,在R中,我通常使用 ROCR軟件包繪製ROC曲線併計算AUC。

  library('ROCR')pred = projection(score,cls)roc = performance(pred,“ tpr”,“ fpr”)圖( roc,lwd = 2,colorize = TRUE)lines(x = c(0,1),y = c(0,1),col =“ black”,lwd = 1)auc = performance(pred,“ auc”) auc =取消列出(auc@y.values)auc  

enter image description here

真好第二個灰色塊明確說明了繪製方法。
+1(之前)。在上面,我鏈接到另一個主題,您在其中對相關主題做出了非常出色的貢獻。這在補充@FranckDernoncourt's帖子方面做得很好,並有助於進一步充實它。
在R包裝產生的ROC曲線中,顏色代表什麼?能否請您添加一些詳細信息。謝謝 !
將_true_肯定和_true_否定添加到上方灰色框中的解釋中可能會很有用?否則可能會有點混亂。
Frank Harrell
2016-01-31 20:32:23 UTC
view on stackexchange narkive permalink

重要的考慮因素未包含在所有這些討論中。上面討論的過程會產生不合適的閾值,並會使用錯誤的準確度評分規則(比例),這些規則會通過選擇錯誤的特徵並賦予錯誤的權重進行優化。 。 ROC曲線無法提供可行的見解。沒有研究人員檢查其好處,他們就成為必須的。它們的墨水:信息比率很大。

最佳決策不考慮“正”和“負”,而是估計結果的可能性。效用/成本/損失函數在ROC的構建中不起作用,因此ROC的無用性被用於將風險估計轉換為最佳(例如,最低預期損失)決策。

統計模型通常可以做出預測,分析人員通常應該停在那裡,因為分析人員可能不知道損失函數。預測歧視(例如,使用引導程序)進行無偏驗證的預測的關鍵組成部分是預測歧視(衡量此差異的一種半好的方法是一致性概率,恰好等於ROC下的面積,但是如果您不要繪製ROC)和校準曲線。如果要使用絕對規模的預測,則校準確實非常必要。

有關更多信息,請參見生物醫學研究的生物統計學中的“信息丟失”一章和其他章節。

>

其他所有答案都集中在沒有實際用處的數學公式上。唯一正確的答案投票最少。
我一直在接受哈雷爾(Harrell)教授關於該主題的看似含糊的答案-它們在強迫您認真思考的方式方面很棒。我相信他在暗示的是,即使您接受更高比例的假陰性(同時減少假陽性)可能會導致您的臨界點,您也不想在HIV篩查測試中接受假陰性病例(虛構的例子)在AUC最大值處。對不起,您的過分簡單化。
[此處](https://www.amazon.com/Regression-Modeling-Strategies-Applications-Statistics/dp/3319194240/ref=sr_1_1?ie=UTF8&qid=1474125880&sr=8-1&keywords=harrell+statistics)
random_guy
2015-01-09 18:10:39 UTC
view on stackexchange narkive permalink

AUC是曲線下區域的縮寫。它用於分類分析,以確定哪個使用的模型最能預測類別。

其應用示例是ROC曲線。在此,將真實的陽性率與錯誤的陽性率作圖。下面是一個示例。模型的AUC越接近1,就越好。因此,具有較高AUC的模型比具有較低AUC的模型更為可取。 G。精確調用,F1-Score或Lorenz曲線。

Example of a ROC curve

您能否在對0/1結果進行簡單交叉驗證的情況下解釋ROC曲線?我不十分了解這種情況下的曲線構造方式。
ryu576
2018-06-04 04:02:05 UTC
view on stackexchange narkive permalink

此論壇中的答案非常好,我經常回到這里以供參考。但是,一件事總是不見了。從@Frank的答案中,我們將AUC解釋為陽性樣本比陰性樣本得分更高的概率。同時,計算方法是繪製TPR和FPR作為閾值,更改 $ \ tau $ span>併計算該曲線下的面積。但是,為什麼曲線下的這個面積與此概率相同? @Alexy通過模擬顯示它們很接近,但是我們可以用數學方法得出這種關係嗎?讓我們假設以下內容:

  1. $ A $ span>是模型為實際上屬於正類的數據點生成的分數分佈。
  2. $ B $ span>是模型為實際處於負類的數據點生成的分數分佈(我們希望它位於 $ A $ span>)。
  3. $ \ tau $ span>是截止閾值。如果某個數據點的得分高於該分數,則可以預測該分數屬於肯定類別。否則,它預計將處於負麵類別。
  4. ol>

    請注意,TPR(調用)由以下命令給出: $ P(A> \ tau)$ span>,而FPR(釋放)由以下命令給出: $ P(B> \ tau)$ span>。

    現在,我們在y軸上繪製TPR,在x軸上繪製FPR,繪製各種 $ \ tau $ span>的曲線,併計算下的面積這條曲線( $ AUC $ span>)。

    我們得到:

    $$ AUC = \ int_0 ^ 1 TPR(x)dx = \ int_0 ^ 1 P(A> \ tau(x))dx $$ span> 其中 $ x $ span>是FPR。 現在,一種計算此積分的方法是考慮 $ x $ span>屬於均勻分佈。在這種情況下,由於製服的PDF為1,因此它只是 $ TPR $ span>的期望。

    $$ AUC = E_x [P(A> \ tau(x))] \ tag {1} $$ span> 如果我們考慮 $ x \ sim U [0,1)$ span>。

    現在, $ x $ span>僅僅是 $ FPR $ span>

    $$ x = FPR = P(B> \ tau(x))$$ span> 由於我們認為 $ x $ span>來自統一分佈,因此

    $$ P(B> \ tau(x))\ sim U $$ span> $$ = > P(B< \ tau(x))\ sim(1-U)\ sim U $$ span> \ begin {equation} = > F_B(\ tau(x))\ sim U \ tag {2} \ end {equation} span>

    但是我們從逆變換定律知道,對於任何隨機變量 $ X $ span>,如果 $ F_X(Y)\ sim U $ span>,然後 $ Y \ sim X $ span>。這是因為採用任何隨機變量並對其應用CDF會導致統一。

    $$ F_X(X)= P(F_X(x)<X)= P(X<F_X ^ {-1}(X))= F_XF_X ^ {-1}(X )= X $$ span> 這只適用於製服。

    在方程式(2)中使用此事實可得出: $$ \ tau(x)\ sim B $$ span>

    將其代入等式(1),我們得到:

    $$ AUC = E_x(P(A>B)$ P(A>B)$$ span>

    換句話說,曲線下的面積是隨機正樣本比隨機負樣本得分更高的概率。

(+1)我喜歡這個博覽會;基於簡單的$ AUC = \ int_0 ^ 1 TPR(x)dx $,我們還可以將AUC解釋為對所有可能的特異性值(1-FPR)的敏感性平均值。
Colin Hicks
2020-04-17 03:41:32 UTC
view on stackexchange narkive permalink

回复很晚,但是在從多個來源學習之後,我已經對AUC形成了自己的理解。該響應本質上主要是啟發式的,並不意味著嚴格

比方說,我們有M個陽性樣本和N個陰性樣本,以及一些“得分函數 $ s(x)$ span>”,它為樣本 $ x $ span>。對於閾值 $ T $ span>,如果 $ s(x)>T $ span>則為“正”,否則為“負”。

讓我們以相等的概率隨機選擇一個負樣本 $ x_n $ span> $ \ frac {1} {N} $ 。如果將閾值 $ T $ span>放置在 $ s(x_n)$ span>,則實際正利率為 $ TP(T)$ span>是對隨機選擇的正樣本 $ x_p $ span>在 $ x_n $ span>上方。換句話說,對於 $ T =,此出現是 $ P(X_p>X_n | X_n = x_n)= TP(T)$ span> s(x_n)$ span>。如果這兩個事件都發生( $ X_n = x_n $ span>和 $ x_p>x_n $ span>),則出現此事件的可能性是 $ P(X_p>X_n | X_n = x_n)P(X_n = x_n)= P(X_p>X_n \ cap X_n = x_n)$ span>。根據總概率定律,所有這些值在 $ x_n $ span>的所有可能值上的總和為“> $ P(X_p>X_n) $ span>

$$ P(X_p>X_n)= \ sum_ {i = 1} ^ N {P(X_p>X_n \ cap X_n = x_i)} $$ span>

$$ = \ sum_ {i = 1} ^ N {P(X_p>X_n | X_n = x_i)P(X_n = x_i)} $$ span>

$$ = \ sum_ {i = 1} ^ N {TP(s(x_i))\ frac {1} {N}} $$ span> >

在ROC曲線中,每當曲線向左或向右移動時,表示它已“跳過”了一個負樣本。當它向上或向下移動時,表示它已經“跳過”了一個正樣本,從而精確地給出了曲線的階梯性質。對於上述總和,在極限中,隨著樣本數量的增加,我們將所有可能的誤報率 $ FP(T)$ span>這些跳躍,我們得到

$$ \ int_0 ^ 1 {TP(FP ^ {-1}(x))dx} $$ span>對於所有可能的閾值 $ FP ^ {-1}(x)$ span>,使用總概率定律,得出總 $$ P(X_p>X_n)$$ span> 它被視為ROC曲線下的面積AUC enter image description here



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...