只有一份样本,怎样估计样本均值有多大波动?Bootstrap 的做法是把现有样本当作一个可反复抽取的小型经验分布:抽回同样数量的记录,算一次均值,再重复这个过程。许多个均值的分散程度,就提供了估计不确定性的线索。
五个数的一轮有放回抽样
设教学样本为 2、3、4、4、7,均值是 4。这五条记录各有自己的位置,两个 4 是两条不同记录。每次从五个位置随机抽一个,抽过的位置继续留在候选中;一共抽五次,便得到一份重抽样样本。
例如,一轮可能抽到 2、2、4、7、7。原来的 3 没有出现,2 和 7 各出现两次,两个 4 中只有一条被抽中。抽中的记录仍留在候选中,下一次就有机会再次抽到它;反复抽五次,样本大小仍是 5。这一轮的均值为(2+2+4+7+7)÷5=4.4。下一轮可能得到不同的组合和均值。
每轮统计量及其分布
如果关心均值,每轮都计算均值;如果关心两列数据的相关,就按完整记录抽取,再计算相关。不能把同一人的两项测量各自打乱抽取,否则原来要研究的配对关系也被拆掉了。
把重复得到的统计量画成直方图,可以看它们集中在哪里、是否偏斜、是否出现少数极端结果。它们的标准差可作为 Bootstrap 标准误的估计。增加重抽样次数,会让这次计算更稳定;原始样本包含的观测信息仍然只有原来的那些。
按什么单位重抽样
最直接的普通 Bootstrap 适用于把记录看作独立同分布样本的情形。若一个人留下七天日记,七行记录属于同一个人;若学生来自几个班级,同班学生也可能相关。此时要结合研究设计决定按人、按群组或按时间块重抽,不能只因为表格一行就是一条记录,便一律逐行抽取。
软件接口也体现这种区分。R 的 boot 函数让使用者提供数据、统计量函数和重复次数;普通重抽样会把行索引交给统计量函数。写函数之前,先明确每个索引代表什么,比先调大重复次数更关键。
报告设置与方法局限
记录原始样本量、目标统计量、重抽样单位、重复次数和随机种子,再报告结果。若还要构造置信区间,应注明使用百分位数、BCa 或其他方法;不同构造法不能只统称为一个“Bootstrap 区间”。
Bootstrap 能重新组合已经看到的记录。若样本遗漏了某一类人,反复重抽也不会凭空补出他们;若目标是最大值、极差等高度依赖尾部的量,更要检查方法是否合适。使用它时,先问样本怎样产生、目标是什么,再决定怎样重抽。