非参数引导 p 值与置信区间

机器算法验证 置信区间 p 值 引导程序
2022-03-11 10:49:32

语境

这有点类似于这个问题,但我不认为它是完全重复的。

当您查找有关如何执行引导假设检验的说明时,通常会说可以将经验分布用于置信区间,但您需要从零假设下的分布正确引导以获得 p-价值。例如,请参阅此问题的已接受答案。互联网上的一般搜索似乎大多会出现类似的答案。

不使用基于经验分布的 p 值的原因是大多数时候我们没有平移不变性。

例子

让我举一个简短的例子。我们有一枚硬币,我们想做一个单面测试,看看正面的频率是否大于 0.5

我们执行试验,得到正面。此测试的真实 p 值为n=20k=14p=0.058

另一方面,如果我们引导 20 个正面中的 14 个,我们有效地从的二项式分布中采样。通过减去 0.2 来移动这个分布,当根据获得的经验分布测试我们的观察值 0.7 时,我们将得到一个几乎不显着的结果。n=20p=1420=0.7

在这种情况下,差异非常小,但当我们测试的成功率接近 1 时,差异会变大。

问题

现在让我来谈谈我的问题的真正要点:同样的缺陷也适用于置信区间。事实上,如果置信区间具有规定的置信水平,那么在原假设下不包含参数的置信区间相当于在显着性水平为时拒绝原假设。α1α

为什么基于经验分布的置信区间被广泛接受而 p 值不被接受?

是否有更深层次的原因,或者人们只是对置信区间不那么保守?

在这个答案中,Peter Dalgaard 给出的答案似乎与我的论点一致。他说:

这种推理方式没有什么特别错误的,或者至少不比 CI 的计算差(很多)。

(很多)从哪里来?这意味着以这种方式生成 p 值稍微差一些,但没有详细说明这一点。

最后的想法

同样在Efron 和 Tibshirani的 An Introduction to the Bootstrap中,他们将大量空间用于置信区间,但不用于 p 值,除非它们是在适当的零假设分布下生成的,除了一条关于一般等价性的一次性行关于置换检验的章节中的置信区间和 p 值。

让我们也回到我链接的第一个问题。我同意 Michael Chernick 的回答,但他也再次认为,基于经验引导分布的置信区间和 p 值在某些情况下同样不可靠。它没有解释为什么你发现很多人告诉你间隔是好的,但 p 值不是。

1个回答

正如@MichaelChernick 在回应对他对链接问题的回答的评论时所说:

置信区间和假设检验之间通常存在 1-1 对应关系。例如,模型参数的 95% 置信区间表示关于该参数值的相应 5% 水平假设检验的非拒绝区域。对人口分布的形状没有要求。显然,如果它通常适用于置信区间,它将适用于引导置信区间。

因此,此答案将解决两个相关问题:(1)为什么自举结果的呈现似乎更频繁地指定置信区间(CI)而不是p值,如问题中所建议的那样,以及(2)何时可能两个p值并且由 bootstrap 确定的 CI 被怀疑是不可靠的,因此需要一种替代方法。

我不知道具体支持该问题中关于第一个问题的主张的数据。也许在实践中,许多 bootstrap 派生的点估计(或至少看起来)离测试决策边界太远,以至于对相应零假设的p值几乎没有兴趣,主要关注点估计本身和对其可能的变化幅度的某种合理度量。

关于第二个问题,许多实际应用涉及“测试统计量的对称分布、关键测试统计量、CLT 应用、没有或很少有麻烦的参数等”(如上面@XavierBourretSicotte 的评论),对此没有什么困难。那么问题就变成了如何检测与这些条件的潜在偏差,以及当它们出现时如何处理它们。

几十年来,这些与理想行为的潜在偏差一直受到人们的重视,早期开发了几种引导 CI 方法来处理它们。Studentized bootstrap 有助于提供关键的统计数据,而 BCa 方法在从 bootstrap 获得更可靠的 CI 方面处理偏差和偏斜。在确定自举 CI 之前对数据进行方差稳定转换,然后将其反向转换为原始规模,也可以提供帮助。

这个问题中关于从公平硬币的 20 次投掷中抽取 14 个正面的示例通过使用 BCa 方法中的 CI 得到了很好的处理;在 R 中:

> dat14 <- c(rep(1,14),rep(0,6))
> datbf <- function(data,index){d <- data[index]; sum(d)}
> set.seed(1)
> dat14boot <- boot(dat14,datbf,R=999)
> boot.ci(dat14boot)
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 999 bootstrap replicates

CALL : 
boot.ci(boot.out = dat14boot)

Intervals : 
Level      Normal              Basic         
95%     (9.82, 18.22 )   (10.00, 18.00 )  

Level     Percentile            BCa          
95%       (10, 18 )         ( 8, 17 )  
Calculations and Intervals on Original Scale

其他 CI 估计提出了非常接近或处于每 20 次投掷 10 个正面的人口值的明显问题。BCa CI 考虑了偏度(由远离偶数的二项式抽样引入),因此它们很好地包含了总体值 10。

但是,您必须先寻找与理想行为的偏差,然后才能利用这些解决方案。与许多统计实践一样,实际查看数据而不是仅仅插入算法可能是关键。例如,关于偏置引导结果的 CI 的这个问题显示了上述代码中显示的前 3 个 CI 的结果,但排除了 BCa CI。当我试图重现该问题中显示的分析以包括 BCa CI 时,我得到了结果:

> boot.ci(boot(xi,H.boot,R=1000))
Error in bca.ci(boot.out, conf, index[1L], L = L, t = t.o, t0 = t0.o,  : 
estimated adjustment 'w' is infinite

其中“w”参与偏差校正。正在检查的统计数据具有固定的最大值,并且自举的插件估计也存在固有偏差。得到这样的结果应该表明,自举 CI 的通常假设被违反了。

分析一个关键量可以避免这些问题;即使经验分布不能具有有用的严格关键统计数据,但尽可能接近合理是一个重要目标。该答案的最后几段提供了进一步帮助的链接,例如通过引导估计统计数据(可能在某些数据转换之后)是否接近关键的枢轴图,以及计算成本高但可能具有决定性的双重引导。