蒙特卡罗(MC)方法是计算算法的子集,其使用重复随机采样的过程来对未知参数进行数值估计。它们允许对涉及许多随机变量的复杂情况进行建模,并评估风险的影响。MC的用途非常广泛,并且在物理学,博弈论和金融学领域取得了许多突破性的发现。存在广泛的蒙特卡罗方法,但它们都具有共同性,它们依赖于随机数生成来解决确定性问题。我希望概述MC的一些基本原理,并且可能会让您感受到可能的应用程序的一些兴奋。
这个概念是由数学家Stanislaw Ulam发明的,他将这些方法设计为他对曼哈顿计划的贡献的一部分。他使用随机抽样和推论统计工具来模拟最初应用于纸牌游戏(蒙特卡罗纸牌)的结果可能性。Ulam后来与合作者John von Neumann合作,使用新开发的计算机技术来运行这些模拟,更好地了解与核项目相关的风险。可以想象,现代计算技术使我们能够模拟更复杂的系统,具有更多的随机参数,就像我们在日常生活中遇到的许多场景一样。在我们考虑复杂的系统之前,让我们谈谈一个简单的案例,一个二十一点的游戏。
如果我们想要找到获得二十一点的概率(ace连同ten-valued卡),我们可以简单地计算在这种情况下可能的手数,并除以可能的卡片组合总数概率(大约1/21)。但是现在想象一下我们的样本空间难以计算,例如我们的牌组有数千张而不是52张牌,或者更好,但我们甚至不知道有多少张牌。还有另一种方法可以得到这个概率。
我们可以在桌上蹲下来玩一百场比赛,记录我们比赛的结果。我们可能会获得21次,20次甚至28次的二十一点,并使用这些值中的任何一个来分配概率。似乎是评估赌场赔率的一种非常糟糕的方式,但希望我们只是为了娱乐而玩。现在,如果我们再去玩一千,一万,几百万次,大数定律就说:
“随着相同分布的随机生成变量的数量增加,他们的样本 均值(平均值)接近其理论均值。”
除了容易成为统计学中最重要的法则之外,这也是蒙特卡罗模拟的基础,并允许我们通过统计试验的方法建立随机模型。让我们看看我最喜欢的(也可能是最简单的)MC估算的例子。
Pi的蒙特卡洛估计pi是一个常数,表示圆周与圆的直径之比。它有无尽的数字,不遵循任何模式。如果我告诉你我们可以通过简单的游戏来估算pi,让我们写一个简短的python脚本来看看如何。
如您所见,我们在一个框内生成随机点,并计算嵌入圆内的点数。为简单起见,如果我们有100个点,并计算圆内点的数量,我们可能会得到以下图形。
如果你在想:“为什么我们这么糟糕?”你问的是正确的问题。对于这个例子,我们点的位置必须在整个区域均匀分布。从我们的设置来看,点在圆内的概率将是π/ 4。当我们继续玩,并且作为n - > ∞,我们接近这个真正的价值(感谢伯努利!)。我们可以看到,这发生在下面,因为我们将n增加了十个数量级。
n = 1,10和10万,最后是100万点的图
你可能会说:这一切都很好,但我已经知道pi是3.14159 ......而现实世界中的是均匀分布的?不用担心,因为当使用MC方法对高维系统进行建模时,我们需要对各种随机变量进行采样,使用不同的概率分布来更准确地表示模型中参数的影响。我可以用这个做什么样的现实世界?
高能物理蒙特卡洛的一个主要应用是在粒子物理学的世界中。在量子(非常小的)世界中,物体不易被观察到,在粒子加速器的碰撞点上尤其如此。MC方法允许物理学家基于标准模型和从以前的实验中确定的参数对这些事件进行模拟。像大型强子对撞机这样的大型项目已经产生了大量的数据,所以在我们开始随机取样之前N就已经很大了。所以MC有用的一件小事是探索物质本身的基本结构。
金融如果这对您来说似乎不够兴奋,MC广泛用于金融工程以进行股票市场预测。这具有直观意义,因为市场难以建模,具有令人难以置信的高维度,并且有大量数据可供采样。风险的重要性是金融分析师使用MC方法的另一个重要因素。蒙特卡洛在该领域的一个相对简单的应用是投资组合优化。总结如下:
在选择股票组合时,根据您的目标,您可能愿意承担不同级别的风险。但无论您是否愿意接受风险,您都可以通过使用蒙特卡罗找到最佳组合和权重股票来最大化您的投资组合的每个波动率的回报。使用历史数据,可以生成数十万种不同比例的不同股票组合,以查看每个股票在该时间段内相对于彼此的表现。然后,可以使用称为夏普比率的指标来选择最优配置(在给定风险的情况下衡量投资回报的表现)。
如果财富和知识的承诺不足以激起你的兴趣,马尔可夫链蒙特卡罗方法提供了一个强大的工具来模拟复杂系统和训练深度学习算法。数据科学家和机器学习工程师可以使用这些技术来做各种奇怪和奇妙的事情。
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved