İki sınıflandırıcıyı (ortalama) ROC AUC, duyarlılık ve özgüllük açısından karşılaştırmak için istatistiksel anlamlılık (p değeri)


14

100 vakadan oluşan bir test setim ve iki sınıflandırıcım var.

Her iki sınıflandırıcı için tahminler ve ROC AUC, duyarlılık ve özgüllük hesapladım.

Soru 1: Tüm puanlara (ROC AUC, duyarlılık, özgüllük) göre birinin diğerinden önemli ölçüde daha iyi olup olmadığını kontrol etmek için p-değerini nasıl hesaplayabilirim?


Şimdi, 100 vakanın aynı test seti için, her vaka için farklı ve bağımsız özellik atamalarım var. Çünkü özelliklerim sabit fakat subjektif ve birden fazla (5) konu tarafından sağlanıyor.

Bu yüzden, iki sınıflandırıcımı test setimin 5 "versiyonu" için tekrar değerlendirdim ve her iki sınıflandırıcı için 5 ROC AUC, 5 duyarlılık ve 5 spesifiklik elde ettim. Daha sonra, her iki sınıflandırıcı için 5 denek için her performans ölçümünün ortalamasını (ortalama ROC AUC, ortalama duyarlılık ve ortalama özgüllük) hesapladım.

Soru 2: Ortalama puanlar (ortalama ROC AUC, ortalama duyarlılık, ortalama özgüllük) açısından birinin diğerinden önemli ölçüde daha iyi olup olmadığını kontrol etmek için p-değerini nasıl hesaplayabilirim?


Bazı örnek python (tercihen) veya MatLab kodlu yanıtlar hoş karşılanmamaktadır.


İkisi arasında en iyi sınıflandırıcıyı elde etmek için hassasiyet, doğruluk ve AuC'yi doğrudan karşılaştırın. P-değeri burada bir anlam ifade etmiyor. P-değeri, modelin rastgele / 50-50 ödevlerden daha iyi olup olmadığını değerlendirme bağlamında kullanılır (boş / alternatif hipotez testi olarak)
Nishad

2
İlk olarak, p-değeri kullanarak iki performans ölçüsünün karşılaştırılmasının burada bir anlamı olmadığını kabul etmiyorum. Bir sınıflandırıcının AUC 0.80 ve diğerinin 0.85 olduğunu görüyorum. Sıfır hipotezim, her iki sınıflandırmanın performansında hiçbir fark olmamasıdır. Aradaki farkın istatistiksel olarak anlamlı olup olmadığını bilmek istiyorum.
kostek

2
İkincisi, modelimin 5 versiyonunu yapmıyorum. Ayrı bir eğitim seti üzerinde eğitilmiş iki modelim var ve şimdi bunları test setimin 5 farklı “versiyonu” nda değerlendiriyorum. Her iki sınıflandırıcı için de ortalama bir performansım var (örn. 0.81 AUC ve 0.84 AUC) ve farkın istatistiksel olarak anlamlı olup olmadığını kontrol etmek istiyorum.
kostek

1
Yaptığım şeyin çapraz doğrulamaya yakın olduğunu söyleyemem. Benim durumumda, özelliklerin değerleri bunları sağlayan konuya bağlıdır. AUC'nin modelleri karşılaştırmak için kullanılabileceğini biliyorum, ancak benim durumumda karşılaştırmamın sonucunun istatistiksel olarak anlamlı olup olmadığını bilmek istiyorum. Eminim yapılabilir ve bunu yapmak çok mantıklıdır. Benim sorum bunu nasıl yapacağım.
kostek

3
@Nishad'ın ne elde ettiğinden emin değilim, modellerinizin birbirinden önemli ölçüde farklı olup olmadığını belirlemek için bir hipotez testi kullanabilirsiniz ve kullanmalısınız. Metriklerinizin standart sapmaları vardır ve örnek boyutu arttıkça küçülür (diğer tüm şeyler eşit olur). Yalnızca 10 örneğiniz varsa 0,8 ile 0,9 arasındaki AUC farkı önemli olmayabilir, ancak 10M örneğiniz varsa çok önemli olabilir. Çapraz geçerlilikle de bir ilişki göremiyorum. Eğer yapabilirsem aşağı oy.
Nükleer Wang

