Bootstrap 与数值积分

机器算法验证 引导程序 计算统计
2022-04-08 20:50:30

我对引导方法的理解是基于 Wasserman 的框架(几乎是逐字逐句):

Tn=g(X1,...,Xn)成为一个统计量(Xi是从分布中抽取的独立同分布样本F)。假设我们要估计VF(Tn)- 的方差Tn给定F.

引导方法遵循以下两个步骤:

  1. 估计VF(Tn)VF^(Tn), 在哪里F^是经验分布函数。

  2. 近似VF^(Tn)使用模拟。

我是否正确理解步骤 2 中的模拟可以用精确计算代替,除了它对于实际有用的值是不可行的n? 这是我的想法:VF^精确地等于积分Tn(X1,...,Xn)dF^(X1)dF^(X2)...dF^(Xn).F^是一个阶跃函数,有一个有限数n脚步; 所以我们可以忽略除n点在哪里dF^(x)具有非零质量。所以积分正好等于nn条款。一次n超过14,简单的直接计算是不可能的。

但我们要做的只是计算一个积分。为什么不用任何传统的积分数值算法来代替蛮力自举模拟呢?在相同的计算时间内,它不会导致更高的精度吗?

即使像将样本空间分割成多个部分(可能样本统计量变化更快的较小体积),并通过使用中间点估计每个部分中的统计值这样简单的事情,似乎也比盲目自举更好。

我错过了什么?

也许 bootstrap 工作得这么好,这么快,以至于不需要做任何更复杂的事情?(例如,如果第 1 步的精度损失比第 2 步大得多,那么对第 2 步的改进就毫无用处。)

2个回答

引导程序工作得非常好。如果要估计一些低维分布的均值、方差和一些不太极端的分位数θ^(Y),对于许多实际问题,几百到几千个重新采样将使蒙特卡洛误差可以忽略不计。作为一个快乐的副产品,它还为您提供了一个样本θ^(Y),如果需要,它可以用于诊断程序,并且获得可接受的良好测量蒙特卡洛错误实际有多大并不难。

拟合一个回归模型(例如一千次)(今天)不是什么大问题,无论是在 CPU 时间还是编码工作方面。

相比之下,数值积分(不包括蒙特卡洛方法)可能难以编码 - 例如,您必须决定如何分割样本空间,这是一项不平凡的任务。这些方法也不能给出诊断,而且它们估计真实积分的准确性是出了名的难以评估。

要完成bootstrap 的大部分工作,但速度更快,请查看广义矩量法- 对于基于回归模型(以及其他许多)的推理,您可以将其视为对非参数 bootstrap 的快速、准确的近似会给。

自举中最常用于方差数值计算的模拟原则上可以由精确计算或积分的替代近似代替。然而,人们应该意识到,作为其他数值积分技术的替代方案的“蛮力”模拟实际上是一个好主意。“在相同的计算时间内,它不会导致更高的精度吗?”这个问题的答案。没有

但为什么会这样呢?问题是高维中的标准数值积分与维度的比例很差。如果要将空间划分为规则的网格点,例如r每个坐标中的网格点,你最终得到rn共网格点。通过模拟实现的近似(称为蒙特卡洛积分)可以看作是函数评估的明智选择。我们只评估我们在选定点集成的函数,而不是耗时的网格评估。由于所选点的随机性,该误差是随机的,但通常可以由中心极限定理控制。

还有其他方法,例如准蒙特卡洛积分,我几乎一无所知,它们基于准随机数而不是我们用于普通蒙特卡洛积分的伪随机数进行巧妙的函数评估。