文章目录

  • Part.I Introduction
    • Chap.I bootstrap 方法简介
    • Chap.II 预备知识
  • Part.II 非参数 bootstrap 方法
    • Chap.I 估计量标准误差的bootstrap估计
    • Chap.II bootstrap 置信区间
    • Chap.III bootstrap-t 法
    • Chap.IV 一个实例
  • Part.III 参数 bootstrap 方法
    • Chap.I 一个实例

Part.I Introduction

因为课时限制,之前本科的《概率论与数理统计》好像没有学到这里,但是因为后来用到了,参考浙大的课本做点笔记。


Chap.I bootstrap 方法简介

bootstrap方法是Efron在20世纪70年代后期建立的。这一方法可以用于当人们对总体知之甚少的情况,它是近代统计中的一种用于数据处理的重要实用方法。这种方法的实现需要在计算机上作大量的计算,随着计算机威力的增长,它已成为一种流行的方法。

前提:设 x = ( x 1 , x 2 , ⋯ , x n ) \mathbf x=(x_1,x_2,\cdots,x_n) x=(x1​,x2​,⋯,xn​) 是来自分布函数为 F F F 的总体的样本。 R ( x ) R(x) R(x) 是 x x x 的函数, F n F_n Fn​ 是相应的经验分布函数。我们感兴趣的是 R ( x ) R(x) R(x) 的某些特征,比如均值或中位数等。

bootstrap 方法根据对分布函数的掌握程度分为

  • 非参数 bootstrap 方法:总体的分布函数 F F F 未知;先利用已知的经验分布函数 F n F_n Fn​ 代替 F F F,在 F n F_n Fn​ 中抽样,得到数据样本 x ∗ x^* x∗,然后计算 R ( x ∗ ) R(x^*) R(x∗) 的均值或中位数,作为所需求的均值或中位数的 bootstrap 估计。
  • 参数 bootstrap 方法:总体的分布函数 F ( x ; β ) F(x;\beta) F(x;β) 形式已知,参数 β \beta β 未知;先利用样本 x x x 求出 β \beta β 的最大似然估计 β ^ \hat \beta β^​,以 F ( x ; β ^ ) F(x;\hat \beta) F(x;β^​) 代替 F F F,在 F ( x ; β ^ ) F(x;\hat \beta) F(x;β^​) 中抽样得到数据样本 x ∗ x^* x∗,然后计算 R ( x ∗ ) R(x^*) R(x∗) 的均值或中位数,作为所需求的均值或中位数的 bootstrap 估计。

Chap.II 预备知识

枢轴量 pivotal quantity

概括的说,统计量本身完全是样本的函数,自身不包含任何未知参数(样本一旦确定,统计量的值也就定下来了),但是其分布却往往包含未知参数;枢轴量恰恰相反,枢轴量本身就包含总体中的未知参数,但是其分布的形式一般是确定的,不包含未知参数。

定义:设总体 X X X 有概率密度(或分布律) f ( x ; θ ) f(x;\theta) f(x;θ),其中 θ \theta θ 是待估的未知参数。设 X 1 , ⋯ , X n X_1,\cdots,X_n X1​,⋯,Xn​ 是一个样本,记 G = G ( X 1 , X 2 , ⋯ , X n ; θ ) G=G(X_1,X_2,\cdots,X_n;\theta) G=G(X1​,X2​,⋯,Xn​;θ) 为样本和待估参数 θ \theta θ 的函数,如果 G G G 的分布已知,不依赖与任何参数,就称 G G G 为枢轴量。

由上述定义可以看出枢轴量的几个特点:

  • 与某个待估参数有关(事实上枢轴量法主要被用于未知参数的区间估计);
  • 本身含有未知参数(待估参数),因此不具有“可观察性”,也就是说即使选定了样本也无法计算出确定的值;
  • 其分布是明确的(有具体的数学公式,不包含未知参数)。

一个比较常见的例子:正态分布转换成标准正态分布时,随机变量中还是包含未知参数,但是其分布中却不包含任何未知参数。因此标准化之后的随机变量是一个枢轴量。