Yanıtlar:


11

Wojtek J. Krzanowski ve David J. Sürekli Veriler için El ROC Eğrileri (2009) ROC eğrileri ile ilgili her şey için mükemmel bir referanstır. Aynı konuyu tartışmak için genellikle farklı terminoloji kullanan sinir bozucu bir şekilde geniş bir literatür tabanı olan bir dizi sonuç toplar.

Buna ek olarak, bu kitap aynı miktarları tahmin etmek için türetilen alternatif yöntemlerin yorumlarını ve karşılaştırmasını sunar ve bazı yöntemlerin belirli bağlamlarda savunulamayacak varsayımlar yaptığını gösterir. Bu böyle bir bağlam; diğer cevaplar, puanların dağılımı için binormal modeli kabul eden Hanley & McNeil yöntemini bildirmektedir; bu, sınıf puanlarının dağılımının (yakın) normal olmadığı durumlarda uygun olmayabilir. Normal olarak dağıtılmış puanların varsayımı, modern bağlamlarında özellikle uygun görünmemektedir , gibi tipik ortak modeller , sınıflandırma görevleri için "küvet" dağılımı (0 ve 1 yakınındaki uçlarda yüksek yoğunluklu dağılımlar) ile puan üretme eğilimindedir. ).

Soru 1 - AUC

Bölüm 6.3'te iki ROC eğrisi için ROC AUC karşılaştırmaları tartışılmaktadır (sf. 113-114). Özellikle, benim anlayışım, bu iki modelin birbiriyle ilişkili olduğu, bu yüzden nasıl hesaplanacağı hakkındaki bilgi burada kritik öneme sahiptir; Aksi takdirde, test istatistiğiniz önyargılı olacaktır çünkü korelasyonun katkısını hesaba katmaz.r

Herhangi bir parametrik dağılım varsayımına dayanmayan ilişkisiz ROC eğrileri için, AUC'leri karşılaştıran testler ve güven aralıkları istatistikleri , AUC değerlerinin ve ^ AUC 2 tahminlerine ve standart sapmalarının S 1 ve Bölüm 3.5.1'de verildiği gibi S 2 :AUC^1AUC^2S1S2

Z=AUC^1AUC^2S12+S22

Bu tür testleri her iki sınıflandırıcı için de aynı verilerin kullanıldığı duruma genişletmek için AUC tahminleri arasındaki korelasyonu hesaba :

z=AUC^1AUC^2S12+S22rS1S2

burada bu korelasyonun tahminidir. Hanley ve (1983) McNeil binormal durumda analizlerini dayanarak, bu tür bir uzatma yapılmıştır, ancak tahmin korelasyon katsayısı hesaplamak için nasıl kullanıldığını gösteren bir tablo verdi korelasyon gelen sınıfı P içinde iki sınıflandırıcıların ve korelasyonunu r N sınıfındaki iki sınıflandırıcıdan n , matematik türetmenin talep üzerine mevcut olduğunu söyleyerek. Diğer çeşitli yazarlar (örneğin Zou, 2001), P ve N sınıflarının skor dağılımlarını aynı anda normale dönüştürecek uygun bir dönüşümün bulunabileceğini varsayarak, binormal modele dayanan testler geliştirmiştir.r r PrrrPrn

DeLong ve arkadaşları (1988), AUC ile Mann-Whitney test istatistiği arasındaki kimlikten ve Sen (1960) 'a bağlı genelleştirilmiş -istatistik teorisinden elde edilen sonuçlardan faydalanarak AUC'ler arasındaki korelasyonun bir tahminini elde etmişlerdir. binormal varsayımlara dayanmaz. Aslında, DeLong ve arkadaşları (1988) k 2 sınıflandırıcıları arasındaki karşılaştırmalar için aşağıdaki sonuçları sunmuşlardır .Uk2

Bölüm 3.5.1'de, ampirik ROC eğrisinin altındaki alanın Mann-Whitney - statikine eşit olduğunu veU

buradasPi,i=1,,nP,PnesnelerisınıfıvesNj,j=1,,nN,örnektekiNsınıfınesneler. Varsayalım kiksınıflandırıcılarımız var, puanlarveriyoruzs r N j ,

AUC^=1nNnPi=1nNj=1nP[I(sPj>sNi)+12I(sPj=sNi)]
sPi,i=1,,nPPsNj,j=1,,nNNk ve s r P i , j = 1 , , n P [Bu bölümde bir dizin oluşturma hatasını düzelttim - Sycorax] ve ^ A U C r , r = 1 , , k . TanımlamaksNjr,j=1nNsPir,j=1,,nPAUC^r,r=1,,k

ve V r 01 =1

V10r=1nN-Σj=1nN-[ben(sPbenr>sN-jr)+12ben(sPbenr=sN-jr)],ben=1,...,nP
V01r=1nPΣben=1nP[ben(sPbenr>sN-jr)+12ben(sPbenr=sN-jr)],j=1,...,nN-

sonra, matris W 10'u ( r , s ) th elemanı w r , s 10 = 1 ile tanımlayınkxkW10(r,s) vek×kmatrisiW01ile(r,s)inci elemanı w r

