Bootstrap 方法

2025年6月4日 | 阅读 15 分钟

引言

Bootstrap 方法是一种高度可靠的统计程序,广泛应用于数学领域,用于估计从获取的数据集中进行有放回抽样后统计量的分布。

该系统涉及使用从原始数据生成的样本的估计值来评估估计量的特性,例如方差或偏差。Bootstrap 方法由 Bradley Efron 于 1979 年开发,这种重采样方法在统计推断领域得到了广泛应用。当统计量的理论抽样分布未知或难以通过分析计算时,它特别有帮助。

Bootstrap 方法或 Bootstrapping 是什么意思?

Bootstrap 方法,也称为 Bootstrapping,是一种统计抽样技术,通过该技术,给定数据集会被多次抽取以创建更多的人工样本。正如统计学家 Jim Frost 所述,此过程用于计算标准误差和置信区间,并进行假设检验。事实上,bootstrapping 是一种重采样过程,即在包含来自具有放回的总体的数据集的文件上进行多次抽样。它可用于计算汇总统计量,包括均值和方差,并广泛用于机器学习中对未见过数据的模型性能进行评估。

此方法有用,可作为其他方法(如假设检验)的替代方案,因为它易于实现,同时又具有其他传统技术的一些优点。

在统计推断中,常用做法涉及抽样分布以及感兴趣的特征的标准误差。在传统的或大样本策略中,从总体中选择一个大小为 n 的样本,然后估计总体的参数,并通过从该样本推断来得出结论。然而,在实践中,只有样本数据可用,因此 bootstrapping 是一种对可用数据进行推断的可行方法。

Bootstrapping 统计量是如何工作的?

bootstrap 方法涉及抽取特定大小的数据样本。从总体中获得 n,初始获得的样本称为 S。因此,而不是像在均值估计的情况下那样基于所有可能的输出建立理论分布,而是通过从 S 中进行 m 次有放回抽样来创建抽样分布。每个重采样集包含 n 个观测值。如果组成了一个代表性样本总体;因此,通过对 S 进行 m 次重采样,它复制了从研究的原始总体中抽取 m 个样本的机会。从这些重采样集中获得的估计值接近使用其他传统方法计算出的真实分布。

因此,增加重复样本的数量会增加测量精度,从而减小数据中的散布。当然,当 m 改进了抽样分布的估计时,这是一个好处,但它并没有在数据中增加更多固有的信息。这是因为每个样本大小的信息含量本质上在于抽样的目标,而这对于研究总体 n 的所有重复样本来说是恒定的。因此,例如,将原始数据集重采样 100,000 次的策略比重采样 1,000 次所提供的更多信息要少。第一个是,有了更多的重复样本,抽样分布估计的精度会显着提高。

Bootstrap 方法

由 Frederick Mosteller 和 John Tukey 于 1968 年提出,Bootstrapping 或 Bootstrap 方法是通过样本估计总体参数的过程。

Bootstrap 方法,或 Bootstrapping,是一种统计技术,用于通过使用较小数字的比例比来估计总体参数。这些是较小的样本,它们是通过 successive occasions 从大型数据集中进行抽样得出的,每次在抽取下一个样本之前,都会将抽样的观测值放回数据集中。这种类型的抽样称为简单随机抽样(有放回),因为任何选定的观测值都可以在最终的较小样本中出现一次以上。

创建 bootstrap 样本的过程可以总结如下

  1. 选择样本大小:决定您打算生成的样本大小。
  2. 随机选择观测值:如果上述选定的样本大小小于原始数据集,则从数据集中随机抽样。
  3. 将观测值添加到样本中:将选定的观测值合并到您的 bootstrap 样本中。特别是,由于这种有放回抽样,特定的观测值可能会被选择多次。

Bootstrapping 在估计总体参数时很有用,例如丰度,其中对大型总体进行多次抽样以形成大量小型样本,然后计算每个样本的统计量,最后将计算出的统计量取平均值。

bootstrapping 程序可概述如下

  1. 选择 Bootstrap 样本的数量:在 BootstrapBootstrap 中,您需要决定要取的样本数量。
  2. 选择样本大小:在模型中,确定每个 Bootstrap 样本的大小。
  3. 抽取有放回样本:对于 Bootstrap,对于每个 bootstrap 样本,必须从原始数据集中抽取给定大小的随机样本(有放回)。
  4. 计算统计量:所有必需的统计量都应为每个 bootstrap 样本计算。
  5. 平均统计量:计算所取 bootstrap 样本数量的计算统计量的均值,以近似总体参数。

