AUC neyi temsil ediyor ve bu nedir?


228

Yüksek ve düşük arandı ve AUC'nin tahmin ile ilgili olarak ne anlama geldiğini veya ne anlama geldiğini bulamadık.


8
Kullandığınızauc etiketin açıklamasını kontrol edin : stats.stackexchange.com/questions/tagged/auc
Tim

4
Eğri Altındaki Alan (yani, ROC eğrisi)
Andrej

7
Buradaki okuyucular ayrıca aşağıdaki konuya da ilgi duyabilir: ROC eğrisini anlama .
gung

11
"Yüksek aranmış ve alçak" ifadesi ilginçtir çünkü Google’da "AUC" veya "AUC istatistiklerini" yazarak AUC için pek çok mükemmel tanım / kullanım bulabilirsiniz. Elbette uygun soru, ancak bu ifade beni sadece nöbetçi yakaladı!
Behacad

3
Google AUC yaptım, ancak en iyi sonuçların çoğu açıkça AUC = Eğri Altındaki Alanı belirtmedi. Bununla ilgili ilk Vikipedi sayfası, o yarıya kadar olmaz. Geçmişe bakıldığında oldukça açık görünüyor! Bazı ayrıntılı cevaplar için
josh

Yanıtlar:


309

Kısaltmalar

AUC, çoğu zaman AUROC anlamına gelir, çünkü Marc Claesen, AUC'nin belirsiz olduğunu (herhangi bir eğri olabilir) belirttiğinden, AUROC olmasa da, kötü bir uygulamadır.


AUROC’un yorumlanması

AUROC'un çeşitli eşdeğer yorumları vardır :

  • Düzgün bir şekilde çizilmiş rasgele bir pozitif beklenti, düzgün bir şekilde çizilmiş rastgele bir negatif önce sıralanır.
  • Olumlu beklenen bir oran, tekdüze bir şekilde çizilmiş rastgele bir olumsuzdan önce sıralanır.
  • Sıralamanın düzgün bir şekilde çizilmiş rasgele negatifden hemen önce bölünmesi durumunda beklenen gerçek pozitif oran.
  • Negatiflerin beklenen oranı, düzenli olarak çizilmiş rastgele bir pozitifin ardından sıralandı.
  • Sıralamanın düzgün şekilde çizilmiş rasgele bir pozitifin hemen ardından bölünmesi durumunda beklenen yanlış pozitif oran.

Daha da ileri gitmek: AUROC’un olasılıksal yorumunu nasıl türetirim?


AUROC'u Hesaplamak

Lojistik regresyon gibi olasılıksal, ikili bir sınıflandırıcı olduğunu varsayalım.

ROC eğrisini sunmadan önce (= Alıcı Çalışma Karakteristiği eğrisi), karışıklık matrisi kavramının anlaşılması gerekir. İkili bir tahmin yaptığımızda, 4 tür sonuç olabilir:

  • Gerçek sınıf aslında 0 iken 0 tahmin ediyoruz: buna Gerçek Negatif denir , yani sınıfın negatif olduğunu doğru tahmin ederiz (0). Örneğin, bir virüsten koruma yazılımı zararsız bir dosyayı virüs olarak algılayamadı.
  • Gerçek sınıf aslında 1 iken 0 tahmin ediyoruz: buna Yanlış Negatif denir , yani yanlış sınıfın negatif olduğunu tahmin ederiz (0). Örneğin, bir virüsten koruma yazılımı bir virüs tespit edemedi.
  • Gerçek sınıf aslında 0 iken 1 tahmin ediyoruz: buna Yanlış Pozitif denir , yani yanlış sınıfın pozitif olduğunu tahmin ederiz (1). Örneğin, bir virüsten koruma yazılımı zararsız bir dosyanın virüs olduğunu düşündü.
  • Gerçek sınıf aslında 1 iken 1'i tahmin ediyoruz: buna Gerçek Pozitif denir , yani sınıfın pozitif olduğunu doğru tahmin ediyoruz (1). Örneğin, bir virüsten koruma yazılımı haklı olarak bir virüs algıladı.

Karışıklık matrisini elde etmek için, model tarafından yapılan tüm tahminleri gözden geçiriyoruz ve bu 4 tür sonuçtan her birinin kaç kez gerçekleştiğini sayıyoruz:

görüntü tanımını buraya girin

Bu bir karmaşa matrisi örneğinde, sınıflandırılmış 50 veri noktası arasında, 45 doğru sınıflandırılmış ve 5 yanlış sınıflandırılmıştır.

İki farklı modeli karşılaştırdığımızda, birkaç taneden ziyade tek bir metriğe sahip olmak çoğu zaman daha uygun olduğundan, daha sonra bir tanede birleştireceğimiz karışıklık matrisinden iki ölçüm hesaplıyoruz:

  • Gerçek pozitif oran ( TPR ), aka. olarak tanımlanan hassasiyet, isabet oranı ve hatırlama . Sezgisel olarak bu metrik, tüm pozitif veri noktalarına göre doğru olarak pozitif kabul edilen pozitif veri noktalarının oranına karşılık gelir. Başka bir deyişle, daha yüksek TPR, daha az pozitif veri noktası kaçıracağız.TPTP+FN
  • Yanlış pozitif oran ( FPR ), aka. olarak tanımlanan düşüş . Sezgisel olarak bu metrik, tüm negatif veri noktalarına göre yanlışlıkla pozitif olarak kabul edilen negatif veri noktalarının oranına karşılık gelir. Başka bir deyişle, FPR ne kadar yüksekse, o kadar fazla negatif veri noktası yanlış sınıflandırılacaktır.FPFP+TN

FPR ve TPR'yi tek bir metrikte birleştirmek için önce iki eski metriği çok sayıda farklı eşikle (örneğin ) lojistik regresyon için hesapladık, sonra bunları tek bir grafiğe çizdik, abscissa üzerindeki FPR değerleri ve koordinattaki TPR değerleri ile. Ortaya çıkan eğri, ROC eğrisi olarak adlandırılır ve dikkate aldığımız metrik, AUROC olarak adlandırdığımız bu eğrinin AUC'sidir.0.00;0.01,0.02,,1.00

Aşağıdaki şekilde AUROC grafik olarak gösterilmektedir:

görüntü tanımını buraya girin

Bu şekilde, mavi alan, Alıcının Çalışma Karakteristiği (AUROC) eğrisinin altındaki Alana karşılık gelir. Çaprazdaki kesikli çizgi, rastgele bir tahmincinin ROC eğrisini sunarız: AUROC değeri 0,5. Rastgele prediktör, modelin faydalı olup olmadığını görmek için genel olarak bir taban çizgisi olarak kullanılır.

Bazı ilk elden tecrübe edinmek istiyorsanız:


4
Mükemmel bir açıklama. Teşekkür ederim. Anladığımı açıklığa kavuşturmak için tek bir soru: Bu grafikte düz mavi bir karenin ROC eğrisine sahip olacağını (AUC = 1) ve iyi bir tahmin modeli olacağını söylemekte haklı mıyım? Bunun teorik olarak mümkün olduğunu varsayıyorum.
josh

25
@josh Evet, doğru. AUROC, 0 ile 1 arasındadır ve AUROC = 1, tahmin modelinin mükemmel olduğunu gösterir. Aslında, AUROC daha uzakta 0.5'ten daha iyidir: AUROC <0.5 ise, sadece modelinizin verdiği kararı tersine çevirmeniz gerekir. Sonuç olarak, eğer AUROC = 0 ise, bu iyi bir haber çünkü mükemmel bir model elde etmek için modelinizin çıktısını tersine çevirmeniz yeterli.
Franck Dernoncourt,

1
"birkaç eşdeğer yorum" bağlantısı koptu.
Haitao Du

