自举与置换假设检验

机器算法验证 假设检验 非参数 引导程序 置换检验
2022-01-28 10:16:38

有几种流行的重采样技术,在实践中经常使用,例如 bootstrapping、permutation test、jackknife 等。有许多文章和书籍讨论了这些技术,例如Philip I Good (2010) Permutation, Parametric, and Bootstrap Tests假设

我的问题是哪种重采样技术更受欢迎且更易于实施?自举或置换测试?

3个回答

两者都很流行且有用,但主要用于不同的用途。置换检验最适合检验假设,而自举检验最适合估计置信区间。

置换检验测试可交换性的特定零假设,即只有随机抽样/随机化解释了所见的差异。这是 t 检验和 ANOVA 之类的常见情况。它也可以扩展到时间序列(没有序列相关的零假设)或回归(没有关系的零假设)之类的东西。置换检验可用于创建置信区间,但它需要更多假设,这些假设可能合理,也可能不合理(因此首选其他方法)。Mann-Whitney/Wilcoxon 检验实际上是置换检验的一个特例,因此它们比某些人意识到的更受欢迎。

bootstrap 估计了抽样过程的可变性,并且可以很好地估计置信区间。您可以通过这种方式对假设进行检验,但对于置换检验假设成立的情况,它往往不如置换检验强大。

如果您使用的是 R,那么它们都很容易实现。例如,参见http://www.burns-stat.com/pages/Tutor/bootstrap_resampling.html

我想说还有第三种主要技术:交叉验证。这用于测试模型的预测能力。

我的问题是,哪种重采样技术更受欢迎
Bootstrapping 或置换测试?

  1. 自举主要是关于生成大样本标准误差或置信区间;顾名思义,排列测试主要是关于测试。(不过,每个都可以调整以用于其他任务。)

  2. 我们如何判断受欢迎程度?如果我们查看心理学和教育等领域,我们会发现大量使用基于秩的测试,如 Wilcoxon-Mann-Whitney、签名秩检验、秩相关检验等。这些都是置换测试(另一方面,在许多情况下可以使用原始数据的置换测试,但通常不是)。在其他一些应用领域,置换测试很少被使用,但在应用领域的不同流行度有时更多地说明了该地区的当地文化而不是有用性。

更容易实施?

在许多情况下——尤其是更简单的情况——它们几乎同样容易——本质上是带替换采样和不带替换采样之间的区别。

在一些更复杂的情况下,自举更容易执行,因为(从测试的角度来看)它在替代方案下的运行效果与 null 一样好(至少天真的实现会——这样做是为了让它工作可能要复杂得多)。

在更复杂的情况下,精确的置换测试可能很困难,因为一个合适的可交换数量可能是不可观察的——通常一个几乎可交换的数量可能会以准确性(以及真正的无分布)为代价来代替。

Bootstrapping 从一开始就基本上放弃了相应的准确度标准(例如,区间的准确覆盖率),而是专注于尝试在大样本中获得相当好的覆盖率(有时成功率低于可能理解的程度;如果您还没有检查,不要假设您的引导程序可以提供您期望的覆盖范围)。

置换检验可以在小样本上工作(尽管有限的显着性水平选择有时会成为非常小的样本的问题),而 bootstrap 是一种大样本技术(如果对小样本使用它,在许多情况下结果可能不会非常有用)。

我很少将它们视为同一问题上的竞争对手,并且在(不同的)实际问题上使用它们——通常会有一个自然的选择来查看。

两者都有好处,但在灵丹妙药中都没有。如果您希望通过只关注其中一个来减少学习工作量,您可能会感到失望——两者都是重采样工具箱的重要组成部分。