摘自:知乎@Belter昕


Part.II 非参数 bootstrap 方法

设总体的分布 F F F 未知,但已经有一个容量为 n n n 的来自分布F的数据样本,自这一样本按放回抽样的方法抽取一个容量为 n n n 的样本,这种样本称为bootstrap样本或称为自助样本。相继地、独立地自原始样本中取很多个bootstrap样本,利用这些样本对总体 F F F 进行统计推断。这种方法称为非参数bootstrap方法,又称自助法

Chap.I 估计量标准误差的bootstrap估计

在估计总体未知参数 θ \theta θ 时,人们不但要给出 θ \theta θ 的估计值 θ ^ \hat\theta θ^,还需要指出这一估计 θ ^ \hat\theta θ^ 的精度。通常我们用估计量 θ ^ \hat\theta θ^ 的标准差 D ( θ ^ ) \sqrt{D(\hat\theta)} D(θ^) ​ 来度量估计的精度。估计量 θ ^ \hat\theta θ^ 的标准差 σ θ ^ = D ( θ ^ ) \sigma_{\hat\theta}=\sqrt{D(\hat\theta)} σθ^​=D(θ^) ​ 也称为估计量 θ ^ \hat\theta θ^ 的标准误差

下面给出求 D ( θ ^ ) \sqrt{D(\hat\theta)} D(θ^) ​ 的 bootstrap 估计的步骤:

  • 自原始数据样本 x = ( x 1 , x 2 , ⋯ , x n ) \mathbf x=(x_1,x_2,\cdots,x_n) x=(x1​,x2​,⋯,xn​) 按放回抽样的方法,抽得容量为 n n n 的样本 x ∗ = ( x 1 ∗ , x 2 ∗ , ⋯ , x n ∗ ) \mathbf x^*=(x_1^*,x_2^*,\cdots,x_n^*) x∗=(x1∗​,x2∗​,⋯,xn∗​) (称为bootstrap样本);
  • 相继地、独立地模拟出 B B B 个( B ≥ 1000 B\ge 1000 B≥1000)容量为 n n n 的bootstrap样本, x ∗ i = ( x 1 ∗ i , x 2 ∗ i , ⋯ , x n ∗ i ) , i = 1 , 2 , ⋯ , B \mathbf x^{*i}=(x_1^{*i},x_2^{*i},\cdots,x_n^{*i}),i=1,2,\cdots,B x∗i=(x1∗i​,x2∗i​,⋯,xn∗i​),i=1,2,⋯,B,对于第 i i i 个bootstrap样本,计算 θ ^ i ∗ = θ ^ ( x 1 ∗ i , x 2 ∗ i , ⋯ , x n ∗ i ) , i = 1 , 2 , ⋯ , B \hat \theta^*_i=\hat \theta(x_1^{*i},x_2^{*i},\cdots,x_n^{*i}),i=1,2,\cdots,B θ^i∗​=θ^(x1∗i​,x2∗i​,⋯,xn∗i​),i=1,2,⋯,B ( θ ^ i ∗ \hat \theta^*_i θ^i∗​ 称为 θ \theta θ 的第 i i i 个 bootstrap 估计)
  • 计算 σ ^ θ ^ = 1 B − 1 ∑ i = 1 B ( θ ^ i ∗ − θ ∗ ‾ ) 2 \hat \sigma_{\hat \theta}=\sqrt{\frac{1}{B-1}\sum\limits_{i=1}^B(\hat \theta_i^*-\overline{\theta^*})^2} σ^θ^​=B−11​i=1∑B​(θ^i∗​−θ∗)2 ​,其中 θ ∗ ‾ = 1 B ∑ i = 1 B θ ∗ \overline{\theta^*}=\frac{1}{B}\sum\limits_{i=1}^B{\theta^*} θ∗=B1​i=1∑B​θ∗

