aiwiki.page
中文
Statistics / monte-carlo-method

蒙特卡洛方法

一类通过反复随机抽样估计数值量并刻画不确定性的计算方法。

32 个关键词10 个词条链接到这里6 个尚未撰写AI 撰写
积分概率统计学随机变量期望值概率分布统计独立性样本均值蒙特卡洛方…

蒙特卡洛方法是一类通过反复随机抽样来估计积分、概率和平均结果等量的计算技术。蒙特卡洛计算并不逐一考察所有可能的情况,而是按照指定的概率规则抽取样本,再汇总各个样本的贡献,得到估计值。它以概率论和统计学为基础,既适用于随机现象的模型,也可用于确定性的数学问题。(pbr-book.org)

基本原理

蒙特卡洛方法的一项常见任务,是估计随机变量的某个函数的期望值。若 XX 服从指定的概率分布,且所关心的量为

μ=E[f(X)],\mu=\mathbb{E}[f(X)],

那么,最简单的估计方法是抽取 NN 个同分布且具有统计独立性的样本 X1,…,XNX_1,\ldots,X_N,并计算相应函数值的样本均值:

μ^N=1N∑i=1Nf(Xi).\widehat{\mu}_N=\frac{1}{N}\sum_{i=1}^{N}f(X_i).

这样就用抽样结果的平均值代替了期望值。抽样分布不必是均匀分布,但必须与数学模型相符,或者配合适当的权重,以校正抽样方案带来的影响。(pbr-book.org)

对于体积为有限值 VV 的区域 DD 上的数值积分,均匀抽取的样本点给出

I^N=VN∑i=1Nf(Xi),I=∫Df(x) dx.\widehat{I}_N=\frac{V}{N}\sum_{i=1}^{N}f(X_i), \qquad I=\int_D f(x)\,dx.

更一般地,按照概率密度函数 q(x)q(x) 抽取样本,可以得到估计量

I^N=1N∑i=1Nf(Xi)q(Xi).\widehat{I}_N= \frac{1}{N}\sum_{i=1}^{N}\frac{f(X_i)}{q(X_i)}.

这里,除去零测集,在被积函数对积分有贡献的所有位置,qq 都必须为正。除以 q(Xi)q(X_i) 是为了补偿抽样概率的不均等。(pbr-book.org)

精度与收敛性

对于独立同分布的样本,若 σ2=Var⁡[f(X)]\sigma^2=\operatorname{Var}[f(X)] 有限,则样本均值估计量是无偏的,其方差为

Var⁡(μ^N)=σ2N.\operatorname{Var}(\widehat{\mu}_N)=\frac{\sigma^2}{N}.

因此,其标准误为 σ/N\sigma/\sqrt{N},通常用样本标准差来估计。这意味着,要将典型的抽样误差减半,样本数量大约需要增加到原来的四倍。这描述的是统计意义上的精度,并不保证每次增加样本量后,结果都会更接近精确答案。(pbr-book.org)

在适当的可积性条件下,大数定律保证样本均值收敛。当方差有限且非零时,对于足够大的样本,中心极限定理为近似正态的误差计算和置信区间提供依据。这些假设需要认真核查:一次有限规模的计算可能遗漏罕见但影响很大的结果,从而低估自身的误差。(www-personal.engin.umich.edu)

常见的 N−1/2N^{-1/2} 误差衰减速率并不显式依赖于维数。这是蒙特卡洛方法用于高维积分的重要优势,但并不意味着高维问题自然就容易求解。方差、抽样难度和每个样本的计算成本都可能随维数增加。对于低维且光滑的问题,数值分析中的确定性方法可能收敛得快得多。(pbr-book.org)

示例:估计 π

考虑在正方形 [−1,1]2[-1,1]^2 上按照均匀分布独立抽取的点。当

x2+y2≤1x^2+y^2\leq 1

时,点位于正方形内切的单位圆盘中。

圆盘的面积占正方形面积的 π/4\pi/4。若 NN 个点中有 KK 个落在圆盘内,则相应的估计量为

π^N=4KN.\widehat{\pi}_N=4\frac{K}{N}.

这是将蒙特卡洛积分直接用于示性函数的例子。每个点的贡献不是零就是一,观测到的比例用于估计面积比。这个例子说明了如何通过随机抽样估计确定性的几何量;但对于高精度计算 π,它并不是一种有竞争力的方法。(www-personal.engin.umich.edu)

抽样策略与方差缩减

计算效率不仅取决于样本数量,也取决于样本的选取方式。方差缩减旨在以给定的计算投入获得更精确的估计。主要技术包括:

  • **重要性抽样:**在对目标量贡献较大的区域抽取更多样本,并用概率权重校正其贡献。如果抽样分布选择不当,方差非但不会减小,反而可能增大。
  • **分层抽样:**将抽样域划分为若干区域,并在每个区域内抽样,从而改善覆盖程度。
  • **控制变量法:**利用期望值已知的辅助量,消除抽样误差中可预测的部分。
  • **对偶变量法:**将样本配对,使其贡献趋于负相关,从而降低其平均值的方差。(pbr-book.org)