1
AUROC yorumlarında "Sıralamanın düzgün şekilde çizilmiş rasgele bir pozitifin hemen ardından bölünmesi durumunda beklenen yanlış pozitif oran.", Bu (1 - FPR) değil mi?
Mudit Jain

1
@ ryu576 ideal olarak ROC eğrisindeki nokta sayısı gerçekten test örneklerinin sayısıdır.
Franck Dernoncourt

60

Partiye biraz geç kalmama rağmen, işte 5 sentim. @FranckDernoncourt (+1) zaten AUC ROC'un olası yorumlarından bahsetti ve en sevdiğim kişi listesindeki ilk kişi (farklı kelimeler kullanıyorum, ancak aynı):

Bir sınıflandırıcının AUC'si, sınıflandırıcının rastgele seçilen bir negatif örnekten daha yüksek, rastgele seçilmiş bir pozitif örnek, yani daha yüksek bir sıralamada seçilme olasılığına eşittir.P(score(x+)>score(x))

Bu örneği ele alalım (auc = 0.68):

görüntü tanımını buraya girin

Bunu simüle etmeye çalışalım: rastgele pozitif ve negatif örnekler çizin ve sonra pozitiflerin negatiflerden daha yüksek puan aldığı durumlarda oranı hesaplayın

cls = c('P', 'P', 'N', 'P', 'P', 'P', 'N', 'N', 'P', 'N', 'P',
        'N', 'P', 'N', 'N', 'N', 'P', 'N', 'P', 'N')
score = 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 = score[cls == 'P']
neg = score[cls == 'N']

set.seed(14)
p = replicate(50000, sample(pos, size=1) > sample(neg, size=1))
mean(p)

Ve 0.67926 alıyoruz. Çok yakın, değil mi?

 

Bu arada, RI'de genellikle ROC eğrilerini çizmek ve AUC'yi hesaplamak için ROCR paketini kullanın .

library('ROCR')

pred = prediction(score, cls)
roc = performance(pred, "tpr", "fpr")

plot(roc, lwd=2, colorize=TRUE)
lines(x=c(0, 1), y=c(0, 1), col="black", lwd=1)

auc = performance(pred, "auc")
auc = unlist(auc@y.values)
auc

görüntü tanımını buraya girin


Güzel. İkinci gri blok kesinlikle çizim yöntemini netleştirir.
josh

+1 (daha önce). Yukarıda, konuyla ilgili çok güzel bir katkı yaptığınız başka bir konuya bağlantı verdim. Bu, @ FranckDernoncourt'un gönderisine iltifat etmek ve onu daha iyi çözmek için yardımcı olmakta harika bir iş çıkardı.
gung

1
R paketi tarafından üretilen ROC eğrisinde, renk ne anlama geliyor? Lütfen bazı detayları ekler misiniz? Teşekkürler !
Prradep

Yukarıdaki gri kutudaki açıklamada gerçek pozitifler ve gerçek negatifler eklemek muhtemelen faydalı olur mu? Aksi takdirde biraz kafa karıştırıcı olabilir.
cbellei,

42

Önemli tartışmalar bu tartışmaların hiçbirinde yer almamaktadır. Yukarıda tartışılan prosedürler uygun olmayan eşleşmeleri teşvik eder ve yanlış özelliklerin seçilmesi ve onlara yanlış ağırlık verilmesiyle optimize edilen uygunsuz doğruluk puanlama kurallarından (oranlar) yararlanır.

Sürekli tahminlerin ikilemi, optimum karar teorisi karşısında uçar. ROC eğrileri eyleme geçirilebilir içgörü sağlamıyor. Yararları inceleyen araştırmacılar olmadan zorunlu hale geldiler. Çok büyük bir mürekkebi var: bilgi oranı.

