一般来说,bootstrap的程序很好理解。例如如果我们有大小为10的样本集S,我们可以计算样本均值。假如我们对这个均值估计的性质感兴趣,比如这个均值估计会有多大的方差,我们可以用bootstrap方法来获得估计。具体来说,我们多次对样本集进行有放回再抽样获得一系列的大小相同的resample样本集,用它来进行推断。 但是这里从样本集中进行再抽样到底是什么含义却需要仔细思考。
标题中的两个词通常并不区分,但是有必要梳理一遍。
首先强调bootstrap的本质:
使用经验分布函数(EDF)代替未知的理论分布函数(TDF)。
你可能会问为何要做这种代替,原因很简单,因为背后的理论分布函数我们不知道。假如我们知道样本背后的理论分布是什么(例如为 N(0,1) ),我们就可以通过对这个 N(0,1) 进行不断抽样获得一系列的大小为10的样本集,来研究样本均值的分布。但是在实际中我们不知道这个总体是什么分布,所以我们可以使用经验分布函数(EDF)代替未知的理论分布函数(TDF)。这个EDF是个阶梯函数,假设样本集大小为n,EDF对每个样本点赋予概率 1/n 。Bootstrap的思路就是用这个经验分布EDF代替未知的理论分布TDF。
还是回到那个问题:对大小为n的样本集 S ,它有均值
我们考虑四种情况:
1 知道理论分布,进行理论推导:
假如我们知道理论分布是 N(0,1) , 样本集S大小为n,数理统计的结论, X¯¯¯ 的分布为N(0,1/n)。2 知道理论分布,进行Monte Carlo(MC)模拟:
假如我们知道理论分布,但是用数学分析手段困难,我们可以直接从这个分布中抽样来研究样本均值的分布。3 不知道理论分布,通过经验分布EDF替代,进行理论推导
4 不知道理论分布,通过经验分布EDF替代,进行MC模拟
通常我们说的bootstrap是上面第4种情况。但是第3种情况也需要说明一下。我们首先解释第3种情况。
假如我们对 X¯¯¯ 感兴趣,假设我们手头只有一个样本集S: x1,x2,...,xn 。
按照bootstrap的思路,我们可以用样本S对应的EDF来代替X的分布。记住,这个经验分布EDF就是对S中每个样本点赋予概率 1n 。
在EDF的假设之下,我们将随机变量X记为 X∗ ,将 X¯¯¯ 记为 X