AUC neden daha doğru olan bir sınıflayıcı için daha doğru bir sınıflayıcıya göre daha yüksektir?


29

İki sınıflandırıcım var

  • A: saf Bayesian ağı
  • B: ağaç (tek başına bağlı) Bayesian ağı

Doğruluk ve diğer önlemler bakımından A, B'den daha kötü performans gösterir. Ancak, ROC analizi yapmak için RR ROCR ve AUC paketlerini kullandığımda, A için AUC'nin B için AUC'den daha yüksek olduğu ortaya çıktı. olay?

Gerçek pozitif (tp), yanlış pozitif (fp), yanlış negatif (fn), gerçek negatif (tn), duyarlılık (sen), özgüllük (spec), pozitif öngörü değeri (ppv), negatif öngörü değeri (npv) ve A ve B için doğruluk (acc) aşağıdaki gibidir.

+------+---------+---------+
|      |    A    |    B    |
+------+---------+---------+
| tp   | 3601    | 769     |
| fp   | 0       | 0       |
| fn   | 6569    | 5918    |
| tn   | 15655   | 19138   |
| sens | 0.35408 | 0.11500 |
| spec | 1.00000 | 1.00000 |
| ppv  | 1.00000 | 1.00000 |
| npv  | 0.70442 | 0.76381 |
| acc  | 0.74563 | 0.77084 |
+------+---------+---------+

Marjinaller üzerindeki (tp, fn, fn ve tn hariç) marjinaller üzerindeki duyu ve bağlar dışında (spec ve ppv hariç) B, A'dan daha iyi performans gösteriyor gibi görünüyor.

Sens için AUC'yi hesapladığımda (y ekseni) vs 1 spec (x ekseni) vs

aucroc <- auc(roc(data$prediction,data$labels));

işte AUC karşılaştırması.

+----------------+---------+---------+
|                |    A    |    B    |
+----------------+---------+---------+
| sens vs 1-spec | 0.77540 | 0.64590 |
| sens vs spec   | 0.70770 | 0.61000 |
+----------------+---------+---------+

Sorularım işte burada:

  • B için AUC, doğruluk bakımından A'dan daha iyi performans gösterdiği zaman, neden B'den daha iyidir?
  • Peki, A ve B'nin sınıflandırma performanslarını gerçekten nasıl yargılayabilir / karşılaştırabilirim? Yani, AUC değerini kullanır mıyım? Acc değerini kullanır mıyım, öyleyse neden?
  • Ayrıca, A ve B'ye uygun puanlama kuralları uyguladığımda, B, kütle kaybı, karesel kayıp ve küresel kayıp açısından A'yı geride bırakmaktadır (p <0.001). Bunlar AUC'ye göre sınıflandırma performansını değerlendirmede nasıl ağırlık alırlar?
  • A için ROC grafiği çok düzgün görünüyor (kavisli bir yay), ancak B için ROC grafiği bir dizi bağlı çizgiye benziyor. Bu neden?

İstenildiği gibi, işte A modeli için grafikler.

model bir saf bayes net

İşte B modeli için grafikler.

B modeli normal bayes net

İşte A ve B olasılıklarının dağılımının histogram grafikleri. (Molalar 20 olarak ayarlanmıştır).

histogram grafiği

İşte B vs A olasılıklarının dağılım grafiği.

dağılım grafiği


1
Tablolarınız mantıklı değil: Bu performans değerlerini hesapladığınız noktayı nasıl seçtiniz?
Calimo

3
Unutmayın, AUC tüm olası eşikler üzerindeki performansı ölçer . Eğrileri (ideal olarak aynı arsa üzerinde) gösterebilseydiniz yardımcı olurdu (siz de).
Calimo

@Calimo üzgünüm, bu bilgiyi eklemeyi unuttum, ancak bu karışıklık matrisini oluşturmak için kullanılan eşik% 50 idi.
Jane Wayne,

0.5 demek istiyorsun? A ve B'nin öngörülen değerleri açıkça farklı görünüyor ve henüz ipucunuz yoksa, kesinlikle histogramları yan yana
çizmelisiniz