值得注意的是,上面求的是估计量标准误差的bootstrap估计,相似地,对于我们感兴趣的任意随机变量 R = R ( X ) R=R(\mathbf X) R=R(X),我们希望去估计 R R R 的分布的某些特征,例如 R R R 的数学期望 E ( R ) E(R) E(R),就可以按照上面所说的三个步骤进行,只是在:
第二步中对于第 i i i 个bootstrap样本,计算 R i ∗ = R ( x 1 ∗ i , x 2 ∗ i , ⋯ , x n ∗ i ) , i = 1 , 2 , ⋯ , B R^*_i=R(x_1^{*i},x_2^{*i},\cdots,x_n^{*i}),i=1,2,\cdots,B Ri∗​=R(x1∗i​,x2∗i​,⋯,xn∗i​),i=1,2,⋯,B,代替计算 θ i ∗ \theta^*_i θi∗​
第三步中计算感兴趣的 R R R 的特征,例如我们希望估计 E ( R ) E(R) E(R) 就可以计算 E ( R ∗ ) = 1 B ∑ i = 1 B R i ∗ E(R^*)=\frac{1}{B}\sum\limits_{i=1}^B{R_i^*} E(R∗)=B1​i=1∑B​Ri∗​

Chap.II bootstrap 置信区间

设 X = ( X 1 , X 2 , ⋯ , X n ) \textbf{X}=(X_1,X_2,\cdots,X_n) X=(X1​,X2​,⋯,Xn​) 是来自总体 F F F 容量为 n n n 的样本, x = ( x 1 , x 2 , ⋯ , x n ) x=(x_1,x_2,\cdots,x_n) x=(x1​,x2​,⋯,xn​) 是一个已知的样本值。 F F F 中含有未知参数 θ \theta θ, θ ^ = θ ^ ( X 1 , X 2 , ⋯ , X n ) \hat \theta=\hat \theta(X_1,X_2,\cdots,X_n) θ^=θ^(X1​,X2​,⋯,Xn​) 是 θ \theta θ 的估计量,现在来求 θ \theta θ 的置信水平为 1 − α 1-\alpha 1−α 的置信区间。

相继地、独立地从样本 x = ( x 1 , x 2 , ⋯ , x n ) \mathbf x=(x_1,x_2,\cdots,x_n) x=(x1​,x2​,⋯,xn​) 中抽出 B B B 个容量为 n n n 的bootstrap 样本,对于每个 bootstrap 样本求出 θ \theta θ 的bootstrap 估计: θ ^ 1 ∗ , θ ^ 2 ∗ , ⋯ , θ ^ B ∗ \hat \theta_1^*,\hat \theta_2^*,\cdots,\hat \theta_B^* θ^1∗​,θ^2∗​,⋯,θ^B∗​,将它们自小到大排序得到 θ ^ ( 1 ) ∗ , θ ^ ( 2 ) ∗ , ⋯ , θ ^ ( B ) ∗ \hat \theta_{(1)}^*,\hat \theta_{(2)}^*,\cdots,\hat \theta_{(B)}^* θ^(1)∗​,θ^(2)∗​,⋯,θ^(B)∗​。取 R ( X ) = θ R(\mathbf{X})=\theta R(X)=θ,用相应的 R ( X ∗ ) = θ ^ ∗ R(\mathbf{X^*})=\hat\theta^* R(X∗)=θ^∗ 的分布作为 R ( X ) R(\mathbf{X}) R(X) 的分布的近似,求出 R ( X ∗ ) R(\mathbf{X^*}) R(X∗) 的分布的近似分位数 θ ^ α / 2 ∗ \hat\theta^*_{\alpha/2} θ^α/2∗​ 和 θ ^ 1 − α / 2 ∗ \hat\theta^*_{1-\alpha/2} θ^1−α/2∗​ 使
P { θ ^ α / 2 ∗ < θ ^ ∗ < θ ^ 1 − α / 2 ∗ } = 1 − α P\{\hat\theta^*_{\alpha/2}<\hat\theta^*<\hat\theta^*_{1-\alpha/2} \}=1-\alpha P{θ^α/2∗​<θ^∗<θ^1−α/2∗​}=1−α
于是近似地有
P { θ ^ α / 2 ∗ < θ < θ ^ 1 − α / 2 ∗ } = 1 − α (1.5) P\{\hat\theta^*_{\alpha/2}<\theta<\hat\theta^*_{1-\alpha/2} \}=1-\alpha\tag{1.5} P{θ^α/2∗​<θ<θ^1−α/2∗​}=1−α(1.5)
记 k 1 = [ B × α 2 ] , k 2 = [ B × ( 1 − α 2 ) ] k_1=[B\times\frac{\alpha}{2}],k_2=[B\times(1-\frac{\alpha}{2})] k1​=[B×2α​],k2​=[B×(1−2α​)],在式(1.5)中以 θ ^ ( k 1 ) ∗ \hat\theta^*_{(k_1)} θ^(k1​)∗​ 和 θ ^ ( k 2 ) ∗ \hat\theta^*_{(k_2)} θ^(k2​)∗​ 分别作为分位数 θ ^ α / 2 ∗ \hat\theta^*_{\alpha/2} θ^α/2∗​ 和 θ ^ 1 − α / 2 ∗ \hat\theta^*_{1-\alpha/2} θ^1−α/2∗​ 的估计,得到近似等式
P { θ ^ ( k 1 ) ∗ < θ < θ ^ ( k 2 ) ∗ } = 1 − α (1.6) P\{\hat\theta^*_{(k_1)}<\theta<\hat\theta^*_{(k_2)} \}=1-\alpha\tag{1.6} P{θ^(k1​)∗​<θ<θ^(k2​)∗​}=1−α(1.6)
于是由上式就得到 θ \theta θ 的置信水平为 1 − α 1-\alpha 1−α 的近似置信区间
( θ ( k 1 ) ∗ , θ ^ ( k 2 ) ∗ ) (1.7) (\theta^*_{(k_1)},\hat\theta^*_{(k_2)} )\tag{1.7} (θ(k1​)∗​,θ^(k2​)∗​)(1.7)
这一区间称为 θ \theta θ 的置信水平为 1 − α 1-\alpha 1−α 的 bootstrap 置信区间。这种求置信区间的方法称为分位数法

