1. 本讲内容
- 自助法的术语;
- 自助法原理;
- 经验自助法,也称非参数自助法;
- 参数自助法。
课程通知:R 测验于次日举行;关于置信区间的习题集 11 位于 MITx 第 14 周,无需提交;关于自助法的 R Studio 10 也无需提交。
2. 数据的经验分布
经验分布是已经观测到的数据本身所形成的分布,而不是生成这些数据的未知总体分布。
例如,独立观测数据为
其经验随机变量
| 1 | 2 | 3 | 8 | |
|---|---|---|---|---|
样本量足够大且具有代表性时,经验分布
3. 重抽样
给定原样本
从原样本中有放回地随机抽取
重抽样概率由经验分布决定。例如:
一次大小为 10 的重抽样可能是
自助样本的大小总与原样本相同。因此本例的自助样本必须有 6 个观测,例如
4. 均值的自助法原理
设总体分布
令
其均值记为
自助法的基本思想是:
; 围绕 波动,正如 围绕 波动; 的抽样变异可以用 的自助分布变异来近似。
关键优势是:在已有数据的基础上,可以生成任意多次自助样本,从而较准确地估计自助统计量的分布。
这一原理不只适用于均值,也适用于很多其他统计量。
5. 经验百分位自助置信区间
设数据
来自未知分布
步骤如下:
- 从经验分布中生成许多大小为
的自助样本; - 对每个自助样本计算相同的统计量
; - 用所有
的经验分布近似 的抽样分布; - 取
的两端分位数作为区间端点。
其中
其依据是
6. 基本自助置信区间
本方法课堂上不作重点,但讲义给出了构造。
先计算每次自助估计与原估计之差:
由于
可以用
等价地,若百分位自助端点为
7. 哪种自助区间更好
百分位法稍简单,并且在许多实际场景中往往比基本自助法略好。不过,还有 BCa 等更复杂的方法,通常能进一步改善覆盖率。
这些方法都建立在同一重抽样思想上,只是通过偏差和偏斜修正来改善有限样本表现。
8. 概念题:哪个统计量最容易
考虑为以下统计量构造自助置信区间:
- 均值;
- 中位数;
- 第 47 百分位数。
自助法只要求对每个重抽样样本重新计算目标统计量,因此三者的流程同样直接。答案为
这体现了自助法的通用性:即使统计量的解析抽样分布很难推导,计算机重抽样仍可给出近似。
9. 课堂题:经验自助法
原数据为
讲义给出 8 个自助样本,每一列是一次重抽样:
9.1 均值的 80% 百分位区间
8 个自助均值为
80% 区间取 0.1 与 0.9 分位数。按 R 默认的线性插值规则,得到
由于这里只使用 8 次重抽样,端点十分粗糙;实际应用通常要生成数千或更多自助样本。
9.2 中位数的 80% 百分位区间
8 个自助中位数为
按同一分位数规则,
10. 用 R 计算经验百分位自助区间
x = c(30, 37, 36, 43, 42, 43, 43, 46, 41, 42)
n = length(x)
xbar = mean(x)
n_boot = 5000
# 生成 n_boot 个大小为 n 的经验自助样本,并按列排列
tmp_data = sample(x, n * n_boot, replace = TRUE)
bootstrap_sample = matrix(tmp_data, nrow = n, ncol = n_boot)
# 每一列的均值就是一个自助均值
xbar_star = colMeans(bootstrap_sample)
# 80% 百分位自助置信区间
ci = quantile(xbar_star, c(0.1, 0.9))
11. 参数自助法
设数据来自参数分布
并用
参数自助法不直接从观测值中重抽样,而是:
- 从拟合分布
中生成许多大小为 的自助样本; - 对每个样本计算估计量
; - 计算
- 用
的分位数近似
的分位数;
5. 构造区间
与经验自助法相比,参数自助法依赖所选参数模型正确,但若模型合理,往往可以更有效地利用结构信息。
12. R 中的参数自助法
假设数据来自
x = c(3, 5, 7, 9, 11, 13)
binom_size = 15
n = length(x)
theta_hat = mean(x) / binom_size
n_boot = 5000
# 从拟合的二项分布生成参数自助样本
tmp_data = rbinom(n * n_boot, binom_size, theta_hat)
bootstrap_sample = matrix(tmp_data, nrow = n, ncol = n_boot)
# 计算自助估计和自助误差
theta_hat_star = colMeans(bootstrap_sample) / binom_size
delta_star = theta_hat_star - theta_hat
# 80% 基本参数自助置信区间
d = quantile(delta_star, c(0.1, 0.9))
ci = theta_hat - c(d[2], d[1])
13. 课堂题:二项模型的参数自助法
数据来自
13.1 估计
二项分布中单次观测的均值为
13.2 生成 100 个参数自助样本并构造 80% 区间
x = c(6, 5, 5, 5, 7, 4)
binom_size = 8
n = length(x)
theta_hat = mean(x) / binom_size
n_boot = 100
tmp_data = rbinom(
n * n_boot,
size = binom_size,
prob = theta_hat
)
bootstrap_sample = matrix(
tmp_data,
nrow = n,
ncol = n_boot
)
theta_star = colMeans(bootstrap_sample) / binom_size
delta_star = theta_star - theta_hat
d = quantile(delta_star, c(0.1, 0.9))
ci = theta_hat - c(d[2], d[1])
ci
由于模拟包含随机性,每次运行所得区间会略有不同。若要复现结果,可在代码开头加入 set.seed(...);若要得到更稳定的端点,应把 n_boot 增大到数千或更多。
14. 本讲要点
- 经验分布把每个观测值按其出现频率赋予概率;
- 经验自助法从观测数据中有放回重抽样;
- 参数自助法从拟合的参数模型中模拟数据;
- 自助统计量的分布用于近似原统计量的抽样分布;
- 百分位区间直接使用自助统计量的分位数;
- 基本区间使用自助估计误差的分位数;
- 自助法尤其适合解析抽样分布难以推导的统计量。