我正在尝试评估监督机器学习分类算法的性能。观察结果分为名义类别(暂时为 2 个,但我想将其推广到多类别问题),来自 99 个受试者。
我希望能够回答的问题之一是,算法是否在输入类之间的分类准确性方面表现出显着差异。对于二元分类情况,我使用成对的 Wilcoxon检验比较跨学科类别之间的平均准确度(因为基础分布是非正态的)。为了将这个过程推广到多类问题,我打算使用弗里德曼测试。
然而,在二元 IV 的情况下,通过这两个程序获得的 p 值变化很大,Wilcoxon 测试产生p < .001
,而p = .25
Friedman 测试产生。这使我相信我对弗里德曼测试的结构存在根本性的误解。
在这种情况下使用弗里德曼检验来比较所有受试者重复测量准确性的结果是否不合适?
我获得这些结果的 R 代码(subject
是主题标识符、acc
精度 DV 和expected
观察等级 IV):
> 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