Chap.III bootstrap-t 法


Chap.IV 一个实例

Part.III 参数 bootstrap 方法

当所研究的总体的分布函数 F ( x ; β ) F(x;\beta) F(x;β) 的形式已知,但是其中包含未知参数 β \beta β( β \beta β可以是向量)。现在已知有一个来自 F ( x ; β ) F(x;\beta) F(x;β) 的样本 X 1 , X 2 , ⋯ , X n X_1,X_2,\cdots,X_n X1​,X2​,⋯,Xn​,利用这一样本求出 β \beta β 的最大似然估计 β ^ \hat\beta β^​。在 F ( x ; β ) F(x;\beta) F(x;β) 中以 β ^ \hat\beta β^​ 代替 β \beta β 得到 F ( x ; β ^ ) F(x;\hat\beta) F(x;β^​),接着在 F ( x ; β ^ ) F(x;\hat\beta) F(x;β^​) 中产生容量为 n n n 的样本 X 1 ∗ , X 2 ∗ , ⋯ , X n ∗ ∼ F ( x ; β ^ ) X_1^*,X_2^*,\cdots,X_n^*\sim F(x;\hat\beta) X1∗​,X2∗​,⋯,Xn∗​∼F(x;β^​)。这种样本可以产生很多个,就可以利用这些样本对总体进行统计推断,其做法与非参数bootstrap方法一样,这种方法称为参数bootstrap方法

Chap.I 一个实例