@ Calimo, yan yana ne histogramları açıklığa kavuşturabilir misiniz?
Jane Wayne,

Yanıtlar:


27

Doğru bir şekilde sınıflandırılan oran, duyarlılık ve özgüllük gibi uygun olmayan puanlama kuralları sadece rastgele değil (eşik seçiminde) değil, aynı zamanda uygun değil, yani onları en üst düzeye çıkarma özelliğine sahip, sahte tahminler yapma ve yanlış özellikleri seçme özelliğine sahipler. . Uygun puanlama (log-olabilirlik; logaritmik puanlama kuralı; Brier skoru) kuralları ve dex (yarı-uygun puanlama kuralı - ROC eğrisi altındaki alan; uyumluluk olasılığı; Wilcoxon istatistiği; Somers ' rütbe korelasyon katsayısı); bu bize doğru puanlama kurallarında daha fazla güven veriyor.cDxy


6
Keşke bunun için iyi bir referansım olsaydı, ancak kısaca, yalnızca (AUROC) gibi saflara dayanan herhangi bir önlem "doğru" olan aşırı tahminlere yeterli kredi veremez. Daha kısa ve hatta daha fazla logaritmik puanlama kuralı (log olabilirlik) böyle bir kredi verir. Bu aynı zamanda iki indeksinin karşılaştırılmasının diğer akıllı yaklaşımlarla rekabetçi olmamalarının bir açıklamasıdır . ccc
Frank Harrell

1
@, 0,5, son derece keyfi, iki tür hatanın eşit derecede kötü olduğu en sıradışı fayda / kayıp / maliyet işleviyle çakışıyor. Bu nadiren durumdur. Muhtemel düşünmek, doğanın işleyiş biçimine inanmamın yolu budur, “hata” diye bir şey yoktur, fakat bir risk tahmininde bir dereceye kadar bir kötülük vardır. Örneğin, 0.6 olasılığını tahmin etmek, ardından bir olayı gözlemlemek, 0.9 olasılığını tahmin etmekten ve bir olayı gözlemlemekten daha kötüdür. Ancak her iki tahmin de "yanlış" değildir. Eşik gerektirmeyen olasılık doğruluk puanlarını kullanabilirsiniz.
Frank Harrell

3
Lojistik gibi sınırlandırılmamış bir model, diğer yaklaşımlardan daha fazla uyuşmazlığa yol açmaz. Lojistik dönüşüm, olasılık tahminlerinin iyi davranılmasını sağlar. Logaritmik puanlama kuralının tek dezavantajı, 0 veya 1'e son derece yakın bir olasılık tahmin edip etmediğiniz ve "yanlış" olduğunuzdur. Eninde sonunda bir karar verildiği doğrudur, ancak analistin bir eşik kullanarak karar vermesi gerektiği sonucuna varmaz. Karar, karar vericiye ertelenmelidir. Nate Silver'ın Signal and Noise adlı kitabı, olasılıksal düşüncenin büyük yararlarını belgeliyor.
Frank Harrell

1
@ FrankHarrell, fikrimi yanlış yorumlamaya devam etmen sinir bozucu. Kara kutu yaklaşımını asla savunmadım. Bence sadece "x işe yaramaz, sadece y'yi kullan" ifadesi çok güçlü.
alto

4
@ alto algısaldır. Bence gerçek zamanlı örüntü tanıma uygulamaları için zaman yok. Bu benim çalıştığım dünya değil. Ama yine de gerçek zamanda kara kutuya sahip olmayı tercih ettiğin durumlar var, gerçek bir kara kutu var. yolcu arabası".
Frank Harrell

16
  1. B için AUC, doğruluk bakımından A'dan daha iyi performans gösterdiği zaman, neden B'den daha iyidir?

    Doğruluk, 0.5 eşik değerinde hesaplanır. AUC, tüm olası eşik değerler için hesaplanan tüm "doğruluklar" eklenerek hesaplanır. ROC, tüm eşik değerler için hesaplandığında bu doğrulukların ortalaması (beklenen değeri) olarak görülebilir.

  2. Peki, A ve B'nin sınıflandırma performanslarını gerçekten nasıl yargılayabilir / karşılaştırabilirim? Yani, AUC değerini kullanır mıyım? acc değerini kullanabilir miyim? ve neden?

    Değişir. ROC eğrileri, modelinizin eşik değerinin nerede olduğu fark etmeksizin iki sınıfı ne kadar iyi ayırdığı hakkında size bir şeyler söyler. Doğruluk, genellikle sınıflar tren ve test setlerinde aynı dengeyi koruduğunda ve puanların gerçekten olasılık olduğu durumlarda iyi çalışan bir ölçüdür. ROC, bu varsayım ihlal edilirse modelin nasıl davranacağı konusunda size daha fazla ipucu verir (ancak yalnızca bir fikirdir).

  3. ayrıca, A ve B'ye uygun puanlama kuralları uyguladığımda, B, log kaybı, karesel kayıp ve küresel kayıp açısından A'dan daha iyi performans gösterir (p <0.001). Bunlar AUC'ye göre sınıflandırma performansının değerlendirilmesinde nasıl bir ağırlık veriyor?

    Bilmiyorum. Verilerin ne hakkında olduğunu daha iyi anlamak zorundasın. Her modelin verilerinizden anlayabilecekleri. Ve daha sonra hangisinin en iyi uzlaşma olduğuna karar verin. Bunun olmasının nedeni, sınıflandırıcı performansı ile ilgili evrensel bir ölçü olmamasıdır.

  4. A için ROC grafiği çok düzgün görünüyor (kavisli bir yay), ancak B için ROC grafiği bir dizi bağlı çizgiye benziyor. bu neden?

    Bunun nedeni muhtemelen bayesian modelinin bu iki sınıf arasında yumuşak geçişler sağlamasıdır. Bu birçok eşik değerine çevrilir. Bu ROC eğrisinde birçok nokta anlamına gelir. İkinci model, giriş alanının daha büyük bölgelerinde aynı değere sahip tahmin nedeniyle muhtemelen daha az değer üretir. Temel olarak, ilk ROC eğrisi de çizgilerden yapılır, tek fark, çok sayıda bitişik küçük çizginin olması, onu eğri olarak görmenizdir.


1
Doğruluk, 0,5 dışındaki eşik değerlerde hesaplanabilir.
Calimo

Elbette haklısın. Bu yüzden bir sonraki önermede "doğruluk" kullandım. Bununla birlikte, başka bir bağlam bilgisi olmadan doğruluktan söz edildiğinde, eşik değer için en iyi tahmin 0.5'tir.
rapaio

2
Böyle bir işlemin ne kadar keyfi olduğunu görmek kolaydır. Binicilik veya keyfi seçimler gerektiren istatistiklerde birkaç tahminci ağır eleştiri olmadan hayatta kaldı. Ve asla doğru olarak "doğruluk" olarak sınıflandırılan oran demezdim.
Frank Harrell

@ unreasonablelearner, varsayımınıza göre haklısınız .. yukarıdaki karışıklık matrisi 0,5 eşiğinde hesaplandı. farklı bir eşik için herhangi bir avantaj var mı?
Jane Wayne

1
@JaneWayne Formül, doğru sınıflandırmanın oranı için gerçekten. Doğruluk, bunun için en sık kullanılan terimdir. Ancak doğruluk çok daha fazla şey ifade eder ve Frank Harrell'in söylediklerinin ışığında, şimdi bunun doğruluğunun en iyi terim olmadığını düşünüyorum. Şimdi, popüler olsa bile kullanımının zarar verebileceğini düşünüyorum. Bu şekilde yanılmışım.
rapaio

4

B için AUC, doğruluk bakımından A'dan daha iyi performans gösterdiği zaman, neden B'den daha iyidir?

İlk olarak, kesme (0.5) aynı olmasına rağmen, A ve B arasında hiçbir şekilde karşılaştırılamaz. Aslında, histogramlarınızdan oldukça farklı görünüyor! B'ye bak: tüm tahminlerin <0.5.

İkincisi, B neden bu kadar doğru? Sınıf dengesizliği yüzünden. B testinde, 19138 negatif örnek ve 6687 pozitifiniz var (neden A'daki sayılar farklı? Bana net değil: belki eksik değerler?). Bu, sadece her şeyin olumsuz olduğunu söyleyerek, zaten oldukça iyi bir doğruluk elde edebileceğim anlamına geliyor: tam olarak 19138 / (19138 + 6687) =% 74. Bunun sınıflar arasında bir dengesizlik olduğu gerçeğinin ötesinde kesinlikle hiçbir bilgi gerektirmediğine dikkat edin: en aptal model bile bunu yapabilir!

Ve bu tam olarak B testinin 0,5 eşiğinde yaptığı şeydir ... sadece neredeyse olumsuz tahminler alırsınız.

A daha çok karışık bir torbadan ibarettir. Biraz daha düşük bir doğruluğa sahip olmasına rağmen, bu kesimde hassasiyetinin çok daha yüksek olduğuna dikkat edin ...

Son olarak, doğruluğu (bir eşikteki bir performans) AUC ile (tüm eşiklerde ortalama bir performans) karşılaştıramazsınız. Bu metrikler farklı şeyleri ölçtüğünden, farklı olmaları şaşırtıcı değildir.

Peki, A ve B'nin sınıflandırma performanslarını gerçekten nasıl yargılayabilir / karşılaştırabilirim? Yani, AUC değerini kullanır mıyım? acc değerini kullanabilir miyim? ve neden?

Ayrıca, A ve B'ye uygun puanlama kuralları uyguladığımda, B, kütle kaybı, karesel kayıp ve küresel kayıp açısından A'yı geride bırakmaktadır (p <0.001). Bunlar AUC'ye göre sınıflandırma performansını değerlendirmede nasıl ağırlık alırlar?

Düşünmelisiniz: Gerçekten yapmak istediğiniz şey nedir? Önemli olan ne? Sonuçta, bu soruya yalnızca sizin bilginize dayanarak cevap verebilirsiniz. Belki AUC anlamlıdır (kendiniz hakkında bir karar vermek istemediğiniz ancak başkalarının bunu yapmasına izin vermediğiniz durumlar hariç, gerçekten düşündüğünüz zaman, gerçekten nadiren yapar - belki de başkalarının kullanması için bir araç yapıyorsanız), belki doğruluk (eğer bir ikili, go-no-go cevap yoksa), ama belki farklı eşiklerde, belki daha sürekli önlemler, belki Frank Harrell tarafından önerilen önlemlerden biri ... daha önce de belirtildiği gibi, evrensel bir soru yoktur. İşte.

A için ROC grafiği çok düzgün görünüyor (kavisli bir yay), ancak B için ROC grafiği bir dizi bağlı çizgiye benziyor. Bu neden?

Histogramlarda gösterdiğin tahminlere geri dön. A size sürekli veya neredeyse sürekli bir tahmin verir. Aksine, B çoğunlukla sadece birkaç farklı değer döndürür ("sivri" histogramında görebileceğiniz gibi).

Bir ROC eğrisinde, her nokta bir eşiğe karşılık gelir. A'da çok fazla eşik değeriniz var (tahminler sürekli olduğu için), bu nedenle eğri düzgündür. B'de, sadece birkaç eşik değeriniz vardır, bu yüzden eğri bir SN / SP'den diğerine "sıçrayan" görünür.

Duyarlılık yalnızca değiştiğinde (eşik yalnızca pozitif durumlar için farklılıklar gösterir) dikey sıçramalar, özgüllük yalnızca değiştiğinde yatay eşikler (eşik yalnızca negatif örnekler için farklılıklar gösterir) ve eşik değişimi her iki sınıfı da etkilediğinde diyagonal sıçramalar görürsünüz.


Ancak, + 1, AUC'nin yalnızca "kendiniz için bir karar vermek istemediğinizde, başkalarının karar vermesine izin vermek istemediğiniz" durumlarda geçerli değildir. Bkz . El ile Eğri Altındaki Alan (AUC) veya c istatistiği nasıl hesaplanır .
gung - Reinstate Monica
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.