Bootstrap 方法在评估结果的稳定性和可靠性方面也非常有效。Bootstrap 在尝试估计许多问题的真实置信区间时非常有用,但实际上,它还渐进地优于基于样本方差和正态性假设的常规区间。

使用 bootstrap 方法创建的样本示例

现在,让我们看看如何获取 bootstrap 样本,然后利用它们来估计感兴趣的统计量。

示例

假设我们有一个包含 6 个观测值的小型数据集

原始数据:2、4、6、8、10、12

步骤 1:首先,需要使用 Bootstrap 和有放回方法创建样本。

所以,我们将通过从我们拥有的原始数据中进行简单随机抽样来生成三个大小为六的 bootstrap 样本。

在这种情况下,每个 bootstrap 样本将包含与初始数据集相同数量的数据点。

Bootstrap 样本 1:6、8、2、10、12、8

Bootstrap 样本 2:4、6、4、2、10、12

Bootstrap 样本 3:12、2、8、8、6、2

步骤 2:这涉及计算感兴趣的统计量,这里是每个 bootstrap 样本的均值。

Bootstrap 样本 1 均值:将数字 6 + 8 + 2 + 10 + 12 + 8 相加,求其均值,我们除以加数的数量,等于 (6 + 8 + 2 + 10 + 12 + 8)/6 = 7. 67

Bootstrap 样本 2 均值:所有数字的和是 (4 + 6 + 4 + 2 + 10 + 12)/6 = 6. 33

Bootstrap 样本 3 均值:(12 + 2 + 8 + 8 + 6 + 2) / 6 = 6. 33

步骤 3:大量执行步骤 1 和 2(例如,一万次)。

因此,如果重复创建 bootstrap 样本的过程并依次计算每个样本的均值,则可以构建均值的经验抽样分布。

步骤 4:计算 s 或使用经验抽样分布构建置信区间或进行假设检验

例如,在需要建立均值的 95% 置信区间的情况下,会遇到均值经验抽样分布的第 2.5 个和第 97.5 个百分位数。

假设第 2.5 个百分位数是 5.5,第 97.5 个百分位数是 8.0。

因此,均值的近似 95% 置信区间也将是 5.5 和 8.0。

总结

对于 bootstrapping,生成的每个数据样本都与原始样本进行比较,并为每个 bootstrap 样本计算均值。如果这个过程以随机样本的形式重复进行多次,您将获得均值的“经验”抽样分布,可用于构建置信区间,甚至使用样本数据进行假设检验,而无需总体分布具有特定的数学形状。

在计算置信区间时使用 Bootstrapping 的示例

场景

假设我们有一个小型数据集,代表 8 个个体的体重(磅)

体重 = 150.2, 152.5, 155.8, 160.3, 162.7, 165.1, 168.9, 172.4

研究旨在应用 bootstrapping 技术来找出估计总体平均体重的 95% 置信区间。

步骤 1:计算样本均值:在第一步中,从原始数据中找出样本均值

样本均值 = Σ xi / n = (150. 2+152. 5+155. 8+160. 3+162. 7+165. 1+168. 9+172. 4) / 8 = 150. 98 磅

步骤 2:生成 Bootstrap 样本:使用原始大量数据,通过有放回抽样获得大量 bootstrap 样本。例如,我们 bootstrap 5,000 个样本,每次获得 8 个体重数据。

步骤 3:计算每个 Bootstrap 样本的均值:同样,对于 5,000 个 bootstrap 样本中的每一个,使用以下说明计算平均体重。

步骤 4:确定 95% 置信区间:计算完所有 bootstrap 样本的均值后,您将拥有一个经验 bootstrap 抽样分布的均值。为了获得 95% 置信区间,确定该分布的第 2.5 个和第 97.5 个百分位数。

假设第 2.5 个百分位数是 157. 4 磅,第 97.5 个百分位数是 164. 6 磅。

结论

此 bootstrap 置信区间意味着,如果我们使用样本量为 8 的样本进行多次抽样并构建 bootstrap 置信区间,那么这些区间中的 95% 将包含真实的总体平均体重。在此处进行 bootstrapping 的好处是,不对总体体重作为“真实”分布做任何假设——只使用实际样本数据。

