Bootstrap vs蒙特卡洛,误差估计


12

我正在阅读《地球化学计算中的蒙特卡洛方法的误差传播》一书,安德森(Anderson,1976年),有些事情我不太了解。

考虑一些测量数据和程序,其处理它,并返回一个给定值。在本文中,此程序用于首先使用数据手段(即)获得最佳值{A±σA,B±σB,C±σC}{A,B,C}

然后,作者使用蒙特卡洛方法,通过在不确定性范围内改变输入参数(由均值和标准偏差给出的高斯分布来确定),将不确定性分配给该最佳值。),然后再将其提供给程序。如下图所示:{A,B,C}{σA,σB,σC}

在此处输入图片说明

版权:ScienceDirect

可以从最终的分布中获得不确定性。Z

如果我应用了bootstrap方法而不是Monte Carlo方法,将会发生什么情况?像这样:

在此处输入图片说明

这是:我不是在不确定性范围内更改数据,而是先将它们替换为样本,然后再将其提供给程序。

在这种情况下,这两种方法有什么区别?应用任何警告之前,我应该注意哪些注意事项?


我知道这个问题,蒙特卡洛(Bootstrap)引导程序,但是它并不能完全解决我的疑问,因为在这种情况下,数据包含分配的不确定性。


只是为了澄清:MC方法中的“随机变化”是研究人员随机生成的吗?也就是说,噪声/错误是否被人为地添加到输入数据中?
shadowtalker

它是根据测量数据的不确定性(即)“随机生成”的,并假定这些误差具有一定的分布(通常是高斯分布)。所以不,错误不是人为添加的。输入数据具有测量过程给出的相关误差。σ
加百利

我不明白。那是人为噪声,但是从数据中估计出标准差
shadowtalker

那我可能不明白什么是“人为噪声”(以及什么构成“非人为噪声”)。你看过这篇文章吗?当然,这比我解释的要好得多。
加百利

自然噪声:我的数据中的随机变化。人为噪声:用随机数生成器,从概率分布得出的数字,以及将这些号码我的数据
shadowtalker

Answers:


7

据我了解您的问题,“蒙特卡洛”方法和自举方法之间的区别本质上是参数统计和非参数统计之间的区别。

在参数框架中,您确切地知道了数据的生成方式,也就是说,给定模型的参数(在您的描述中为,,&tc。),您可以生成此类数据集的新实现,并从中获得您对统计程序(或“输出”)的新认识。因此,可以通过数学推导或通过蒙特卡洛实验从该分布返回任意大小的样本来完全准确地描述输出的概率分布。σ žx1,,xNAσAZ

在非参数框架,一个不希望对数据这样的假设,因此使用数据,只有数据来估算其分布,。引导程序是这样一种方法,即通过在样本的每个点上将概率权重设置为(在最简单的情况下,当数据为id时)通过经验分布估计未知分布。使用这种经验分布代替真实分布,可以通过蒙特卡洛模拟得出输出的估计分布。˚F 1 / Ñ ˚F ˚F žFF^1/nF^FZ

因此,这两种方法之间的主要区别在于,是否对数据分布做出了这一参数假设。


2
大约两年后,我知道这是最好的答案,因为它明确提到了参数化和非参数化方法之间的区别(那时我还不知道),因此,我正在将公认的答案更改为此。
加百利

但是对于准方法,也可以使用参数引导程序,对吗?
Tom Wenseleers

12

蒙特卡洛模型中的随机变化由钟形曲线表示,并且计算可能假定正态分布的“误差”或“变化”。至少,您的计算机需要一些关于从中得出“变化”的分布的假设。自举并不一定要做出这样的假设。它以观察值作为观察值,并且如果它们的误差不是对称分布的,那么它将以这种方式进入模型。

自举来自观察,因此需要大量真实的观察。如果您读一本书,则C的平均值为5,标准偏差为1,即使您没有观察依据,也可以设置Monte Carlo Modell。如果您的观测值稀少(认为:天文学),则可以使用6个观测值和一些关于它们分布的假设来建立蒙特卡洛模型,但是您不会从6个观测值中进行引导。

混合模型可能具有一些输入,这些输入是从观察到的数据中提取的,而某些是从模拟(假设的)数据中提取的。

编辑: 在下面的评论讨论中,原始发布者发现以下帮助:

“原始程序”并不关心它是否获得一个值,该值是您根据均值和偏差计算得出的,或者是自然过程中均值和偏差的真实实现。


1
谢谢您的回答Bernhard!我想到了几个问题。1.我是否正确理解这两种方法之间的唯一(主要?)差异是MC需要假设不确定性的分布,而引导程序则不需要?2.如果我有足够大的数据集,并且执行了多次迭代(),那么这两种方法是否可以收敛于分配给最佳值的估计不确定性?3.我是否没有通过不使用引导方法中分配给输入数据的不确定性来丢弃有价值的数据?N
加百利

1
我在统计学/机器学习方面是自学成才的,因此我不会声称我提到的任何差异是唯一的差异。我什至不确定Bootstrapping是否本身就是Monte Carlo方法。两种算法都模拟了大量现实情况。您可以从假设或观察中得出输入。我的领域是医学,而那个领域的假设众所周知是错误的。因此,只要有足够大的数量,我就会尝试观察。很可能是在更接近物理或化学的领域,...
Bernhard

1
...在更接近物理或化学的领域,假设更可靠。关于第2点:如果我假设有足够大的样本和迭代,您会发现真实数据永远不会真正地呈正态分布,并且您的假设总是有点错误,但是我不能要求任何知识。关于第3点:我不了解您在引导方法中丢弃有价值的数据的意思。“分配不确定性”是人为的,数据来自现实。同样,这是我基于自己领域的信念。实际上,您很少会有好的理论和大数据
Bernhard

1
通过丢弃有价值的数据,我的意思是引导程序方法不使用分配给数据的不确定性(即)。这是MC方法考虑到的信息,但引导程序却丢弃了。σA,σB,σC
加百利

1
每个观测值都是一个测量值,因此已经包含了它自己的测量误差和不确定性。“原始程序”并不关心它是否获得一个值,该值是您根据均值和偏差计算得出的,或者是自然过程中均值和偏差的真实实现。但是,当然,所有重采样技术都依赖于大数据,您可以计算任意数或随机数,但通常不能进行任意数量的观察。因此,在您有大量观察结果的情况下,我看不到数据被丢弃的地方。
伯恩哈德

1

如果将输出Z与输入相关的函数是合理的线性关系(即在输入的变化范围内),则Z的方差是输入的方差和协方差的组合。分布的细节并不重要...因此,两种方法都应返回相似的结果。

口香糖补编1


当函数不是合理线性时会发生什么?那么这两种方法有何不同?
加百利

在这种情况下,您应该参考Bernhard的上述答案。也就是说,为了使它们重合,您应该对Monte Carlo的pdf数据有一个忠实的描述。
帕斯卡

0

Bootstrap意味着让数据说明一切。使用蒙特卡洛方法,您可以通过均匀分布从施加的CDF(正态,伽玛,β...)中抽取许多随机抽取,并创建经验PDF(前提是CDF是连续且可导出的)。有关整个蒙特卡洛过程的有趣解释,报告于:Briggs A,Schulper M,ClaxtonK。卫生经济评估的决策模型。牛津:牛津大学出版社,2006:93-95。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.