我正在比较多个算法在多个数据集上的性能。由于不能保证这些性能测量是正态分布的,因此我选择了 Friedman 测试和基于Demšar (2006)的 Nemenyi 事后测试。
然后我发现另一篇论文,除了建议其他方法,如 Quade 测试和随后的 Shaffer 事后测试,他们以不同的方式应用 Nemenyi 测试。
如何正确应用 Nemenyi 事后测试?
1. 使用学生化范围统计?
在 Demšar 的论文中,如果平均秩差大于临界距离 CD 且
“其中临界值 qα 基于 Studentized range 统计量除以 ”
经过一番挖掘,我发现您可以在某些 alpha 中查找这些“临界值”,例如在的表中,以获得无限自由度(在每个表的底部)。
2.还是使用正态分布?
就在我以为我知道该怎么做的时候,我又发现了另一篇让我感到困惑的论文,因为他们只使用了正态分布。Demšar 在第 12 页陈述了类似的事情:
使用这些方法比较第 i 个和第 j 个分类器的测试统计量是 z 值用于从正态分布表中找到相应的概率,然后将其与适当的进行比较。这些测试在调整值以补偿多重比较的方式上有所不同。
在本段中,他谈论的是将所有算法与控制算法进行比较,但“它们调整的方式不同......以补偿多重比较”表明这也应该适用于 Nemenyi 测试。
因此,在我看来合乎逻辑的是根据正态分布的检验统计量计算p来纠正该值。
但是,这会产生完全不同的等级差异,以拒绝零假设。现在我被卡住了,不知道该应用哪种方法。我强烈倾向于使用正态分布的那个,因为它对我来说更简单、更合乎逻辑。我也不需要在表格中查找值,并且我不受某些重要值的约束。
再说一次,我从来没有使用过学生化的范围统计数据,我也不明白。