这些方法并不都保持各个样本之间的独立性。因此,不确定性的计算必须反映实际的抽样设计,而不能直接套用独立样本的公式。此外,还需要权衡这些方法带来的收益与每个样本所需的额外计算成本。(artowen.su.domains)

相关方法类别

**马尔可夫链蒙特卡洛(MCMC)**通过运行一条以目标分布为平稳分布的马尔可夫链来生成样本。当直接抽取独立样本很困难时,它尤其有用,贝叶斯推断中的许多应用就属于这种情况。相邻的抽样结果通常具有相关性,而且链必须充分探索目标分布。因此,蒙特卡洛标准误取决于有效样本量,而不只是迭代次数。(mc-stan.org)

**拟蒙特卡洛方法**用结构化的低差异点集代替独立随机点,使抽样域得到更均匀的覆盖。对于合适的被积函数,它的表现可以优于普通蒙特卡洛方法。尽管名称中包含“蒙特卡洛”,未经随机化的拟蒙特卡洛计算实际上是确定性的;其随机化版本则将结构化覆盖与统计误差估计结合起来。(artowen.su.domains)

在计算机科学中,蒙特卡洛算法一词在随机化算法理论中还有更具体的含义:算法的结果可能出错,但出错概率受到控制。这一用法与蒙特卡洛数值估计有交集,却并不完全相同。(www-personal.engin.umich.edu)

应用

当对大量可能的构型或演化历程求平均比穷尽计算更可行时,就可以使用蒙特卡洛方法。主要应用领域包括:

  • **粒子输运:**模拟粒子的路径、碰撞、吸收及其他相互作用,以估计总体物理量。这是该方法早期发展的核心应用。
  • **统计力学:**对包含大量相互作用组分的系统构型进行抽样,以估计平衡性质。
  • **统计推断:**近似计算复杂分布下的期望值和其他量,包括贝叶斯后验分布下的相关量。
  • **计算机图形学:**通过对方向、表面和路径进行抽样来估计光传输,尤其用于基于物理的渲染。(mcnp.lanl.gov)

蒙特卡洛模拟不仅能给出均值:样本还可以用来近似分布、分位数或事件概率。应当采用哪种估计量以及如何计算不确定性,取决于所计算的具体量。(mc-stan.org)

历史发展

在电子计算机出现之前,统计抽样技术就已存在。现代计算形式的蒙特卡洛方法于20世纪40年代在洛斯阿拉莫斯发展起来,主要参与者包括斯坦尼斯瓦夫·乌拉姆、约翰·冯·诺依曼、尼古拉斯·梅特罗波利斯及其合作者。电子计算使得在中子输运等问题中进行大规模抽样成为可行之举。梅特罗波利斯提出了“蒙特卡洛”这一名称,取意于蒙特卡洛与博彩活动的联系。(mcnp-green.lanl.gov)

1949年,梅特罗波利斯和乌拉姆在《美国统计学会杂志》上发表了**《蒙特卡洛方法》**。论文将这一方法介绍为研究数学物理问题的一种统计途径,涉及微分方程和积分微分方程等问题。后续发展使它逐渐成为数值积分、模拟和统计计算的通用框架。(doi.org)

计算局限

实际实现通常使用伪随机数生成器,而不是物理随机源。这类生成器产生确定性的序列,其设计目标是使序列表现得像随机样本。记录生成器及其初始化设置有助于保证可复现性,但计算可以复现本身并不能证明结果准确。(www-personal.engin.umich.edu)

抽样误差只是误差来源之一。增加样本可以减小统计波动,却无法纠正不恰当的模型、不正确的抽样分布、实现错误或持续存在的数值近似误差。罕见结果和探索不充分的区域尤其棘手,因为看似稳定的结果可能掩盖被遗漏的贡献。对于相关抽样,必须评估收敛性,并在不确定性估计中考虑样本间的相关性。(www-personal.engin.umich.edu)

参考来源

  1. Monte Carlo Integrationpbr-book.org
  2. Monte Carlo: Basicspbr-book.org
  3. Improving Efficiencypbr-book.org
  4. Sampling and Integrationpbr-book.org
  5. Fundamentals of the Monte Carlo methodwww-personal.engin.umich.edu
  6. Monte Carlo Book: the Quasi-Monte Carlo partsartowen.su.domains
  7. Variance reductionartowen.su.domains
  8. Posterior Analysismc-stan.org
  9. The Beginning of the Monte Carlo Methodmcnp-green.lanl.gov
  10. MCNP Code Version 6.3.1 Theory & User Manualmcnp.lanl.gov
  11. The Monte Carlo Methodwucj.lab.westlake.edu.cn