Bootstrap 方法与传统假设检验的比较

传统假设检验引导(Bootstrapping)
大多数假设的传统方法基于似然分布(例如,正态分布);它对总体集中趋势和变异性度量进行了假设。在重采样技术的库中,bootstrapping 不假设任何特定的样本概率分布。它涉及使用原始统计数据的重采样来近似统计量的抽样分布。
在传统的假设检验中,抽样分布是通过使用关于总体的某些假设的理论概率分布(例如,t 分布、F 分布等)来计算的。在 bootstrapping 中,抽样分布是通过使用从原始数据中进行简单随机抽样的 bootstrap 程序来创建大量 bootstrap 样本来获得的。
它可能受到传统假设检验的假设违反的影响(例如,即使分布不是正态或同方差)。与其他方法相比,bootstrapping 对违背的假设不那么敏感,可用于更一般的分布和更复杂的模型。
传统假设检验导致计算的 p 值和置信区间依赖于用户易于理解的理论分布。Bootstrapping 提供基于抽样分布经验分布的置信区间和假设检验,这对于某些用户来说可能不那么直观。

置信区间

置信区间是包含未知总体参数(例如,均值、比例和回归系数)的值的范围。它基于样本,设计方式是包含真实总体参数的概率已知。

置信水平(最常以百分比形式给出)与显著性水平配对,显著性水平反映了导致置信区间不包含真实总体参数的抽样误差的概率。例如,95% 置信区间意味着,如果使用来自同一总体的不同样本重复计算该区间,则 95% 的此类区间将包含真实参数。

置信区间的宽度表示样本估计值的精度程度或涉及的误差量。与 y 的重叠很少的真实值范围 φ 表示较高的精度结果,而与 y 重叠明显的值范围 φ 表明不确定性较高。我们这样做是因为,最后,我们将剩余的 10% 百分比分成两半,以便覆盖所有 bootstrap 样本均值的中间 90%。

Bootstrap 方法的优点

  1. 非参数性质:与上述常规重采样一样,Bootstrap 不需要基础数据存在特定分布,这就是为什么我们能够将其用于复杂且未知分布的情况,并应用相当灵活且相当稳定的统计分析方法。
  2. 通用性:时间序列分解可以用于任何类型的统计量,从均值、中位数、方差到回归系数。这种灵活性适用于各种数据形式,包括连续数据、离散数据和分类数据。
  3. 小样本精度:其他方法在小样本量下可能不够准确,例如 [10] [4]:Bootstrap 通过在分析中包含比原始数据通过多重样本复制衍生的样本更多的样本来减少方差。
  4. 实现简单:因此,Bootstrap 方法在遇到当前计算设备时很容易进行。它不像“手动”方法那样快,需要重新采样多次,但编码这种方法很简单,可以由各种研究人员和分析师实现。
  5. 内部验证:因此,确保了模型的内部验证,并且仅使用一个数据集,这使得模型更加可靠,同时使用重采样的数据集来检查模型的稳定性。
  6. 置信区间估计:这意味着 Bootstrap 方法可用于构建不同统计量的置信区间,从而帮助用户更好地了解估计值的准确性和精度,从而协助决策和假设检验过程。
  7. 处理复杂数据结构:这种类型的数据结构,如时间序列或树状结构,可以由模式容纳,这与该方法在各个领域的通用性一致。

Bootstrapping 方法的局限性

  1. 耗时:Bootstrapping 通过创建数千个模拟样本来完成,可能需要很长时间才能正确执行。
  2. 计算密集:由于需要大量样本,bootstrapping 在计算设备和时间方面成本很高。
  3. 有时不兼容: bootstrapping 技术无法适用的情况是,底层假设可能不适用于空间数据或时间序列,例如。
  4. 易产生偏差:一种可能性是该方法未能完全考虑分布方面的变化;因此,可能存在准确性和偏差方面的妥协。

Bootstrap 方法的一些用途

  1. 在假设检验中:要使用 bootstrap 方法,我们将遵循以下步骤:Bootstrap、假设检验和重采样。Bootstrap 在假设检验方面非常有用。它的灵活性在于它有可能通过替换技术评估给定数据集的准确性,这在几乎所有其他方法中都不可能。
  2. 在标准误差估计中: Bootstrap 方法用于通过诉诸替换方法来计算给定数据集的标准误差。因此,标准误差(SE)可以表示为估计统计数据集的标准方差的标准程序。
  3. 在机器学习中:为此,在机器学习的背景下,bootstrapping 与其在统计领域的表示略有不同。它用于为训练机器学习模型生成 bootstrap 样本;剩余的数据用于模型评估。
  4. 在 Bootstrap Aggregation (Bagging) 中:Bagging 是一种在机器学习中使用的技术,它将聚合技术与 Bootstrap 一起使用,以提高模型的准确性和前景。

