第十二章:Bootstrap 与重抽样

从经验分布出发构造标准误与区间,比较 percentile、basic、BCa、参数和块 Bootstrap。

第十二章:Bootstrap 与重抽样

案例: 右偏收入样本的中位数没有简单标准误。能否把观察样本当作总体,重复抽样来近似其不确定性?

Bootstrap 用经验分布替代未知总体分布,再重复执行完整估计流程。它是“估计抽样分布”的方法,不是制造新信息。

学习目标

你应能:

  1. 写出非参数 Bootstrap 算法;
  2. 估计标准误、偏差与 Monte Carlo 误差;
  3. 区分 percentile、basic、studentized 与 BCa 区间;
  4. 为回归、时间序列和参数模型选择重抽样单位;
  5. 识别非光滑统计量、极值、稀有事件与依赖下的失败。

1. 经验分布

样本 X1,,XnX_1,\ldots,X_n 的经验分布:

F^n(x)=1ni=1n1(Xix).\widehat F_n(x)=\frac1n\sum_{i=1}^n\mathbf 1(X_i\le x).

非参数 Bootstrap 从 F^n\widehat F_n 有放回抽取 nn 个观测:

X1,,XniidF^n,X_1^*,\ldots,X_n^*\overset{iid}{\sim}\widehat F_n,

并计算

θ^=T(X1,,Xn).\widehat\theta^*=T(X_1^*,\ldots,X_n^*).

重复 BB 次后,θ^(1),,θ^(B)\widehat\theta^{*(1)},\ldots,\widehat\theta^{*(B)} 近似条件抽样分布。

2. 标准误与偏差

SE^boot=1B1b=1B(θ^(b)θˉ)2.\widehat{SE}_{boot} = \sqrt{\frac1{B-1} \sum_{b=1}^B (\widehat\theta^{*(b)}-\bar\theta^*)^2}.Bias^boot=θˉθ^.\widehat{Bias}_{boot} =\bar\theta^*-\widehat\theta.

增加 BB 只降低 Monte Carlo 噪声,不能弥补原样本太小、抽样偏差或错误重抽样单位。

3. 常见区间

区间构造优点与风险
normalθ^±zSEboot\widehat\theta\pm zSE_{boot}简单;忽略偏斜
percentileBootstrap 分位数变换不变;可能偏差校准差
basic2θ^q1α/2,2θ^qα/22\widehat\theta-q^*_{1-\alpha/2},\,2\widehat\theta-q^*_{\alpha/2}反射误差分布
studentizedBootstrap t 统计量分位数更高阶准确,计算重
BCa校正偏差与加速度实用但需 Jackknife/稳定性

不同区间回答同一参数的不确定性,但有限样本覆盖可能不同。应通过模拟或领域基准检查。

4. 可运行案例:右偏数据的中位数区间

样本来自指数分布,真实中位数为 log2\log 2。代码对一次 n=80n=80 样本做 12,000 次重抽样。

Py

Python:中位数的 Bootstrap 标准误与区间

Idle

一次区间是否覆盖真值不能评价覆盖率。应重复“生成原样本—Bootstrap—构造区间”的完整流程,统计长期覆盖。

5. 重抽样单位必须匹配设计

数据结构不应做合适起点
iid 个体个体非参数 Bootstrap
聚类数据单独重抽组内个体重抽独立集群
时间序列随机打散时间点moving/stationary block Bootstrap
固定设计回归随意 pairs残差/wild Bootstrap 视假设而定
随机设计回归只重抽残差pairs Bootstrap 可行
参数模型忽略已知结构parametric Bootstrap

重抽样层级错误会系统性低估不确定性,即使 BB 极大。

6. Bootstrap 何时会失败

  • 样本最大值:经验分布无法生成超过已观察最大值的新值;
  • 稀有事件:原样本没有事件时,重抽样永远没有事件;
  • 非正则边界:估计量极限分布不平滑;
  • 模型选择:未在每次重抽样中重做选择会漏掉变异;
  • 强依赖:iid 重抽样破坏序列结构;
  • 极小样本:经验分布对总体近似太粗;
  • 无限方差重尾:普通 Bootstrap 均值可能不一致。

可能替代包括 m-out-of-n Bootstrap、subsampling、参数 Bootstrap、块 Bootstrap 或专门渐近理论。

7. Jackknife

删除第 ii 个观测得到 θ^(i)\widehat\theta_{(-i)}。Jackknife 可估计偏差、标准误和 BCa 加速度:

SE^jack=n1ni(θ^(i)θˉ())2.\widehat{SE}_{jack} =\sqrt{\frac{n-1}{n} \sum_i(\widehat\theta_{(-i)}-\bar\theta_{(-\cdot)})^2}.

它对平滑统计量有效且计算便宜,但对中位数、分位数和模型选择等非光滑统计量可能不稳定。

8. 复现与诊断

  • 固定随机种子并记录 BB
  • 报告重抽样单位和数据结构;
  • 查看 Bootstrap 分布的偏斜、多峰和异常值;
  • 用不同 BB 检查 Monte Carlo 稳定性;
  • 将所有数据清理、特征选择和拟合放入每次重抽样;
  • 用模拟评估目标数据生成机制下的覆盖率;
  • 不把 Bootstrap 区间误写成无模型保证。

课堂任务

为以下统计量设计 Bootstrap:

  1. iid 工资数据的中位数;
  2. 学校整群样本的平均成绩;
  3. 日收益序列的均值;
  4. 回归中经 LASSO 选择后的系数;
  5. 样本最大洪水流量。

对每项说明重抽样单位、可能失败方式和替代方案。

核心阅读

上一章:常用检验方法|下一章:现代统计案例

Copyright © 2026