这时候自举法就派上用场了。简单说,就是从手头的 N 个数据点进行「可以重复抽取同一个点的有放回抽样」,重复 B 次,生成 B 个伪数据集。分别计算每个的平均值,就能经验性地得到平均值的采样分布。上面的模拟器中,设 $N=100,\,B=1000$,看看绿色的直方图。这近似展示的就是「如果重复 1000 次同样的实验,平均值会有多大的变化」。
🙋
只是从同样的数据重新抽样,就能看出波动吗?
🎓
听起来不可思议,但因为是有放回抽样,某个点可能被抽 3 次,另一个点一次都没被抽到,这样就会出现差异。这恰好就是「如果从同一个母集团重新抽 N 个点会怎样」的模拟。1979 年统计学家 Efron 提出这个方法时,原本无法用教科书公式计算的统计量的标准误突然就能求出来了,成为现代统计学的标准手法。
严格来说略有不同。应该这样理解:「用同样的步骤做 100 次,有 95 次这个区间会包含真值」。每一次的区间是否抓住真值是概率性的。另外要注意的是,增加 B 不会缩小区间宽度。试试把 $B$ 改成 5000。图形会变光滑,但宽度几乎不变,对吧?区间宽度本质上由数据数 N 决定,要缩小宽度得增加 N。把 $N=400$ 试试,宽度会变成一半(因为 $\mathrm{SE}\propto 1/\sqrt{N}$)。
🙋
还有,把数据分布改成「对数正态」后,平均值和中位数的 95%CI 出现的位置完全不同了!
🎓
观察得好!对数正态这种单尾较长的分布,平均值容易被异常值拉扯,但中位数毫不动摇。实务中,收入、房价、故障时间这类偏态分布的数据,标准做法就是用自举法求「中位数的信心区间」。自举法最大的优点就是,即使没有理论 SE 公式的统计量,步骤也完全一样。
常见问题
有放回抽样是指每次抽取的数据点在被抽后放回原数据集,下次可以再抽到。从 N 个点有放回地抽 N 个,大约 63% 的原始点至少被选一次,37% 的点一次都没被选。这样每个伪样本就产生了「波动」,能估计统计量的变化。无放回抽样(重复抽样)从 N 个点抽 N 个得到的总是原数据本身,所以自举法必须用有放回抽样。
N=10~20 时,原始数据本身不一定能代表母集团,自举分布也会严重偏离实际的采样分布。特别是对尾部较重的分布或中位数的估计,N 小会导致信心区间看起来很窄,但其实可信度很低,陷入「过度自信」。教科书推荐最少 N≥30,最好 N≥100。在本工具中把 N 降到 20,可以看到再抽样分布变成阶梯状,CI 变得不稳定。
本工具采用百分位数法(直接取自举分布的 2.5/97.5% 点),最简单易实现。相对来说,BCa 法(偏差修正+加速)能修正偏差和歪度,更精确;自举 t 法每次重新计算标准误,构建 t 统计量分布。实务中 BCa 是标准,但对对称分布百分位数法也能给出足够实用的结果。
用的。材料试验中从有限检体估计疲劳强度的信心下限,或 CFD/FEM 多次解析结果的波动中推算设计值的 CI 等都会用。特别是蒙特卡罗解析结果要求不仅「平均响应」还要求「分位数(90% 值、99% 值)的信心区间」时,不假设分布形式的自举法就很有用。可靠性工程的威布尔分布参数估计也标准地用自举法。
实际应用
医学和临床统计:新药临床试验样本数量有限、分布形式不明时,常用自举法评估生存时间中位数的信心区间或治疗组间的差异。特别是卡普兰-迈耶曲线的信心带和危险比的非对称 CI 计算中是标准用法。