弗里德曼检验与威尔科克森检验

机器算法验证 r 假设检验 非参数
2022-03-09 04:17:42

我正在尝试评估监督机器学习分类算法的性能。观察结果分为名义类别(暂时为 2 个,但我想将其推广到多类别问题),来自 99 个受试者。

我希望能够回答的问题之一是,算法是否在输入类之间的分类准确性方面表现出显着差异。对于二元分类情况,我使用成对的 Wilcoxon检验比较跨学科类别之间的平均准确度(因为基础分布是非正态的)。为了将这个过程推广到多类问题,我打算使用弗里德曼测试。

然而,在二元 IV 的情况下,通过这两个程序获得的 p 值变化很大,Wilcoxon 测试产生p < .001,而p = .25Friedman 测试产生。这使我相信我对弗里德曼测试的结构存在根本性的误解。

在这种情况下使用弗里德曼检验来比较所有受试者重复测量准确性的结果是否不合适

我获得这些结果的 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
1个回答

Friedman检验不是 Wilcoxon 检验的扩展,因此当您只有 2 个相关样本时,它与Wilcoxon符号秩检验不同。后者考虑了一个案例内差异的大小(然后跨案例对其进行排名),而弗里德曼在一个案例内排名(而不是跨案例):它不太敏感。

弗里德曼实际上几乎是符号测试的延伸。对于 2 个样本,它们的 p 值非常接近,弗里德曼稍微保守一些(这两个测试以不同的方式处理平局)。随着样本量的增加,这种微小的差异会迅速消失。因此,对于两个相关的样本,这两个测试确实是同行的替代品。

等效于 Wilcoxon 的测试 - 与弗里德曼签署的意义相同 - 不是众所周知的Quade测试,例如在这里提到:http ://www.itl.nist.gov/div898/software/dataplot/refman1/辅助/friedman.htm