Friedman testi vs Wilcoxon testi


11

Denetimli bir makine öğrenimi sınıflandırma algoritmasının performansını değerlendirmeye çalışıyorum. Gözlemler 99 kişiden oluşan nominal sınıflara (şimdilik 2, ancak bunu çok sınıflı problemlere genelleştirmek istiyorum) düşüyor.

Cevaplamak istediğim sorulardan biri, algoritmanın girdi sınıfları arasında sınıflandırma doğruluğunda önemli bir fark göstermesi. İkili sınıflandırma durumu için, eşleştirilmiş bir Wilcoxon testi kullanarak (altta yatan dağılım normal olmadığından) denekler arasındaki sınıflar arasındaki ortalama doğruluğu karşılaştırıyorum . Bu prosedürü çok sınıflı problemlere genellemek için bir Friedman testi kullanmaya başladım .

Bununla birlikte, bir ikili IV durumunda bu iki prosedürle elde edilen p değerleri, Wilcoxon testi p < .001verirken p = .25Friedman testi için çılgınca değişir . Bu beni Friedman testinin yapısını temelden yanlış anladığımı düşünmeye itiyor.

Tüm vakalarda tekrarlanan doğruluk ölçümlerinin sonuçlarını karşılaştırmak için bu durumda bir Friedman testi kullanmak uygun değil mi?

Bu sonuçları elde etmek için R kodum ( subjectkonu tanımlayıcısı, accDV doğruluğu ve expectedgözlem sınıfı IV'tür):

> head(subject.accuracy, n=10)
   subject expected        acc
1       10     none 0.97826087
2       10     high 0.55319149
3      101     none 1.00000000
4      101     high 0.68085106
5      103     none 0.97826087
6      103     high 1.00000000
7      104     none 1.00000000
8      104     high 0.08510638
9      105     none 0.95121951
10     105     high 1.00000000
> ddply(subject.accuracy, .(expected), summarise, mean.acc = mean(acc), se.acc = sd(acc)/sqrt(length(acc)))
  expected  mean.acc     se.acc
1     none 0.9750619 0.00317064
2     high 0.7571259 0.03491149
> wilcox.test(acc ~ expected, subject.accuracy, paired=T)

    Wilcoxon signed rank test with continuity correction

data:  acc by expected
V = 3125.5, p-value = 0.0003101
alternative hypothesis: true location shift is not equal to 0

> friedman.test(acc ~ expected | subject, subject.accuracy)

    Friedman rank sum test

data:  acc and expected and subject
Friedman chi-squared = 1.3011, df = 1, p-value = 0.254

wilcox.testEşleştirme değişkenini asla söylemediğiniz için, iki çağrının doğruluğunu karşılaştırarak imzalı bir sıralama testi yaptığınızdan emin değilim . En azından bu, testi çalıştırmanın güvensiz bir yoludur, çünkü giriş verilerindeki satırların sırasına dayanır.
Aniko

Yanıtlar:


11

Friedman testi Wilcoxon testinin uzantısı değildir, bu nedenle sadece 2 ilgili örneğiniz olduğunda Wilcoxon imzalı rank testi ile aynı değildir . İkincisi , bir vakadaki farkın büyüklüğünü açıklar (ve daha sonra bunu vakalar arasında sıralar), oysa Friedman sadece bir dava içinde yer alır (ve asla davalar arasında değildir): daha az duyarlıdır.

Friedman aslında işaret testinin neredeyse bir uzantısı . 2 örnekle, p-değerleri çok yakındır, Friedman biraz daha muhafazakardır (bu iki test bağları biraz farklı şekillerde tedavi eder). Bu küçük fark, numune boyutu büyüdükçe hızla yok olur. Dolayısıyla, ilgili iki örnek için bu iki test gerçekten akran alternatifleridir.

Wilcoxon'a eşdeğer olan test - Friedman ile aynı anlamda - çok iyi bilinen Quade testi değildir, örneğin burada belirtilmiştir: http://www.itl.nist.gov/div898/software/dataplot/refman1/ auxillar / friedman.htm .

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.