Bootstrap 方法在各个领域的应用

经济学

  • 时间序列分析:当然,经济预测中的时间序列模型通常需要平稳性或正态性假设,而这些假设可能并非总是有效。Bootstrapping 能够为时间序列模型提供预测区间,并且不需要指定分布;因此,适用于正常方法无效的波动性经济状况。
  • 政策影响评估:在估计处理效应时,尤其是在样本量较小或数据多样化的情况下,bootstrapping 在检查经济政策估计效应的稳定性方面非常有用。这使得决策者可以轻松评估他们即将推出的干预措施的可能影响。

医学

  • 生存分析:在治疗效果研究中,bootstrapping 用于在样本量小且事件发生时间有审查的情况下,推导总生存率和比例风险比。这有助于为例如患者生存率或治疗效果创建更窄的置信区间。
  • 诊断测试评估:bootstrap 被医学研究人员用作评估诊断测试(如敏感性、特异性、ROC 曲线)的方法,尤其是在样本量较小的情况下。这使得无需将数据标记为特定分布即可形成对测试性能的更强的假设。

融资

  • 风险管理:在金融领域,bootstrapping 用于估计风险价值 (VaR) 和预期短缺 (ES),这两个是衡量市场风险的关键指标。由于金融回报已被发现是非正态分布的,Bootstrap 方法将能够为这些风险度量构建更好的置信区间。
  • 资产定价模型:金融领域的另一个应用是在金融分析领域,用于检查资产定价模型(如 CAPM 或 Fama-French 三因素模型)的效率。通过 bootstrapping 历史回报,他们可以检查大部分因子分析的可靠性,并推断预期的回报,尽管是非正态分布的。

环境科学

  • 气候建模:在环境科学中,bootstrapping 应用于估计气候模型和气候预测的不确定性。例如,在研究气候变化对海平面或温度变化的影响时,Bootstrap 方法可用于估计模型结果的散布并提高结果的可靠性。

社会科学

  • 调查数据分析:社会科学家也经常利用 bootstrapping 来研究调查数据,尤其是在处理复杂的抽样结构或人口样本量小的问题时。Bootstrapping 在以下情况下特别有用:对于调查统计量(如均值、中位数或回归系数等)而言,由于样本的原因,难以估计置信区间。

市场营销和商业分析

  • 客户生命周期价值 (CLV) 估计:它应用于营销,用于推导客户生命周期价值 (CLV) 的置信区间,而潜在的购买模式是未知的。这使得企业更容易估计 CLV 的变异性,以便做出明智的决策。
  • A/B 测试:Bootstrapping 应用于检查 A/B 测试的结果,这些测试通常在样本量较低或数据分布不适合进行常规统计测试时进行。对数据的重采样允许营销人员更好地估计变体性能差异。

在这些领域应用 Bootstrap 方法时,研究人员/分析师可以更确定地处理他们的数据,尤其是在其他参数方法无法使用或不适用时。

结论

Bootstrap 方法是一种通用的统计程序,用于定义统计量的抽样分布,当难以或不可能找到发生率的数学概率时。它可用于通过从实际观察到的数据集中进行有放回的重采样来估计参数、置信区间和假设。因此,当无法满足传统参数假设或未知时,此方法特别有用,并且对于数据配置具有通用性。由于其计算性质和潜在的偏差(由于其非参数功能),Bootstrap 方法在统计学、机器学习和时间序列分析等复杂的科学领域同样有用。

它通过能够对模型进行内部验证并适应不同类型的数据来提高实用性;当我们需要在没有严格模型假设的情况下进行可靠的统计推断时,它非常方便。至于缺点,该方法由于其所需的计算次数可能被认为相当耗时;然而,通过提高所提供估计值的准确性和精度,与许多传统解决方案相比,该方法确实是一种更有效的方法,这些传统解决方案在可以从现有数据集中提取的数据洞察量方面存在相当多的限制。