蒙特卡洛方法2025年3月17日 | 阅读 10 分钟 蒙特卡洛模拟是一种统计方法,用于模拟概率性(或“随机”)系统并计算不同结果的可能性。在解决有限马尔可夫决策问题的技术中,有时间差学习、动态规划和蒙特卡洛。每类程序都有其优点和缺点。尽管理论上合理,但动态规划技术需要对周围环境进行全面而精确的表示。尽管概念上简单且无需模型,但蒙特卡洛技术不适合逐步进行的增量计算。最后,时间差技术完全是增量的,不需要模型,但更难评估。这些技术在收敛速度和效率方面也有许多差异。 蒙特卡洛模拟基于这样一个想法:随机变量的干扰使得计算不同结果的概率变得不可能。为了实现某些目标,蒙特卡洛模拟侧重于重复运行随机样本。 蒙特卡洛模拟会选取未知变量并为其赋予一个随机值。之后,模型会被执行并给出一个结果。上述过程会反复迭代,对所考虑的变量赋予多个值。模拟运行后,通过对数据进行平均来产生一个估计值。 如今,蒙特卡洛模拟已广泛应用于各个行业,包括物理科学、工程学、气候变化、辐射强迫、计算生物学、计算机图形学、应用统计学、人工智能、金融和商业、法律、数学等,以辅助涉及不确定性的自动化和人工辅助决策。 蒙特卡洛方法历史波兰裔美国数学家斯坦·乌拉姆(Stan Ulam)在20世纪40年代末创造了“蒙特卡洛”这个词,当时他正在参与曼哈顿计划(也称为原子弹计划)。这个概念起源于乌拉姆无休止的单人纸牌游戏,他在脑部手术后恢复期间以此消磨时间。“我曾想,是否有一种比‘抽象思考’更实用的方法,那就是将它模拟出来,比如说,重复一百次,然后观察并计算成功游戏的次数,而不是花费大量时间试图通过纯粹的组合计算来估算它们。” 事实上,自从第一台通用电子计算机(称为曼哈顿计划)问世以来,这种技术就已经存在了。该项目的首席数学家之一约翰·冯·诺依曼(John von Neumann)立即被乌拉姆理论的重要性所打动,并意识到它可以应用于曼哈顿计划。两人一起致力于开发这项技术。由于该项目高度保密,因此需要一个代号;“蒙特卡洛”被选中,以纪念摩纳哥的赌博城镇,那里是乌拉姆叔叔曾经的赌徒。 代码 现在我们的任务是根据一些参数来模拟室内人群中的病毒传播模型,并在95%的置信水平下,计算t时刻各类别人群的数学期望的置信区间,为此我们将使用蒙特卡洛模拟。 输入数据
模型描述我们使用蒙特卡洛方法来描述病毒在家庭中的动态传播。该方法的基础是进行大量基于输入参数的计算机模拟。由于 n 是模拟次数,数量巨大,我们可以利用该方法结合大数定律来推导出数学期望的近似值。 虽然每个群体个体的分布是未知的,但根据中心极限定理,由于进行了足够的试验(n>100),样本均值的分布近似为正态分布,只是标准差未知。 我们使用科学家在建模前已确定的病毒参数的估计值,因为我们认为病毒不会随时间变化。唯一可能变化的变量是每个家庭的隔离程度(如果每个人都待在各自的房间里,那么从另一家庭成员那里感染疾病的几率会大大降低)。此外,该模型不考虑外部污染的可能性,例如来自商店和教堂等场所的污染。 当知道所有参数时,模型可以预测:
内部标识
导入库我们对实验进行了100次模拟(更多的模拟意味着更准确的结果,但需要更多时间)。 软件在最后会显示许多图表,包括每天的标准差、置信区间的图形表示,以及从家庭中第一个冠状病毒病例开始的 n_days 天的动态(无累计和有累计)。 图表解释
输出 ![]() 输出 ![]() 输出 ![]() 使用 T 间隔进行估计此外,还会计算置信区间。
输出 ![]() 输出 ![]() 输入您希望计算区间以及(1-置信度)的日期编号。 我们正在寻找获得所需区间大小所需的试验次数(其中包括定义分位数、标准差、平均值和半区间大小)。 输出 ![]() 该模型的结果有助于理解为什么家庭需要隔离。它允许在输入参数的条件下,模拟没有实际感染发生的情况。 下一主题什么是逆强化学习 |
我们请求您订阅我们的新闻通讯以获取最新更新。