弗里德曼检验后如何正确应用 Nemenyi 事后检验

机器算法验证 非参数 多重比较 事后
2022-03-04 22:39:18

我正在比较多个算法在多个数据集上的性能。由于不能保证这些性能测量是正态分布的,因此我选择了 Friedman 测试和基于Demšar (2006)的 Nemenyi 事后测试。

然后我发现另一篇论文,除了建议其他方法,如 Quade 测试和随后的 Shaffer 事后测试,他们以不同的方式应用 Nemenyi 测试。

如何正确应用 Nemenyi 事后测试?

1. 使用学生化范围统计?

在 Demšar 的论文中,如果平均秩差大于临界距离 CD 且

CD=qαk(k+1)6N

“其中临界值 qα 基于 Studentized range 统计量除以2.

经过一番挖掘,我发现您可以在某些 alpha 中查找这些“临界值”,例如在的表中α=0.05,以获得无限自由度(在每个表的底部)。

2.还是使用正态分布?

就在我以为我知道该怎么做的时候,我又发现了另一篇让我感到困惑的论文,因为他们只使用了正态分布。Demšar 在第 12 页陈述了类似的事情:

使用这些方法比较第 i 个和第 j 个分类器的测试统计量是 z 值用于从正态分布表中找到相应的概率,然后将其与适当的进行比较。这些测试在调整值以补偿多重比较的方式上有所不同。

z=(RiRj)k(k+1)6N
αα

在本段中,他谈论的是将所有算法与控制算法进行比较,但“它们调整的方式不同......以补偿多重比较”表明这也应该适用于 Nemenyi 测试。

因此,在我看来合乎逻辑的是根据正态分布的检验统计量计算p来纠正该值。zk(k1)/2

但是,这会产生完全不同的等级差异,以拒绝零假设。现在我被卡住了,不知道该应用哪种方法。我强烈倾向于使用正态分布的那个,因为它对我来说更简单、更合乎逻辑。我也不需要在表格中查找值,并且我不受某些重要值的约束。

再说一次,我从来没有使用过学生化的范围统计数据,我也不明白。

3个回答

我也刚开始看这个问题。

如前所述,当我们使用正态分布计算每个测试的 p 值时,这些 p 值并没有考虑多次测试。为了纠正它并控制家庭错误率,我们需要一些调整。Bonferonni,即除以显着性水平或将原始 p 值乘以测试次数,只是一种可能的校正。还有大量其他多重检验 p 值校正在许多情况下不太保守。

这些 p 值校正没有考虑假设检验的特定结构。

我更熟悉原始数据的成对比较,而不是 Kruskal-Wallis 或弗里德曼测试中的等级转换数据。在这种情况下,即 Tukey HSD 检验,多重比较的检验统计量根据学生化范围分布分布,这是在独立样本假设下所有成对比较的分布。它基于多元正态分布的概率,可以通过数值积分计算,但通常从表格中使用。

我的猜测是,由于我不知道理论,学生化的范围分布可以以与 Tukey HSD 成对比较类似的方式应用于等级测试的情况。

因此,使用 (2) 正态分布加上多个检验 p 值校正和使用 (1) 学生化范围分布是获得检验统计量的近似分布的两种不同方法。但是,如果满足使用学生化范围分布的假设,那么它应该提供更好的近似值,因为它是为所有成对比较的特定问题而设计的。

据我所知,仅比较两种算法时,Demšar 建议使用 Wilcoxon 符号秩检验,而不是 Friedman + posthoc。可悲的是,在解密 demšar 除以 k-1 应该意味着什么时,我和你一样困惑。

我还偶然发现了是从正态分布还是学生化 t 分布计算 p 值的问题。不幸的是,我仍然无法回答,因为不同的论文传达了不同的方法。

然而,为了计算调整的 p 值,您必须将未校正的 p 值乘以调整因子,例如 p*(k-1) 在与一种控制方法或 p*((k*(k-1 ))/2) 用于 nxn 比较。

如果与未调整的 p 相比,您应该除以调整因子的是 alpha 值。