Optimum kararlar "pozitif" ve "olumsuz" olarak değil, sonucun tahmini olasılığını dikkate alır. ROC yapımında hiçbir rolü olmayan fayda / maliyet / kayıp fonksiyonu, dolayısıyla ROC'lerin işe yaramazlığı, risk tahminini optimal (örneğin, en düşük beklenen zarar) kararına çevirmek için kullanılır.

İstatistiksel bir modelin amacı genellikle bir öngörüde bulunmaktır ve analist, kayıp fonksiyonunu bilemeyebileceğinden, analist sıklıkla orada durmalıdır. Tahmin Anahtar bileşenleri tarafsız bir şekilde doğrulamak için (örneğin, ön yükleme alanı kullanarak) bu ROC altında bölgeyi eşit olur ama daha kolay eğer anlaşılabilir uyum olasılığıdır ölçmek için bir yarı iyi bir şekilde tahmin ayrımcılık (edilmektedir don 't ROC) ve kalibrasyon eğrisi çizin. Kesin bir ölçekte tahminler kullanıyorsanız kalibrasyon onayı gerçekten, gerçekten gereklidir.

Daha fazla bilgi için Biyomedikal Araştırma Biyoistatistik ve diğer bölümlerdeki Bilgi Kaybı bölümüne bakın .


2
Diğer her cevap pratik bir faydası olmayan matematiksel formüllere odaklanmaktadır. Ve tek doğru cevap en az oy hakkına sahip.
en fazla

6
Profesör Harrell'den bu konudaki kriptolu cevapların karşılığını aldım - sizi zor düşünmeye zorlayan harikalar. Benim söylediğime inandığım şey, HIV için bir tarama testinde yanlış negatif vakaları kabul etmek istemediğinizdir (kurgusal örnek), daha yüksek bir yanlış negatif yüzdesini kabul etmek bile (birlikte yanlış pozitifleri azaltmak) kesme noktanızı yerleştirebilirse AUC maxima'da. Vahşi aşırı basitleştirme için özür dilerim.
Antoni Parellada


17

AUC, eğrinin altındaki alanın kısaltmasıdır . Kullanılan modellerden hangisinin sınıfları en iyi şekilde öngördüğünü belirlemek için sınıflandırma analizinde kullanılır.

Uygulamaya bir örnek ROC eğrileridir. Burada, doğru pozitif oranlar yanlış pozitif oranlara karşı çizilir. Bir örnek aşağıdadır. Bir model için AUC ne kadar yaklaşırsa o kadar iyidir. Dolayısıyla, daha yüksek AUC'li modeller, düşük AUC'li modellere göre tercih edilir.

Lütfen ROC eğrilerinden başka yöntemler de olduğunu, ancak bunların gerçek pozitif ve yanlış pozitif oranlarla da ilgili olduklarını, örneğin hassas hatırlama, F1-Score veya Lorenz eğrileri ile ilgili olduklarını unutmayın.

                                            ROC eğrisi örneği


2
ROC eğrisini lütfen 0/1 sonucunun basit bir çapraz değerlemesi bağlamında açıklayabilir misiniz? Bu durumda eğrinin nasıl oluşturulduğunu çok iyi anlamıyorum.
Meraklı

10

τ

  1. A
  2. BA
  3. τ

P(A>τ)P(B>τ)

τAUC

Biz alırız:

AUC=01TPR(x)dx=01P(A>τ(x))dx
xxTPR

(1)AUC=Ex[P(A>τ(x))]
xU[0,1)

xFPR

x=FPR=P(B>τ(x))
x

P(B>τ(x))U
=>P(B<τ(x))(1U)U
(2)=>FB(τ(x))U

XFX(Y)UYX

FX(X)=P(FX(x)<X)=P(X<FX1(X))=FXFX1(X)=X

τ(x)B

Bunu denklem (1) 'e değiştirerek elde ederiz:

AUC=Ex(P(A>B))=P(A>B)

Başka bir deyişle, eğrinin altındaki alan, rastgele pozitif bir numunenin rastgele negatif numuneden daha yüksek bir puana sahip olma olasılığıdır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.