w10r,s=1nP-1Σben=1nP[V10r(sPben)-birUC^r][V10s(sPben)-birUC^s]
kxkW01(r,s) Sonra vektör için tahmini kovaryans matrisi( ^ A U C 1,, ^ A U C k
w01r,s=1nN--1Σben=1nN-[V01r(sN-ben)-birUC^r][V01s(sN-ben)-birUC^s]
eğriler altındaki tahmini alanlardan W = 1(AUC^1,,AUC^k)wr,selemanları ile. Bu, bölüm 3.5.1'de de verilen tek bir tahmini AUC'nin tahmini varyansı için sonucun genelleştirilmesidir. İki sınıflandırıcılar durumunda, estiamted korelasyonrtahmini AUC'ler arasında bu şekilde verilirw1,2
W=1nPW10+1nN-W01
wr,sr ki bu dayukarıdakiz'dekullanılabilir.w1,2w1,1w2,2z

Başka bir cevap, AUC varyansı tahmin edicileri için Hanley ve McNeil ifadelerini verdiğinden, burada DeLong tahmincisini p. 68:

DeLong ve arkadaşlarına (1988) bağlı olan ve Pepe (2003) tarafından örneklendirilen alternatif yaklaşım, belki de daha basit bir tahmin verir ve bir yerleştirme değeri için ekstra yararlı bir kavram ortaya koyan bir yaklaşımdır. Belirtilen popülasyona referansla bir puanının yerleştirme değeri, popülasyonun hayatta kalan fonksiyonunun s cinsinden olmasıdır . Bu yerleşim değer s nüfus N olan 1 - F ( ler ) ve için s nüfus P o 1 - G ( ler ) . Yerleşim değerlerinin ampirik tahminleri bariz oranlarda verilmiştir. Gözlem nedenle yerleştirme değeri s Nsss1F(s)s1G(s) popülasyonda P belirtilens P , N i aşması P örnek değerlerin oranıdırs , N i , vevar(s , N p i )nüfus P ile ilgili olarak, N, her bir gözlem yerleşim değerlerinin varyansını ..sNisNiPsNivar(sPiN)

DeLong ve arkadaşları (1988) varyans tahmini şu varyanslar cinsinden verilmiştir: s 2 ( ^ A U C ) = 1AUC^

s2(AUC^)=1nPvar(sPiN)+1nNvar(sNiP)

Not, popülasyonu N ve skorlar kümülatif dağılım fonksiyonu G tahmin etmek için popülasyon S. standart bir şekilde puanlar kümülatif dağılım fonksiyonu olan F ve G, kullanmaktır . Kitap aynı zamanda ecdf tahminlerine çekirdek yoğunluğu tahmini gibi bazı alternatif yöntemler de sunmaktadır, ancak bu yanıtın kapsamı dışındadır.FGFG

ve z istatistiklerinin standart normal sapmalar olduğu varsayılabilir ve sıfır hipotezinin istatistiksel testleri normal şekilde devam eder. (Ayrıca bakınız: )Zz

Bu, hipotez testinin nasıl çalıştığının basitleştirilmiş, üst düzey bir özetidir:

  • Kelimelerinizde, "bir sınıflandırıcının diğerinden önemli ölçüde daha iyi olup olmadığının" test edilmesi, iki modelin istatistiklerin eşit olmadığı alternatif hipoteze karşı istatistiksel olarak eşit AUC'lere sahip olduğu sıfır hipotezini test etmek olarak yeniden ifade edilebilir.

  • Bu iki kuyruklu bir test.

  • Test istatistiği bu durumda standart normal dağılım olan referans dağılımın kritik bölgesinde ise sıfır hipotezini reddediyoruz.

  • Kritik bölgenin büyüklüğü testin seviyesine bağlıdır . % 95'lik bir anlam seviyesi için, z > 1.96 veya z < - 1.96 ise test istatistiği kritik bölgeye düşer . (Bunlar standart normal dağılımın α / 2 ve 1 - α / 2 miktarlarıdır.) Aksi takdirde, sıfır hipotezini reddedemezsiniz ve iki model istatistiksel olarak bağlıdır.αz>1.96z<1.96α/21α/2

Soru 1 - Hassasiyet ve Özgüllük

Duyarlılık ve özgüllüğü karşılaştırmak için genel strateji, bu istatistiklerin her ikisinin de oranlar üzerinde istatistiksel çıkarsamaya değer olduğunu gözlemlemektir ve bu standart, iyi çalışılmış bir sorundur. Spesifik olarak duyarlılık, bazı eşik eşik değerinden daha yüksek bir puana sahip P popülasyonu oranı ve benzer şekilde popülasyon N wrt özgüllük için oranıdır : hassasiyet = t pt

sensitivity=tp=P(sP>t)1specificity=fp=P(sN>t)

Ana yapışma noktası, iki örnek oranının ilişkilendirileceği göz önüne alındığında uygun testi geliştirmektir (aynı test verilerine iki model uyguladığınızda). Bu, s. 111.

Belirli testlere dönersek, birkaç özet istatistik, her eğri için orantıya düşer, böylece oranları karşılaştırmak için standart yöntemler kullanılabilir. Örneğin, değeri sabit, ön p gibi sabit bir eşik için yanlış sınıflandırma oranı, bir oranıdır t . Böylece bu ölçüleri kullanarak eğrileri, oranları karşılaştırmak için standart testlerle karşılaştırabiliriz. Örneğin, eşleşmemiş durumda, biz Test istatistiğini kullanarak ( t p 1 - t p 2 ) / s 12 , burada t s i eğri için gerçek pozitif oran itpfpt(tp1tp2)/s12tpiisöz konusu nokta olarak ve , t p 1 ve t p 2 varyanslarının toplamıdır ...s122tp1tp2

Eşleştirilmiş durumda, bununla birlikte, bir ila kovaryans sağlayan bir düzenleme elde edebilirsiniz ve t p 2 , ancak alternatif bir korelasyon oranlarda (Marascuilo ve McSweeney-, 1977) için McNemar testi kullanmaktır.tp1tp2

N

tp1=tp2tp1tp2

Model 1 Positive at tModel 1 Negative at tModel 2 Positive at tabModel 2 Negative at tcd

a=i=1nPI(sPi1>t)I(sPi2>t)b=i=1nPI(sPi1t)I(sPi2>t)c=i=1nPI(sPi1>t)I(sPi2t)d=i=1nPI(sPi1t)I(sPi2t)

M=(bc)2b+c
χ12α=95%M>3.841459

sPirsNjr

soru 2

Her katılımcı için tahmin değerlerini ortalayarak sonuçları birleştirmek yeterli görünmektedir, böylece her model için 100 ortalama tahmin edilen değerden 1 vektörüne sahip olursunuz. Daha sonra ROC AUC, hassasiyet ve özgüllük istatistiklerini her zamanki gibi orijinal modeller yokmuş gibi hesaplayın. Bu, 5 katılımcının modellerinin her birine, bir tür topluluk gibi bir model komitesinden biri olarak davranan bir modelleme stratejisini yansıtır.


Cevabınız ve referanslarınız için teşekkürler. Duyarlılık ve özgüllük için p değerleri ne olacak?
kostek

Q1 için, duyarlılık ve özgüllük için p-değerini hesaplamak arasında hiçbir fark olmadığı ve her ikisinin de her zaman aynı p-değerine sahip olduğu ve sadece bir olasılık tablosu oluşturup McNemar testi üzerinde çalıştığı anlamına mı geliyor?
kostek

Hayır, her biri için bir test yaparsınız.
Sycorax, Reinstate Monica

a,b,c,d

@Drey Oranlar değiller; sayılır. Bunu bir revizyonda açıkça belirtiyorum.
Sycorax, Reinstate Monica

2

Cevabı kısa tutayım, çünkü bu kılavuz çok daha iyi ve daha iyi açıklıyor .

nTPnTN

SEA=A(1A)+(nTP1)(Q1A2)+(nTN1)(Q2A2)nTPnTN

Q1=A/(2A)Q2=2A2/(1+A)

İki AUC'yi karşılaştırmak için her ikisini de kullanarak SE'yi hesaplamanız gerekir:

SEA1A2=(SEA1)2+(SEA2)22r(SEA1)(SEA2)

rr=0

z

z=(A1A2)/SEA1A2

Oradan standart normal dağılımın olasılık yoğunluğunu kullanarak p değerini hesaplayabilirsiniz. Veya sadece bu hesap makinesini kullanın.

Bu umarım Soru 1'e cevap verir . - en azından EAA'ları karşılaştıran kısım. Sens / Spec bir şekilde ROC / AUC tarafından zaten kapsanmaktadır. Aksi takdirde, bence cevap Soru 2'de yatmaktadır.

Soru 2'ye gelince , Merkezi Limit Teoremi bize özet istatistiğinizin normal bir dağılım izleyeceğini söyler. Bu nedenle, basit bir t-testinin yeterli olacağını düşünürdüm (önlemlerin AUC, sens, spec olabileceği ikinci sınıflandırıcının 5 ölçüsüne karşı bir sınıflandırıcının 5 ölçüsü)

SE2r


Sağlanan bağlantılar için teşekkürler. Soru 1 için, A'yı hassasiyet veya özgüllük olarak ayarlarsam, SE ve z-Skor denklemleri geçerli olur mu?
kostek

p^

0

Soru 1 için @Sycorax kapsamlı bir cevap verdi.

Soru 2 için, bilgim dahilinde, konulardan tahminlerin ortalaması yanlıştır. P değerlerini hesaplamak ve modelleri karşılaştırmak için önyükleme kullanmaya karar verdim.

Bu durumda, prosedür aşağıdaki gibidir:

For N iterations:
  sample 5 subjects with replacement
  sample 100 test cases with replacement
  compute mean performance of sampled subjects on sampled cases for model M1
  compute mean performance of sampled subjects on sampled cases for model M2
  take the difference of mean performance between M1 and M2
p-value equals to the proportion of differences smaller or equal than 0

Bu prosedür tek kuyruklu bir test gerçekleştirir ve M1'in ortalama performansın> M2 ortalama performans olduğunu varsayar.

Birden fazla okuyucuyu karşılaştıran p değerlerini hesaplamak için bir Python önyükleme uygulaması bu GitHub deposunda bulunabilir: https://github.com/mateuszbuda/ml-stat-util

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.