NO.41.tip: bootstrap方法
背景
令 为我们感兴趣的分布函数 的某一特征,表示为 的函数。比如, 是分布的期望。令 为观测数据,可认为它是随机变量 的实现。在本章中,我们用 表示 服从密度函数为 的分布,其对应的累积分布函数为 。令 表示整个数据集。
如果 是观测数据的经验分布函数,则 的一个估计为 。比如,当 是一元总体均值,则其估计就是样本均值,。
统计推断的问题通常是根据 或某个 提出来的,这里 是依赖于数据和它们的未知分布函数 的统计函数。举例来说,一个一般的检验统计量可以是 ,其中 为估计量 标准差的函数。
随机变量 的分布可能难以处理或根本就是未知的,该分布也可能依赖于未知分布 。Bootstrap 方法提供了关于 的分布的一种近似,其是由观测数据的经验分布函数(本身是 的估计)所导出的 。
令 表示一伪数据 bootstrap 样本,这里我们称其为伪数据集。 的元素是独立同分布于 的随机变量。Bootstrap 的策略就是考察 的分布,也就是在 中使用 所得到的随机变量。在某些特殊情况下,我们有可能通过解析方法推导或估计
例(简单描述) 假设有 个一元数据点,也就是 ,是从均值为 的分布 中观测到的独立同分布样本。在每个观测点, 给予其 的密度。假设我们想要 bootstrap 的估计是样本均值 ,也就是可以写成 或者 ,其中 不依赖于 。
令 为从 中抽取出的独立同分布的元素,对于 总共有 种可能结果。令 表示这个样本的经验分布函数,其相应的估计为 。因为 不依赖于数据的顺序,则总共只有 10 种不同的结果。下表列出了这些结果。
表 9.1 由 所可能得到的 bootstrap 伪数据集(忽略顺序),相应的 ,在 bootstrap 实验中每一种结果的概率 ,以及 1000 次 bootstrap 迭代所观测到的相对频率
| 观测频率 | |||||
|---|---|---|---|---|---|
| 1 | 1 | 1 | |||
| 1 | 1 | 2 | |||
| 1 | 2 | 2 | |||
| 2 | 2 | 2 | |||
| 1 | 1 | 6 | |||
| 1 | 2 | 6 | |||
| 2 | 2 | 6 | |||
| 1 | 6 | 6 | |||
| 2 | 6 | 6 | |||
| 6 | 6 | 6 |
在上表中, 表示以原始观测为条件抽取 的 bootstrap 实验中 的概率分布。为与 区分,当涉及到该条件概率或矩的时候,我们用星号来表示,如 。
Bootstrap 的基本原则就是视 和 是等同的。在这个例子中,这就意味着我们基于 的分布来进行推断,该分布归纳在上表的列 和 中。所以,举例来说,利用 的分布的分位数,我们可以得到对于 的一简单 bootstrap (大约 93%)置信区间为 。点估计仍然通过原始观测数据来获得,即 。
源与流
非参数bootstrap
通常对于一个实际问题的样本容量,可能的 bootstrap 伪数据集的个数是非常大的,所以完全列举这些概率是不现实的。作为替代,我们可从观测数据的经验分布函数即 中随机抽取 个独立的 bootstrap 伪数据集,将他们定义为 。 的经验分布函数可用于近似 的分布并进行推断。这样避免了完全列举 bootstrap 伪数据,却产生了模拟误差,但我们可通过增大 使这个误差任意地小。Bootstrap 使得我们的分析和推断不需要进行参数假设,它为那些不大可能得到解析方案的问题提供了解决方法,并且可以给出比应用传统标准参数理论所得到的结果更加精确的回答。
例 9.2(简单描述,续) 我们继续研究例中的数据,在那个例子中观测数据的经验分布函数 在 1, 2, 和 6 上分别置予 的密度。非参数 bootstrap 通过从 中独立同分布地抽取 和 来构成 。换言之就是从 中等概率可放回地抽取 。然后每一个 bootstrap 伪数据集 观测得到的 可能值的相对频率。这些相对频率可用于近似 ,反过来 bootstrap 思想说明我们可用 来近似 的抽样分布。
对于这个简单描述中的问题,所有可能的 bootstrap 伪数据集空间可以完全地列举出来,因此 可通过推导精确地给出。因此,对于该问题我们可以不使用模拟方法。然而,在实际的应用中,样本容量可能太大以至于不可能完全列举出 bootstrap 的样本空间。因此,在真实的应用问题中,通常只有一小部分伪数据集会被抽取到,得到的只是对于估计量可能值的一个子集。
对于 bootstrap 方法的一个基本要求是被重抽样的数据本身是一个独立同分布的样本。如果样本不是独立同分布的, 对于 的分布近似则不再成立。
参数化bootstrap
前面所描述的典型的非参数 bootstrap 方法是从 中抽取独立同分布的 来生成伪数据集 。当数据可以被模型化或者本身就是来自于一参数分布的时候,即 ,我们可采用 的另一种估计。假设观测数据是用来获得 以估计 ,则我们可通过抽取 来生成参数化 bootstrap 伪数据集 。当模型已知或者可以很好地表示真实情况的时候,参数化 bootstrap 将会成为一个强有力的工具,它能够对那些难以处理的问题给出推断,并且其产生的置信区间会比用标准极限理论所得到的精确很多。
然而,在这些情形下,到底 bootstrap 基于什么模型实现往往是事后决定的。举例来说,一确定性的生物学种群模型,基于生物学参数以及初始种群大小,可以预测种群数量随时间的变化。假设我们在不同的时间点上用不同的方法获取动物的数量,我们可用观测到的数量与模型预测的数量进行比较,从而判断模型参数是否产生良好的拟合效果。之后我们可以再建立第二个模型,认为观测值是来自于对数正态分布,其期望等于由生物学模型所得到的预测值,并且方差是预先决定的一系数。这样就形成了一个参数和数据之间方便的联系——如果可以说近似地说明有效。我们通过从对数正态分布抽取 bootstrap 伪数据来对第二个模型使用参数化 bootstrap 方法。在这种情况下,观测数据的抽样分布很难被认为是服从对数正态模型的。
只有在迫不得已的情形下才使用这样的依赖于自组织误差模型的方法进行分析。使用方便但不适当的模型经常是相当诱人的。如果模型不能够很好地拟合数据的生成机制,参数化 bootstrap 方法就会得到错误的推断结果。然而,在没有其他合适的推断方法可用的场合下,我们也可一试。
bootstrapping回归
考虑如下典型多重回归模型,,其中假设 是均值为零、方差为常数的独立同分布随机变量,这里, 和 分别是 维的预测值和参数。一种简单的但错误的 bootstrap 方法描述如下:我们从响应值集合中重抽样来构成一个新的伪数据集,也就是对于每一个观测值 对应一个伪数据 ,从而可得到一个新的回归数据集。然后可以由这些伪数据来计算 bootstrap 参数向量估计 。重复重抽样和估计的步骤进行很多次后, 的经验分布可用于推断 。这样做之所以错误的原因是 不是独立同分布的——它们具有不同的条件均值。因此,用这种方法生成 bootstrap 回归数据集是不恰当的。
为了确定一个正确的 bootstrap 方法,我们必须要找到合适的独立同分布的变量。上述模型中的 是独立同分布的。因此,更恰当的策略是如下所描述的 bootstrap 残差法。
我们先由观测数据拟合回归模型,然后获得响应 和残差 。从拟合残差集合中有放回随机抽取得到 bootstrap 残差集合 (注意实际上 不是独立的,尽管通常来说它们近似独立),生成一个伪响应 bootstrap 集合,。拟合 对 的回归方程从而获得 bootstrap 参数估计 。重复多次该过程可得到 的经验分布函数,然后我们用它进行推断。
对于设计好的实验或者 值是预先固定的数据,这种方法是最适合的。对于其他模型,如自回归模型、非参数回归和广义线性模型的简单 bootstrap 方法,其核心都是 bootstrap 残差的策略。
Bootstrap 残差依赖于选定模型对观测数据适当的拟合,以及残差具有常数方差的假设。如果我们对这些条件的成立没有足够信心的话,则可能需要其他的 bootstrap 方法。
假设数据是从观察研究中得到的,其中响应变量和预测量都是从一群个体中随机选出并测量得到的。在这种情形下,我们可将数据对 视作是从响应–预测变量联合分布中得到的随机变量 的观测值。为了完成 bootstrap,随机有放回地从观测数据 中抽取样本 。对所得到的伪随机数据集拟合回归模型以获得 bootstrap 参数估计 。多次重复这些步骤,然后如第一种方法中介绍的进行推断。这种情形的 bootstrap 方法有时也被称作成对 bootstrap。
如果对回归模型的适当性、残差方差的稳定性,或者其他回归假设有疑问的话,成对 bootstrap 对不满足这些假设的情形要比 bootstrap 残差方法更加稳健。在预测变量不是固定的情形下,成对 bootstrap 更加直接地匹配了原始数据的生成机制。