“手撕“ BootStrap 方法相关推荐

  1. 手撕设计模式之「工厂方法模式」(Java描述)

    前言 工厂方法模式是对简单工厂模式的改进,它通过对工厂类进行抽象形成一个抽象工厂接口,再让具体的工厂负责对应产品的创建,使得在增加产品的场景中也满足"开闭原则".希望通过本文的学习 ...

  2. 统计学中的Bootstrap方法(Bootstrap抽样)用来训练bagging算法,如果随机森林Random Forests

    统计学中的Bootstrap方法(Bootstrap抽样)用来训练bagging算法,如果随机森林Random Forests 提示:系列被面试官问的问题,我自己当时不会,所以下来自己复盘一下,认真学 ...

  3. 一文带你手撕metasploit中meterprter木马源码_雁不过衡阳

    前言 自从将CobaltStrike二开之后放在了GITHUB之后,有些人询问我当时MSF的源码级免杀怎么做的,今天决定带大家手撕metasploit中meterpreter源码. 生成meterpr ...

  4. 手撕代码之七大常用排序算法 | 附完整代码

    点击上方↑↑↑蓝字关注我们~ 「2019 Python开发者日」全日程揭晓,请扫码咨询 ↑↑↑ 0.导语 本节为手撕代码系列之第一弹,主要来手撕排序算法,主要包括以下几大排序算法: 直接插入排序 冒泡 ...

  5. 手撕面试题:多个线程交替打印问题

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 第一篇打算总结下阿里最喜欢问的多个线程顺序打印问题,我遇到 ...

  6. 手撕设计模式之「简单工厂模式」(Java描述)

    前言 利用简单工厂模式可以实现对象创建和业务逻辑处理的分离,但存在工厂类职责过重,增添新产品违背开闭原则等问题.它不属于GoF 23种设计模式之一,但是它可以作为学习工厂方法模式前的一个很好的引导. ...

  7. 手撕 CNN 经典网络之 VGGNet(PyTorch实战篇)

    大家好,我是红色石头! 在上一篇文章: 手撕 CNN 经典网络之 VGGNet(理论篇) 详细介绍了 VGGNet 的网络结构,今天我们将使用 PyTorch 来复现VGGNet网络,并用VGGNet ...

  8. 手撕 CNN 之 AlexNet(PyTorch 实战篇)

    大家好,我是红色石头! 在上一篇文章: 手撕 CNN 经典网络之 AlexNet(理论篇) 详细介绍了 AlexNet 的网络结构,今天我们将使用 PyTorch 来复现AlexNet网络,并用Ale ...

  9. 手撕 CNN 经典网络之 AlexNet(理论篇)

    大家好,我是红色石头! 第一个典型的CNN是LeNet5网络,而第一个大放异彩的CNN却是AlexNet.2012年在全球知名的图像识别竞赛 ILSVRC 中,AlexNet 横空出世,直接将错误率降 ...

最新文章

  1. Windows驱动开发-_驱动对象学习和内核处理字符串初步
  2. HTTP中request请求参数的设置
  3. 虚拟机磁盘模式的转换
  4. Git之常见的分支操作
  5. 监听是否到达页面滑动的可视区域最底部
  6. Redis基础知识详解(非原创)
  7. 计算机图形学-----齐次坐标、空间变换矩阵和通用的建模方法
  8. linux中逻辑块大小为,Linux 文件系统相关的基本概念
  9. android 编程w3c,w3cschool-编程学院
  10. 矩阵连乘问题C++实现
  11. PDCA循环管理全面解析(含操作指南、案例应用)
  12. android手机平板如何使用usb有线网卡
  13. 导航系统中里程计研究综述
  14. 世界品牌新500强揭晓 中国移动央视海尔入前百名
  15. python速成_速成python
  16. java设计模式学习-代理模式
  17. 家用路由器配置方法(精简版)
  18. 福利,架构师之路定制T恤
  19. C++判断两个链表是否相交算法
  20. 常见的弱口令爆破工具

热门文章

  1. 字符及字符串(数字串)输入输出字符串处理函数
  2. python 加权随机算法_python的random模块及加权随机算法的python实现方法
  3. 健身管理系统 -像微信一样简单的智能健身房管理系统
  4. myeclipse中光标突然变粗的解决方法
  5. 为什么hadoop没有slaves配置文件?
  6. HDU - 1431 素数回文 【素数打表】+【判断回文】
  7. 用遗传算法求解TSP问题
  8. 百度鹰眼轨迹和虎鲸数据平台之浅谈
  9. 1046错误mysql_数据库实例:如何解决mysql 1046错误
  10. 手把手教你ECSHOP去版权与标志