起源与基本原理
蒙特卡洛方法始于1946年:洛斯阿拉莫斯实验室的数学家斯坦尼斯瓦夫·乌拉姆在养病时试图计算单人纸牌游戏的获胜概率。他想到,如果难以直接计算,不妨多玩几次并统计成功的比例。约翰·冯·诺依曼将这一思路用于中子扩散计算,尼古拉斯·梅特罗波利斯则以乌拉姆叔叔常去的赌场为其命名。第一篇论文由梅特罗波利斯与乌拉姆于1949年发表。经典示例是估算圆周率:在边长为1的正方形内随机撒点,落入四分之一圆内的比例乘以4便趋近π。样本越多平均值越接近真值,这要归功于大数定律。
精度与方差缩减
根据中心极限定理,蒙特卡洛估计的误差大致与样本量的平方根成反比。精度提高10倍需要100倍的样本,但这一收敛速度几乎与问题维度无关,因此在多变量的高维积分中优于基于网格的数值方法。为提高效率,人们使用重要性抽样、控制变量、分层抽样(与调查中的概率抽样原理相同)和拟蒙特卡洛等方差缩减技术。结果质量还取决于伪随机数生成器,松本真与西村拓士(1998)的梅森旋转算法被广泛采用。哈默斯利与汉兹科姆(1964)、罗伯特与卡塞拉(2004)以及欧文(2013)是代表性教材。
应用领域
梅特罗波利斯等(1953)的算法与黑斯廷斯(1970)的推广发展为MCMC,即利用马尔可夫链从复杂分布中抽样;自格尔芬德与史密斯(1990)以后,它成为贝叶斯统计的标准计算工具。埃夫隆(1979)的自助法通过重抽样评估估计量的不确定性,也属于蒙特卡洛方法。金融领域中,博伊尔(1977)将其引入期权定价,风险管理的情景分析亦广泛使用。物理学用它研究粒子输运与统计力学,计算机图形学用它进行路径追踪渲染。在人工智能中,源自科奇斯与塞派什瓦里(2006)UCT算法的蒙特卡洛树搜索,是西尔弗等(2016)AlphaGo的核心,也是人工智能搜索算法的重要分支。
常见问题
- 蒙特卡洛模拟总是准确的吗?
- 不是。其结果是概率性的近似值,误差取决于样本量、随机数质量与模型假设,因此通常会同时给出置信区间或标准误。
- 蒙特卡洛方法与MCMC有何区别?
- 普通蒙特卡洛直接抽取相互独立的样本,而MCMC针对难以直接抽样的分布,利用马尔可夫链依次生成相互依赖的样本。
来源核查日期:2026-10-26
参考文献
- Metropolis, N., & Ulam, S. (1949). The Monte Carlo method. Journal of the American Statistical Association, 44(247), 335–341.
- Metropolis, N., Rosenbluth, A. W., Rosenbluth, M. N., Teller, A. H., & Teller, E. (1953). Equation of state calculations by fast computing machines. Journal of Chemical Physics, 21(6), 1087–1092.
- Hastings, W. K. (1970). Monte Carlo sampling methods using Markov chains and their applications. Biometrika, 57(1), 97–109.
- Eckhardt, R. (1987). Stan Ulam, John von Neumann, and the Monte Carlo method. Los Alamos Science, 15, 131–137.
- Hammersley, J. M., & Handscomb, D. C. (1964). Monte Carlo Methods. London: Methuen.
- Boyle, P. P. (1977). Options: A Monte Carlo approach. Journal of Financial Economics, 4(3), 323–338.
- Efron, B. (1979). Bootstrap methods: Another look at the jackknife. Annals of Statistics, 7(1), 1–26.
- Gelfand, A. E., & Smith, A. F. M. (1990). Sampling-based approaches to calculating marginal densities. Journal of the American Statistical Association, 85(410), 398–409.
- Kocsis, L., & Szepesvári, C. (2006). Bandit based Monte-Carlo planning. In Machine Learning: ECML 2006 (pp. 282–293). Berlin: Springer.
- Silver, D., et al. (2016). Mastering the game of Go with deep neural networks and tree search. Nature, 529(7587), 484–489.
- Robert, C. P., & Casella, G. (2004). Monte Carlo Statistical Methods (2nd ed.). New York: Springer.
- Owen, A. B. (2013). Monte Carlo Theory, Methods and Examples. Stanford, CA: Stanford University.
- Matsumoto, M., & Nishimura, T. (1998). Mersenne twister: A 623-dimensionally equidistributed uniform pseudo-random number generator. ACM Transactions on Modeling and Computer Simulation, 8(1), 3–30.
