风马牛不相及,举个简单的例子(关于一个分布的平均值)来帮你理解bootstrap和Monte Carlo,
比如现在有一个分布F…
1. Bootstrap: 如果我无法知道F的确切分布,手上仅有一组从F中iid抽样的样本(X_1, …, X_n),我想检验“F的均值是否为0”。看起来这个不可能,因为我只有一个\bar{X}的点估计,而并不知道\bar{X}的分布。Bootstrap的魔术是现在我把(X_1, …, X_n)这个样本当做总体,从中(有放回地)重新抽样,重抽样样本大小仍为n,那么每一次重抽样就可以得到一个“样本均值”,不断地重抽样我就得到了一个\bar{X}的“分布”。这样接下来我就可以构造confidence interval并做检验了。
虽然实践中bootstrap的重抽样步骤都是用Monte Carlo方法来模拟重抽样样本统计量的分布,但是严格地说这个分布原则上可以精确计算。而如果待估统计量比较简单,bootstrap的结果有时甚至可以直接用(X_1, …, X_n)的某种统计量表示出来,从而并不需要真正地“重抽样”。当然实际应用中绝大多数时候重抽样分布的解析表达式都会太复杂,所以用模拟代替计算。
2. Monte Carlo: 如果我知道F的确切分布,现在想计算mean(F),但是F的形式太复杂(或者我这人太懒);另一方面我又知道如何从F中抽样,于是就抽一个样本出来,拿样本均值充数。
一般来说bootstrap干的事大都跟这个例子中干的事差不多,而Monte Carlo的应用要广泛和多元化得多了。
所以两者连“区别”都谈不上,就是两码事。
来源:知乎 www.zhihu.com
作者:Jack Diamond
【知乎日报】千万用户的选择,做朋友圈里的新鲜事分享大牛。
点击下载
此问题还有 9 个回答,查看全部。
延伸阅读:
谈深度数据分析师的统计学基础?
BI中的多维数据模型和OLAP的实用价值在哪?