bootstrapping

  • motivation
  • implement
  • 方法一:来自数据科学课堂
  • 方法二:来自统计计算课件
  • 对于回归使用bootstrap
  • 简单线性回归:
  • empirical bootstrap
  • residual bootstrap


motivation

很多统计学的东西都是基于各种假设之下的,当我们不想对数据附加太强硬的情况下,仍然想知道这些数据的分布,此时便是这种方法的用武之地
(但个人还是不太懂这个动机,bootstrap难道没有假设吗,他的性质不需要假设就能证明吗?)

implement

个人目前了解到两种用法:
不过这只是两种用法,其内涵是一致的:

方法一:来自数据科学课堂

当我们已经具有一组从母体中抽取的n个样本时,对样本进行n次有放回的抽样,之后将所得的新样本求均值,所获得的均值视为一个从母体中重新抽取的样本;如此重复m次,则我们在没有重新抽取的情况下,获得了m个新样本

不过需要注意,我们是从样本中抽取的,本质上并没有获取任何新的信息
另外需要初始的真样本的数据足够好,不能太极端

(额但是,这种求均值的方法。。。根本取不到样本两侧的极端值啊。。不过老师也说过,这玩意儿作用有限,只是在样本数量不够的情况下用吧可能)

方法二:来自统计计算课件

这种方式是对于方法一的进阶:

当我们感兴趣的变量是由我们取得的这组样本计算而来的,比如均值?那这样其实可以看作我们只得到了一个样本而已,在没有任何假设的情况下,我们根本无法知道这个变量的分布
(也许我们可以将样本分成k组,重新计算,视为k个样本?不过感觉有点牵强,而且跟bootstrap挺类似的)

而此时如果运用bootstrap,则可以大概的了解这个变量的分布,如slides中的例子:

对于两个二项分布,我们想知道两个二项分布参数p1,p2的比值bootstrap重抽样 Python bootstrap重抽样怎么做_bootstrap的分布情况;同时我们分别获得了两组二项分布的n,m个数据
本来我们只能得到p1,p2的估计值,再用它们去比,只能得到一个样本,这时,使用bootstrap:
分别从n,m中不放回的抽样n,m次,用得到的新样本重新估计p1,p2,再求比值获得第二个bootstrap重抽样 Python bootstrap重抽样怎么做_bootstrap
如此反复,获得足够数量的bootstrap重抽样 Python bootstrap重抽样怎么做_bootstrap样本,用来做事情
(我觉得这种情况,分组,求比值,做n次,如果重新抽取的总次数是一致的话,两者的效用也许一致)

对于回归使用bootstrap

简单线性回归:

当我们感兴趣的变量是回归拟合出来的系数bootstrap重抽样 Python bootstrap重抽样怎么做_数据_04时,如若想获得bootstrap重抽样 Python bootstrap重抽样怎么做_数据_04的置信区间时,同时不进行强硬假设(高斯假设,好像是叫高斯假设吧,就那个假设噪声服从期望为0的高斯分布),我们可以使用bootstrap

empirical bootstrap

非常朴实无华的,从目前样本中抽取(协变量和响应变量成对抽取)

使用新抽取的样本重新进行拟合,获得新的回归系数bootstrap重抽样 Python bootstrap重抽样怎么做_python_06
重复若干次获取足够的样本,之后将样本排序,取得相应的需要的分位点

使用这个分位点进行置信区间的计算

residual bootstrap

当经验自助的样本中出现非常极端的数据时,我们无法排除其随机项之间的独立,此时可以使用该方法