自举法信心区间模拟器 返回
统计模拟器

自举法信心区间模拟器

从原始数据进行有放回抽样反复迭代,实时计算平均值和中位数的95%信心区间。通过改变样本数 N 和迭代次数 B,可视化 CI 宽度和再抽样分布的收敛性。

参数设置
原始数据数 N
自举迭代次数 B
真实平均值 μ
真实 σ
数据分布

随机数由 LCG(seed=42)确定性生成。B 较大时计算需要一点时间。

暂停时,拖动滑块即可即时更新结果。

实时计算结果
自举迭代次数 B
自举平均值
CI 下限 (2.5%)
CI 上限 (97.5%)
自举再抽样实时可视化

上:原始数据样本(点);每次再抽样抽到的点以黄色高亮显示/下:自举平均值分布逐渐成长,95% 信心区间(红色虚线)包住样本平均值(黄色)。

理论与主要公式

从原始数据 $x_1,\ldots,x_N$ 进行有放回抽样,生成 $B$ 个再抽样,从各再抽样计算统计量 $T^*_b$。

自举标准误:

$$\widehat{\mathrm{SE}}_{\text{boot}} = \sqrt{\frac{1}{B-1}\sum_{b=1}^{B}\left(T^*_b - \bar{T^*}\right)^2}$$

95%信心区间(百分位数法):

$$\left[T^*_{(0.025)},\; T^*_{(0.975)}\right]$$

平均值的理论 SE(参考,高斯分布情况):

$$\mathrm{SE}(\bar{x}) = \frac{\sigma}{\sqrt{N}}$$

默认值 $N=100,\,\sigma=2$ 时,$\mathrm{SE}\approx 0.20$,CI 宽度 $\approx 0.78$。

自举法信心区间模拟器简介

🙋
问卷调查结果的平均值想加上「±多少」这样的宽度,但数据不是正态分布的话,信心区间就算不出来了吗?
🎓
这时候自举法就派上用场了。简单说,就是从手头的 N 个数据点进行「可以重复抽取同一个点的有放回抽样」,重复 B 次,生成 B 个伪数据集。分别计算每个的平均值,就能经验性地得到平均值的采样分布。上面的模拟器中,设 $N=100,\,B=1000$,看看绿色的直方图。这近似展示的就是「如果重复 1000 次同样的实验,平均值会有多大的变化」。
🙋
只是从同样的数据重新抽样,就能看出波动吗?
🎓
听起来不可思议,但因为是有放回抽样,某个点可能被抽 3 次,另一个点一次都没被抽到,这样就会出现差异。这恰好就是「如果从同一个母集团重新抽 N 个点会怎样」的模拟。1979 年统计学家 Efron 提出这个方法时,原本无法用教科书公式计算的统计量的标准误突然就能求出来了,成为现代统计学的标准手法。
🙋
明白了!「平均值的95%CI」这张卡显示 [9.6, 10.4],这是说「真的平均值有 95% 的可能在这个范围内」对吗?
🎓
严格来说略有不同。应该这样理解:「用同样的步骤做 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 计算中是标准用法。

机器学习模型评估:对测试集的精度、AUC、F1 等指标做自举重采样,计算模型性能的信心区间或两模型间有无显著差异。「.632 自举法」是小数据集汎化误差估计的经典手法。

金融风险评估:从历史收益率序列有放回抽样生成伪未来场景,求 VaR(价值在险)和预期亏损的信心区间。不假设正态分布,能避免对市场实际「厚尾」风险的低估。

地震、气象等稀有现象分析:从有限观测记录估计「百年一遇」等极值的信心区间时,对极值分布参数做自举。即使没有复杂统计量的理论 SE 公式,也能用统一步骤求区间,这是自举法最大的优势。

常见误区与注意事项

最常见的误解是,「增加 B 就能缩小 CI」。提高自举迭代次数 B 会使再抽样分布更光滑,CI 估计更稳定,但 CI 宽度本质上由原数据数 N 决定。在本工具中保持 $N=100$,把 $B$ 从 100 改到 5000,绿色直方图会变光滑,但红色虚线(CI 边界)位置几乎不变。而把 $N$ 从 100 增到 400,CI 宽度才会约减半($\mathrm{SE}\propto 1/\sqrt{N}$)。

次常见的误解是,「95%CI 包含真值的概率是 95%」。准确的理解是「重复实验 100 次,有 95 个 CI 包含真值」的频率论解释。对于某个特定的一次 CI,说「真值被包含的概率是 95%」是贝叶斯统计的可信区间的说法,两者在概念上不同。实务中两种都常读作「大约 95% 信度内真值在此范围」,但论文和报告中应该严格区分术语。

最后的误区是,「自举法像魔法一样总是有效」。原数据极少(N<20)、极值统计(最大值最小值)、分布尾部很重时的方差估计等,自举分布会严重偏离实际采样分布。在本工具中把分布改为「对数正态」,N 降到 20,可以看到平均值 CI 明显非对称,且样本间波动很大。这类困难情况要考虑 BCa 补正或参数自举等更高级方法。

使用指南

  1. 用滑块「原始数据数 N」设置原数据的大小(N=30~500)。用「迭代次数 B」指定自举有放回抽样的重复次数(B=1000~10000)
  2. 调整「真实平均值 μ」和「真实标准差 σ」来生成的正态分布的统计量。例如:μ=100 kPa(材料强度)、σ=15 kPa 来再现制造波动
  3. 点「运行」开始计算。即时显示样本平均值 x̄、平均值 95% CI(例如:98.2~101.8 kPa)、标准误 SE、中位数 95% CI。右图确认采样分布收敛状况

具体计算例

钢铁部件拉伸强度测量 N=50 样本、μ=400 MPa、σ=25 MPa 的情况:样本平均值 x̄=398.6 MPa,平均值 95% CI=[390.2, 407.1 MPa],SE=3.54 MPa。用 B=5000 自举,验证真实平均值 400 MPa 在信心区间内的概率约 93.8%。把 N 增加一倍到 100,CI 变为 [394.1, 405.2 MPa],宽度约缩小 30%

实务注意事项

  1. 推荐 B≥5000:B=1000 时 95% CI 端点会不稳定,建筑结构设计中安全侧评估可能崩溃。用百分位数法时 B≥10000 是必须的
  2. N 的影响:N=30 时 SE 过大,CI 宽度达 [μ-22, μ+22] 程度。临床试验和材料试验中 N≥100 是实用精度目标
  3. 分布非正规性:原数据是指数分布或逻辑分布时,自举法对中位数 CI 更稳健。平均值 CI 对异常值敏感