第十二章:Bootstrap 与重抽样
从经验分布出发构造标准误与区间,比较 percentile、basic、BCa、参数和块 Bootstrap。
第十二章:Bootstrap 与重抽样
案例: 右偏收入样本的中位数没有简单标准误。能否把观察样本当作总体,重复抽样来近似其不确定性?
Bootstrap 用经验分布替代未知总体分布,再重复执行完整估计流程。它是“估计抽样分布”的方法,不是制造新信息。
学习目标
你应能:
- 写出非参数 Bootstrap 算法;
- 估计标准误、偏差与 Monte Carlo 误差;
- 区分 percentile、basic、studentized 与 BCa 区间;
- 为回归、时间序列和参数模型选择重抽样单位;
- 识别非光滑统计量、极值、稀有事件与依赖下的失败。
1. 经验分布
样本 的经验分布:
非参数 Bootstrap 从 有放回抽取 个观测:
并计算
重复 次后, 近似条件抽样分布。
2. 标准误与偏差
增加 只降低 Monte Carlo 噪声,不能弥补原样本太小、抽样偏差或错误重抽样单位。
3. 常见区间
| 区间 | 构造 | 优点与风险 |
|---|---|---|
| normal | 简单;忽略偏斜 | |
| percentile | Bootstrap 分位数 | 变换不变;可能偏差校准差 |
| basic | 反射误差分布 | |
| studentized | Bootstrap t 统计量分位数 | 更高阶准确,计算重 |
| BCa | 校正偏差与加速度 | 实用但需 Jackknife/稳定性 |
不同区间回答同一参数的不确定性,但有限样本覆盖可能不同。应通过模拟或领域基准检查。
4. 可运行案例:右偏数据的中位数区间
样本来自指数分布,真实中位数为 。代码对一次 样本做 12,000 次重抽样。
Py
Python:中位数的 Bootstrap 标准误与区间
一次区间是否覆盖真值不能评价覆盖率。应重复“生成原样本—Bootstrap—构造区间”的完整流程,统计长期覆盖。
5. 重抽样单位必须匹配设计
| 数据结构 | 不应做 | 合适起点 |
|---|---|---|
| iid 个体 | — | 个体非参数 Bootstrap |
| 聚类数据 | 单独重抽组内个体 | 重抽独立集群 |
| 时间序列 | 随机打散时间点 | moving/stationary block Bootstrap |
| 固定设计回归 | 随意 pairs | 残差/wild Bootstrap 视假设而定 |
| 随机设计回归 | 只重抽残差 | pairs Bootstrap 可行 |
| 参数模型 | 忽略已知结构 | parametric Bootstrap |
重抽样层级错误会系统性低估不确定性,即使 极大。
6. Bootstrap 何时会失败
- 样本最大值:经验分布无法生成超过已观察最大值的新值;
- 稀有事件:原样本没有事件时,重抽样永远没有事件;
- 非正则边界:估计量极限分布不平滑;
- 模型选择:未在每次重抽样中重做选择会漏掉变异;
- 强依赖:iid 重抽样破坏序列结构;
- 极小样本:经验分布对总体近似太粗;
- 无限方差重尾:普通 Bootstrap 均值可能不一致。
可能替代包括 m-out-of-n Bootstrap、subsampling、参数 Bootstrap、块 Bootstrap 或专门渐近理论。
7. Jackknife
删除第 个观测得到 。Jackknife 可估计偏差、标准误和 BCa 加速度:
它对平滑统计量有效且计算便宜,但对中位数、分位数和模型选择等非光滑统计量可能不稳定。
8. 复现与诊断
- 固定随机种子并记录 ;
- 报告重抽样单位和数据结构;
- 查看 Bootstrap 分布的偏斜、多峰和异常值;
- 用不同 检查 Monte Carlo 稳定性;
- 将所有数据清理、特征选择和拟合放入每次重抽样;
- 用模拟评估目标数据生成机制下的覆盖率;
- 不把 Bootstrap 区间误写成无模型保证。
课堂任务
为以下统计量设计 Bootstrap:
- iid 工资数据的中位数;
- 学校整群样本的平均成绩;
- 日收益序列的均值;
- 回归中经 LASSO 选择后的系数;
- 样本最大洪水流量。
对每项说明重抽样单位、可能失败方式和替代方案。
核心阅读
- Efron (1979), “Bootstrap Methods: Another Look at the Jackknife”。
- Efron & Tibshirani, An Introduction to the Bootstrap。
- Hall, The Bootstrap and Edgeworth Expansion。