跳到内容
返回探索
数学建模 / 英语

解决真正难题的简单方法:蒙特卡洛模拟

RiskByNumbers · YouTube · 5:58

打开原视频
阅读与收藏

把讲解展开来看。

已审核学习内容 · 视频分析 · 中文
阅读完整概览

这段120秒的片段将蒙特卡洛模拟介绍为回答复杂概率问题的一种方法,并以办公室截止时间情境加以说明:两份报告的完成时间具有不确定性,且需赶在6点前参加某项活动。视频为两份报告分别指定了1–5小时和2–6小时的时间范围,指出两份报告的完成情况相互独立,将“量化不确定性”明确为蒙特卡洛方法的第一步,并开始用均匀分布对每份报告的完成时长建模。本片段内未进行任何具体数值的概率计算。 这段时长为120秒的视频,通过一个简单的工作调度示例讲解蒙特卡洛模拟:首先定义有界区间上的均匀分布,接着展示从两个报告时间范围1到5和2到6中进行随机抽样,并将大量模拟所得的总时间汇总为一张标注为“完成所需时间”的直方图;后半部分将该概念转化为 Python 代码(基于 NumPy):导入 numpy as np、设置 sims = 1000000、用 np.random.uniform 生成 A 和 B、并计算 duration = A+BA + B。该片段演示了模拟的搭建过程与输出分布的定性特征,但并未计算准时到达聚会的最终数值概率。 这段118秒的片段展示了蒙特卡洛示例的最后一步:将两项报告完成时间建模为均匀随机变量,求和得到总耗时,并用密度直方图进行可视化,再与9小时的烧烤截止时间进行比较。代码打印经验超出比例 `(duration > 9).sum()/sims`,结果为0.125168;叙述者将其解读为错过该活动的大致概率为12–13%。结尾重申:蒙特卡洛模拟无需手推公式即可回答概率问题。

在学习检查器中查看要点和时刻,或切换阅读标签查看完整笔记。

章节

0:00蒙特卡洛模拟简介0:23以办公室截止时间为背景的动机情境1:20关于两份报告的假设1:51引入均匀分布2:00均匀分布假设2:09蒙特卡洛思想:重复随机抽样2:39总完成时间的直方图3:09步骤1:在 Python 中实现模拟3:24设定模拟次数3:30使用 NumPy 生成 A 和 B3:44计算总耗时4:00模拟设置已显示在屏幕上4:06导入 matplotlib 并编写绘图代码4:20添加9小时的阈值线4:38打印超出比例4:52直方图输出与估计概率5:08对蒙特卡洛模拟的结尾解读

学习解说文稿

依据视频画面与讲解整理,并非逐字语音转写。

视频开篇点明主题为蒙特卡洛模拟,并将其呈现为一种实用的概率推理框架。屏幕上的标题以及工程、物理、金融、钟形曲线和Python图标,既展现了该方法的广泛应用领域,也暗示了即将呈现一个计算实例。

随后视频转向一个具体场景:在9上午,老板要求当天结束前完成两份报告,而一场社交活动则安排在6下午。由此引出屏幕上显示的核心问题——“你能否准时赶到?”,该问题被明确表述为一个概率问题,而非简单的“是”或“否”的猜测。

为回答这一问题,讲述者将蒙特卡洛模拟作为首选方法加以介绍,并强调:即使概率知识有限,它也能应对复杂的概率问题。此时的目的在于激发兴趣——在任何正式方法出现之前,先向观众展示基于模拟的方法为何有用。

接着,该示例被转化为模型输入:为两份报告的完成时间分别设定区间范围——第一份报告为1–5小时,第二份报告为2–6小时。旁白还指出,一份报告的完成表现不影响另一份,这正是将两个持续时间视为彼此独立的随机量所必需的独立性假设。

基于这些假设,视频指出本情境下蒙特卡洛模拟的第一步:为决策问题中每个不确定因素赋予一种不确定性度量。此处的不确定因素恰好就是两份报告的完成时间,因此建模任务便转化为将口头估计转化为概率分布。

视频在此处戛然而止——讲述者刚选定用均匀分布来刻画每份报告的完成时间。覆盖在区间1–5和2–6之上的虚线矩形,直观地暗示了各自范围内各取值可能性均等。本片段未涉及抽样过程、模拟次数或最终概率结果。

视频开头阐明了关键的概率假设:若某量存在下界与上界,则所采用的分布将该区间内所有结果视为等可能。画面上已直观呈现两个独立区间,一个从1到5,另一个从2到6,以此设定两项任务各自的不确定工期。

基于该假设,旁白转向蒙特卡洛模拟。该方法不通过解析方式求解总耗时问题,而是让计算机从给定区间中分别为每份报告随机选取完成时间。两个区间内部移动的垂直标记即示意这些随机抽样。

此步骤附有一项提醒:由于每个抽样值均源自所选定的输入分布,最终估计结果的质量在很大程度上取决于初始阶段对这些分布的准确估计。这被呈现为建模的前提条件,而非事后的补充考虑。

接下来是重复抽样这一核心概念:单次随机抽样并不足够;该过程被加速并重复成千上万乃至上百万次,所有抽样值均被保存下来。保存这些值的目的,在于近似联合结果的分布,即完成两份报告所需的总时间分布。

此时动画由两个输入区间转变为单个青绿色直方图,标注为“完成所需时间”。这一视觉转换体现了该方法的逻辑:大量独立的随机样本被聚合为输出分布的经验图像,进而可用于评估按时完成的概率。

旁白将本例所得启示推广至更广范围:当一个问题包含多个不确定性来源时,蒙特卡洛模拟被构架为一种简洁方法——通过对不确定输入反复抽样,并研究由此产生的输出分布,从而分析复杂系统。

随后视频由概念讲解转入实际实现。标题卡片显示“步骤1:使用 NumPy 进行蒙特卡洛模拟”,同时出现深色代码编辑器。首行键入 import numpy as np,与旁白所述“NumPy 提供所需的随机抽样功能”完全对应。

接着通过 sims = 1000000 固定抽样规模。旁白略带幽默地提到先尝试 1,000 次模拟,最终确定为一百万次,明确表明本例将生成数量极为庞大的随机试验集合。

两份报告的不确定工期被编码为数组:A = np.random.uniform(1, 5, sims) 在1至5小时区间内为报告 A 生成一百万个随机完成时间;B = np.random.uniform(2, 6, sims) 在2至6小时区间内为报告 B 生成一百万个随机完成时间。

最后,关注的量通过 duration = A+BA + B 计算得出。由于 A 和 B 是长度相等且位置对齐的数组,该语句逐元素相加模拟出的配对时间,从而生成一百万个总完成时间。视频在此搭建阶段结束:随机样本已生成完毕,但后续将这些数值转化为具体聚会到场概率的计算过程尚未展示。

视频片段以已定义好的模拟代码开始:`sims = 1000000`,`A = np.random.uniform(1, 5, sims)`,`B = np.random.uniform(2, 6, sims)`,以及 `duration = A+BA + B`。从数学角度看,这构建了两个随机任务耗时变量,并对每次试验计算它们的总耗时。

接着,主讲人导入 `matplotlib.pyplot as plt` 并创建一个图形。下一条命令 `plt.hist(duration, density = True)` 绘制总耗时的经验分布直方图。由于设置了 `density=True`,纵轴刻度表示概率密度,而非原始频数。

为将图像与决策问题关联,代码添加了 `plt.axvline(9, color = 'r')`。这条红色竖线在横轴上标出9小时的烧烤截止时间,因此该线右侧区域在视觉上对应事件 `duration > 9`。

数值估计由 `print((duration > 9).sum()/sims)` 生成。该语句统计有多少次模拟总耗时超过9小时,并除以试验总次数,从而实现对超限概率的经验频率估计。

当运行该代码单元时,会出现一个蓝色直方图,其横轴上有一条位于9处的红色竖线,下方输出显示为 `0.125168`。旁白将此解释为:合并工作耗时超过烧烤截止时间的概率约为12–13%。

结尾插图将办公室工作负荷与烧烤场景进行对比,同时主讲人总结要点:蒙特卡洛模拟可通过重复随机抽样直接回答实际概率问题,无需手工推导解析解。

知识卡片

01

蒙特卡洛模拟:入门级角色

类型:定义。视频将蒙特卡洛模拟介绍为一种直观的框架,用于解答复杂的概率问题,其应用领域包括工程、物理与金融;同时预告后续将在Python中分析一个真实问题。本片段以激发兴趣为主,而非形式化讲解。公式:未展示。适用情形:问题涉及不确定性,且需通过计算方式估计概率。前提知识:对概率作为“可能性”或“可能性大小”的基本理解。相关概念:概率建模、模拟、随机抽样。依据:0–22中的标题与应用图标;66–79中的旁白,提及解答概率问题。验证方式:完整视频后续部分需实际展示模拟工作流程。

02

本例中蒙特卡洛模拟的第一步

类型:方法。讲述者明确指出,第一步是为决策过程所依赖的每个不确定因素提出某种不确定性度量。在办公室截止时间示例中,这些因素即为两份报告的完成时间。公式:未展示。适用情形:当一项决策依赖于一个或多个必须以随机方式建模的未知量时。前提知识:能识别问题中相关的随机变量。相关概念:概率分布、建模假设、蒙特卡洛工作流程。依据:100–111中的语音内容。验证方式:后续片段应展示这些不确定性度量如何被抽样及汇总。

03

两份报告之间的独立性假设

类型:命题。视频指出,一份报告的完成情况不影响另一份报告的完成情况。这意味着在模型中,两个完成时间被视为相互独立的随机量。公式:本片段未展示任何公式。适用场景:当两个不确定量的联合行为可分解为各自的边缘行为时。前提知识:概率论中关于独立性的基本概念。相关概念:联合分布、边缘分布的乘积、多个随机变量的模拟。依据:96–99秒处的音频。验证方式:后续计算应对两份报告的完成时间分别进行独立抽样。

04

为报告完成时间引入均匀分布

类型:定义。该片段将均匀分布作为每份报告完成时间的建模选择,定义域为其声明的时间区间。画面在数轴1–5和2–6上方显示矩形支撑区域,暗示区间内各处可能性相等。公式:本片段未完整写出公式。适用场景:当一个不确定量被认为可能落在某个范围内任意位置,且无任何子区间更受偏爱时。前提知识:区间值随机变量的概念。相关概念:连续型概率分布、分布的支撑集、随机抽样。依据:111–119秒处的音频与图示。验证方式:本片段未完整给出该定义及密度函数公式。

05

办公室截止时间示例设定

类型:示例。一名员工需在当日下班前完成两份报告,同时还希望参加下午6点的活动。不确定输入为两份报告的耗时,分别给定为1–5小时和2–6小时,且假设二者相互独立。目标是估算按时完成的概率,但本片段仅完成模型设定。公式:本片段未展示任何公式。适用场景:作为在不确定性下开展蒙特卡洛模拟的动机性案例。前提知识:理解总完成时间取决于两份报告的耗时。相关概念:随机变量之和、可行性阈值、模拟估计。依据:23–119秒处的叙述与画面。验证方式:本片段未给出任何数值形式的概率结果。

06

均匀分布假设

视频中定义的分布是指:在选定的最小值与最大值之间的所有结果具有相同的相对可能性。在示例中,两份报告的提交时间范围分别为1到5和2到6。

07

蒙特卡洛模拟的核心思想

蒙特卡洛模拟会反复从不确定的输入中随机抽样,存储每次运行的结果,并利用这些存储的结果来近似推导量的概率分布。此处的推导量是完成两份报告所需的总时间。

08

为何输入估计至关重要

由于每个抽样值均来自所假定的输入分布,因此模拟结果的可靠性取决于初始阶段对这些分布的准确估计。

09

总完成时间的直方图

经过大量随机试验后,所存储的总时间被汇总为一张标注为“完成所需时间”的直方图。该经验分布即为视频中指出可用于估算按时完成概率的依据。

10

用于模拟的 NumPy 初始化设置

实现过程首先通过 import NumPy as np 导入 NumPy 库,以便在 Python 中使用其随机数生成工具。

importnumpyasnpimport numpy as np
11

模拟次数

示例将样本数量设为一百万,即 sims = 1000000,意味着每份报告均进行一百万次随机抽样。

sims=1000000sims = 1000000
12

模拟报告 A

报告 A 被建模为区间1到5小时上的均匀随机变量,并生成一百万个样本存入数组 A。

A=np.random.uniform(1,5,sims)A = np.random.uniform(1, 5, sims)
13

模拟报告 B

报告 B 被建模为区间2到6小时上的均匀随机变量,并生成一百万个样本存入数组 B。

B=np.random.uniform(2,6,sims)B = np.random.uniform(2, 6, sims)
14

总时长作为逐元素求和

每组配对试验的总完成时间,通过对数组 A 和 B 的对应元素相加得到,结果存入数组 duration。

duration=A+Bduration = A + B
15

两项任务耗时的蒙特卡洛设定

该示例将两份报告完成时间建模为随机数组:`A = np.random.uniform(1, 5, sims)` 和 `B = np.random.uniform(2, 6, sims)`,其中 `sims = 1000000`。它们的和 `duration = A+BA + B` 给出每次模拟试验的总耗时。

A∼U(1,5),  B∼U(2,6),  D=A+BA\sim U(1,5),\; B\sim U(2,6),\; D=A+B
16

总耗时的概率密度直方图

命令 `plt.hist(duration, density = True)` 在概率密度尺度上绘制总耗时的分布。主讲人明确指出,这样做的目的是使结果可被理解为概率密度,而非原始频数。

plt.hist(duration, density = True)\texttt{plt.hist(duration, density = True)}
17

可视化9小时截止时间

通过 `plt.axvline(9, color = 'r')` 添加一条红色竖线。该线在横轴上标出烧烤截止阈值,便于直观识别分布中对应 `duration > 9` 的部分。

plt.axvline(9, color = ’r’)\texttt{plt.axvline(9, color = 'r')}
18

经验超越概率

该概率估计通过 `print((duration > 9).sum()/sims)` 计算:统计总耗时超过9小时的试验次数,再除以试验总次数。这是本视频片段中所用的核心蒙特卡洛频率估计器。

p^=#{i:Di>9}N\hat{p}=\frac{\#\{i:D_i>9\}}{N}
19

模拟结果:约12.5% 的风险

执行输出结果为 `0.125168`。讲解者将其描述为大约 12–13% 的概率无法在 9 小时内抵达烧烤聚会,强调该估计值来自模拟而非符号推导。

0.1251680.125168
20

为何此处蒙特卡洛方法有用

结尾信息指出,蒙特卡洛模拟简单直观:只需生成大量随机场景并统计有利结果的频次,即可在几乎无需形式化背景知识的前提下,回答实际的概率问题。

详细学习笔记

按知识点查看条件、步骤和证据。补充解释与视频直接内容分别标明。

符号定义 · 15

1-5 hrs

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    红色报告图标下方显示文字“1-5小时”。

  2. 声音
    观察依据

    讲述者称,两份报告的完成时间分别介于1至5小时与2至6小时之间。

符号

1-5 hrs

含义

第一份报告完成时间的不确定区间(单位:小时)。

适用范围

后续关于均匀分布的陈述隐含了从1小时到5小时之间的连续时间取值。

2-6 hrs

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    绿色报告图标下方显示文字“2-6小时”。

  2. 声音
    观察依据

    讲述者称,两份报告的完成时间分别介于1至5小时与2至6小时之间。

符号

2-6 hrs

含义

第二份报告完成时间的不确定区间(单位:小时)。

适用范围

后续关于均匀分布的陈述隐含了从2小时到6小时之间的连续时间取值。

uniform distribution

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲述者称,每份报告的完成时间服从一种称为均匀分布的概率分布。

  2. 图示
    观察依据

    两个虚线矩形框出现在标有1至5和2至6的数轴上方。

待核验内容
  1. 该片段在均匀分布的完整定义给出之前即结束。

符号

uniform distribution

含义

此处用于表示报告完成时间在某一区间内具有不确定性的一种概率模型。

适用范围

本片段将该方法应用于1至5小时和2至6小时这两个时间段。

A

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    代码行可见:A = np.random.uniform(1, 5, sims)

  2. 声音
    观察依据

    旁白说明:这两份报告将分别称为 A 和 B。

符号

A

含义

报告 A 的模拟完成时间数组。

适用范围

取值于区间 [1, 5] 小时内的连续数值;数组长度为 sims = 1000000。

B

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    代码行可见:B = np.random.uniform(2, 6, sims)

  2. 声音
    观察依据

    旁白说明:这两份报告将分别称为 A 和 B。

符号

B

含义

报告 B 的模拟完成时间数组。

适用范围

取值于区间 [2, 6] 小时内的连续数值;数组长度为 sims = 1000000。

sims

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    代码行可见:sims = 1000000

  2. 声音
    观察依据

    旁白提出进行一百万次蒙特卡洛模拟。

符号

sims

含义

为每份报告抽取的蒙特卡洛模拟样本数量。

适用范围

正整数;本例中设为 1000000。

duration

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    代码行可见:duration = A+BA + B

  2. 声音
    观察依据

    旁白说明:完成这两份报告所需的总时间,就是它们各自耗时的简单相加。

符号

duration

含义

报告A与报告B的模拟完成时间的逐元素相加。

适用范围

区间[3, 11]小时内的连续数值数组;数组长度sims = 1000000。

sims

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    起始可见的代码行:`sims = 1000000`。

  2. 声音
    观察依据

    后续解说中提到除以“模拟总次数”。

符号

sims

含义

蒙特卡洛试验的模拟次数。

适用范围

正整数;此处固定为1000000。

A

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    可见的代码行:`A = np.random.uniform(1, 5, sims)`。

  2. 声音
    观察依据

    问题背景是两份报告,其完成时间之和与一个9小时的烧烤截止时间进行比较。

待核验内容
  1. 视频未明确说明 A 与 B 相互独立;独立性仅通过代码中分别进行的均匀随机抽样来暗示。

符号

A

含义

第一份报告/任务的模拟完成时间。

B

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    可见的代码行:`B = np.random.uniform(2, 6, sims)`。

  2. 声音
    观察依据

    解说讨论完成两份报告所需的总时间。

待核验内容
  1. 视频未明确说明 A 与 B 相互独立;独立性仅通过代码中分别进行的均匀随机抽样来暗示。

符号

B

含义

第二份报告/任务的模拟完成时间。

duration

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    代码行可见:`duration = A+BA + B`。

  2. 声音
    观察依据

    旁白指出,垂直线有助于直观判断“完成两份报告的总时间是否超过该阈值。”

符号

duration

含义

完成两项任务的总模拟时间,定义为 A 与 B 的和。

plt

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    输入的代码:`import matplotlib.pyplot as plt`。

  2. 声音
    观察依据

    说话人表示将引入 matplotlib 来可视化数据。

符号

plt

含义

绘图模块 `matplotlib.pyplot` 的别名。

知识点 · 16

蒙特卡洛模拟作为一种概率性问题求解框架

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲述者介绍了“蒙特卡洛模拟”,指出它被广泛应用于工程、物理和金融领域,并说明它可用于解决复杂的概率问题,且能用 Python 进行分析。

  2. 图示
    观察依据

    标题“蒙特卡洛模拟”以图标形式呈现,图标分别代表工程、物理、金融、钟形曲线和 Python。

定义
解释

在本开场片段中,蒙特卡洛模拟被呈现为一种直观的框架,用于回答复杂的概率问题。视频直接点明其应用领域——工程、物理和金融,并预告后续将使用蒙特卡洛方法结合 Python 分析一个真实问题。本片段未给出任何正式的数学定义。

公式
适用条件
  1. 视频指出它对概率性问题具有实用价值。

  2. 本片段仅提供入门式描述,而非完整的正式定义。

本例中蒙特卡洛模拟的第一步

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲述者指出,假设条件将指导蒙特卡洛模拟的第一步,即为决策过程中涉及的每个不确定因素设定某种不确定性度量。

方法
解释

视频明确指出本场景下蒙特卡洛模拟的第一步:为决策所涉的每个不确定因素分配一种不确定性度量。在办公室截止时间示例中,这些不确定因素即为两份报告各自的完成时间。

公式
适用条件
  1. 决策问题中必须存在可识别的不确定因素。

  2. 这是视频中所陈述的第一步;后续步骤在本片段中未予涵盖。

先修条目
  1. 蒙特卡洛模拟作为一种概率性问题求解框架

将均匀分布作为不确定性模型引入

时间近似
视频直接表达
来源依据
  1. 声音
    观察依据

    讲述者表示,他们决定用所谓“均匀分布”来表示每份报告的完成时间。

  2. 图示
    观察依据

    虚线矩形分别覆盖区间1到5和2到6,在视觉上对应两份报告的时间范围。

待核验内容
  1. 视频片段在讲述者解释完均匀分布为何直观或其形式化定义之前就中断了。

定义
解释

视频将均匀分布作为每份报告完成时间不确定性的选定模型加以介绍。配套图示在区间1–5和2–6上方使用矩形区域,表明每份报告的完成时间被建模为一个连续区间,而非单一固定值。本片段未完整给出其严格形式化定义。

公式
适用条件
  1. 此处用于表示由区间刻画的不确定量。

  2. 该片段仅引入术语及图示设定;完整定义尚未给出。

先修条目
  1. 本例中蒙特卡洛模拟的第一步

均匀分布假设

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    该概率分布假设:在给定最小值与最大值之间的所有结果,其相对可能性均相同。

  2. 图示
    观察依据

    图中显示两条水平区间,分别标为1至5和2至6,作为均匀分布区间;随后随机出现垂直采样线。

定义
解释

视频将此处所用的分布定义为:在选定的最小值与最大值之间,每个结果的相对可能性都相同。示例中,两项任务的耗时区间分别为1至5和2至6。

公式
适用条件
  1. 必须存在一个确定的最小值与最大值。

  2. 两个边界之间的所有结果均被视为等可能。

蒙特卡洛模拟的核心思想

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    现在,蒙特卡洛模拟的精妙与简洁之处就体现出来了:接下来,我们将依赖计算机,为每份报告的完成时间随机抽取一个值。

  2. 声音
    观察依据

    而这正是蒙特卡洛模拟的核心所在。

方法
解释

该方法是:从假设的输入分布中反复进行随机抽样,存储大量抽样所得的结果,然后利用这些存储的结果来近似某个关注量的概率分布。

公式
适用条件
  1. 输入的不确定性必须用概率分布来建模。

  2. 需要大量随机样本才能实现良好近似。

先修条目
  1. 均匀分布假设

直方图作为输出分布的近似

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    我们可以利用这些存储的结果,近似估计完成两份报告所需时间的分布。

  2. 图示
    观察依据

    当两个区间图消失后,一个青蓝色直方图出现,其横轴标签为“完成时间”。

方法
解释

存储的随机样本以直方图形式直观呈现:横轴标注为“完成时间”,各柱高度表示不同总完成时间在全部模拟运行中出现的频次。

公式
适用条件
  1. 必须已生成并存储了大量抽样值。

先修条目
  1. 蒙特卡洛模拟的核心思想

导入 NumPy 用于模拟

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    要开始开展我们的蒙特卡洛模拟,我们将依赖一个名为 NumPy 的库,它提供了执行蒙特卡洛模拟的可用功能。

  2. 公式
    观察依据

    代码行可见:import numpy as np

方法
解释

实现步骤首先导入 Python 库 NumPy,并将其简称为 np,以便使用其随机数函数。

公式
importnumpyasnpimport numpy as np
适用条件
  1. 已安装 NumPy 的 Python 环境。

选择模拟次数

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    因此我将导入 NumPy,并提议我们执行1、000。呃,干脆就设为1百万次蒙特卡洛模拟吧。

  2. 公式
    观察依据

    代码行可见:sims = 1000000

方法
解释

该示例将样本量变量 sims 设为一百万,意味着每份报告都将获得一百万个随机完成时间抽样值。

公式
sims=1000000sims = 1000000
适用条件
  1. 所选数值控制每个随机变量生成的样本数量。

先修条目
  1. 导入 NumPy 用于模拟

生成报告 A 的完成时间

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    它们的完成时间将在1至5小时之间,以及2至6小时之间,因此我们来为这些函数的参数定义这些值。

  2. 公式
    观察依据

    代码行可见:A = np.random.uniform(1, 5, sims)

方法
解释

报告 A 通过从1至5小时区间上的均匀分布中抽取 sims 个独立取值来建模。

公式
A=np.random.uniform(1,5,sims)A = np.random.uniform(1, 5, sims)
适用条件
  1. 使用前文介绍的均匀分布模型。

  2. sims 变量必须已预先定义。

先修条目
  1. 均匀分布假设
  2. 选择模拟次数

生成报告 B 的完成时间

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    它们完成所需时间介于1到5小时之间,以及2到6小时之间,因此我们来为这些函数的参数定义这些数值。

  2. 公式
    观察依据

    代码行可见:B = np.random.uniform(2, 6, sims)

方法
解释

报告 B 的建模方式为:从区间2至6小时上的均匀分布中独立抽取 sims 个值。

公式
B=np.random.uniform(2,6,sims)B = np.random.uniform(2, 6, sims)
适用条件
  1. 使用此前介绍的均匀分布模型。

  2. sims 变量必须已预先定义。

先修条目
  1. 均匀分布假设
  2. 选择模拟次数

总完成时间作为求和结果

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    当然,完成这两份报告所需的总时间就是二者之和。因此我们将它们相加——成了!我们现在拥有了1百万个随机样本。

  2. 公式
    观察依据

    代码行可见:duration = A+BA + B

公式
解释

所要估计的量是完成两份报告所需的总时间,通过将 A 和 B 对应的模拟时间逐元素相加得到。

公式
duration=A+Bduration = A + B
适用条件
  1. A 和 B 必须是长度相同的数组。

  2. 加法运算在匹配的模拟运行之间逐项进行。

先修条目
  1. 生成报告 A 的完成时间
  2. 生成报告 B 的完成时间

超越概率的蒙特卡洛估计

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    说话人解释道,无需手算或推导,即可快速估算在9小时内无法赶到烧烤聚餐的概率。

  2. 公式
    观察依据

    代码生成大量随机样本,并计算`(duration > 9).sum()/sims`。

方法
解释

该片段演示了蒙特卡洛方法:模拟大量随机任务持续时间的可能结果,统计总时间超过截止时限的次数,再除以模拟总次数,从而估计该事件发生的概率。

公式
p^=1N∑i=1N1(Di>t)\hat{p}=\frac{1}{N}\sum_{i=1}^{N}\mathbf{1}(D_i>t)
适用条件
  1. 针对所关注的数量,已有一个随机模型可用。

  2. 采用了足够多的试验次数。

  3. 所关注的事件可表示为对每个模拟结果施加的一个条件。

先修条目
  1. 任务持续时间的均匀随机抽样
  2. 总持续时间为两项任务时间之和
  3. 以经验频率作为概率估计
定理与条件 · 6

对两份报告完成时间的独立性假设

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲述者说:“你在一份报告上的表现不会影响另一份报告。”

命题
命题

在所建模的情境中,一份报告的完成时间与另一份报告的完成时间相互独立。

前提
  1. 该情境假设有两份报告,其完成时间均具有不确定性。

  2. 该陈述是基于过往经验所作的假设。

量词

适用于本例中的这一对报告。

蒙特卡洛模拟可在概率知识有限的情况下,应对具有挑战性的概率问题。

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲述者表示将依赖蒙特卡洛模拟,并指出该技术的奇妙之处在于:即使概率知识有限,也能回答具有挑战性的概率问题。

待核验内容
  1. 该主张以修辞性方式被呈现为该方法的一项优势;本片段中未给出任何证明。

命题
命题

视频声称,即使用户概率知识有限,蒙特卡洛模拟仍可用于回答具有挑战性的概率问题。

前提
  1. 该问题本质上属于概率问题。

  2. 蒙特卡洛模拟被作为选定方法加以应用。

量词

在引言与示例设定中,该方法被一般性地表述为适用于具有挑战性的概率问题。

有界范围内各结果出现的可能性相等

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    该概率分布假设,在给定的最小值与最大值之间的所有结果,其相对可能性均相同。

命题
命题

本例所用分布中,所有介于给定最小值与最大值之间的结果,其相对可能性均相同。

前提
  1. 定义了一个最小边界。

  2. 定义了一个最大边界。

量词

对于所有介于给定最小值与最大值之间的结果。

大量重复抽样可近似得到输出分布。

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    现在我们加快这一过程,将其重复数千次甚至数百万次。我们将存储所有这些随机选取的值;完成这一步后,便可利用这些存储的结果,近似估计完成两份报告所需总时间的分布。

命题
命题

将随机选取过程重复数千次或数百万次,并存储结果,即可对总完成时间的分布做出近似估计。

前提
  1. 随机选取过程被重复多次。

  2. 所选取的值被存储下来。

量词

明确提到了成千上万次乃至数百万次的重复。

针对复杂不确定性的蒙特卡洛模拟

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    因此,你可以想象:对于存在多种不确定性来源的问题,蒙特卡洛模拟提供了一种分析复杂系统的简便方法。

命题
命题

对于存在多种不确定性来源的问题,蒙特卡洛模拟提供了一种分析复杂系统的简便方法。

前提
  1. 该问题包含多个不确定性来源。

量词

关于此类问题的一般性陈述。

超出9小时截止时间的估计概率

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    显示的输出:`0.125168`。

  2. 声音
    观察依据

    说话者称有“约 12 到 13 百分之”概率你无法在 9 小时内赶到烧烤聚会。

待核验内容
  1. 视频片段中未推导出精确的理论概率,仅展示了模拟估计值。

命题
命题

基于1,000,000次模拟试验,总完成时间超过9小时的估计概率为0.125168,即约为12.5%。

前提
  1. 任务持续时间建模为 `A ~ Uniform(1,5)` 和 `B ~ Uniform(2,6)`。

  2. 总持续时间为 `duration = A+BA + B`。

  3. 阈值事件为 `duration > 9`。

量词

对于所展示的 `sims = 1000000` 的模拟,经验超限比例为0.125168。

推导与证明 · 4

从口头假设出发,构建出报告完成时间的概率模型。

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲述者从截止日期场景过渡到关于报告耗时的假设,接着指出这些假设构成了蒙特卡洛模拟的第一步,最后说明这些时间由均匀分布表示。

  2. 图示
    观察依据

    报告图标分别标注“1-5小时”和“2-6小时”,随后虚线矩形分别覆盖数轴上的区间1至5与2至6。

待核验内容
  1. 推导在此处中止,尚未展示任何抽样或概率计算过程。

直观解释
步骤
  1. 公式
    解释

    识别决策问题中的不确定量:完成两份报告各自所需的时间。

    步骤依据

    叙述者将问题表述为“能否及时完成两份报告”的概率,因此两份报告的完成时间是相关的不确定因素。

    视频直接表达
  2. 公式
    1−5 hrs,2−6 hrs1-5 \text{ hrs},\quad 2-6 \text{ hrs}
    解释

    为每份报告分配一个可能的完成时间范围:第一份报告建模为1至5小时之间,第二份报告建模为2至6小时之间。

    步骤依据

    这些范围在音频中直接给出,并显示在屏幕上的报告图标下方。

    视频直接表达
  3. 公式
    解释

    对两份报告的完成时间作出独立性假设。

    步骤依据

    叙述者明确指出,一份报告的完成表现对另一份报告没有影响。

    视频直接表达
  4. 公式
    解释

    认识到这种不确定性度量的设定,是本例中蒙特卡洛模拟的第一步。

    步骤依据

    叙述者直接称其为蒙特卡洛模拟的第一步。

    视频直接表达
  5. 公式
    解释

    选择均匀分布来表示每份报告在其对应区间内的完成时间。

    步骤依据

    叙述者表示,他们决定将每份报告的完成时间建模为服从均匀分布,且画面中在相应区间上展示了矩形区域。

    视频直接表达
结论

到该片段结束时,两份报告的完成时间已从非正式估计转化为明确的概率输入:即分别在1–5小时和2–6小时区间上定义的、相互独立的均匀分布模型。

动画中展示的概念性蒙特卡洛工作流程

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    接下来我们要依靠计算机,从我们定义的均匀分布中随机选取每份报告的完成时间。

  2. 声音
    观察依据

    现在让我们加快这一过程,重复执行成千上万次,甚至数百万次;我们将存储所有这些随机选取的值,随后即可利用这些存储的结果,近似估计两份报告总完成时间的分布。

直观解释
步骤
  1. 公式
    解释

    从不确定量的假设输入分布出发——此处即两份报告完成时间的取值范围。

    步骤依据

    讲解员指出,所选取的值基于已定义的均匀分布。

    视频直接表达
  2. 公式
    解释

    从这些分布中分别为每份报告随机选取一个完成时间。

    步骤依据

    讲解员称,计算机将随机选取完成每份报告所需的时间。

    视频直接表达
  3. 公式
    解释

    重复进行数千次或数百万次随机选取,并保存所有选中的数值。

    步骤依据

    讲解员明确指出,为加快该过程,需多次执行随机选取操作,并保存结果。

    视频直接表达
  4. 公式
    解释

    利用所保存的结果,近似估算完成两份报告所需的总时间的分布。

    步骤依据

    讲解员称,所保存的结果可用于近似估计该分布。

    视频直接表达
结论

概念推导过程为:定义输入分布,反复抽样,保存结果,并从所保存的样本集合中推断输出分布。

该示例模拟的 Python 实现

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    屏幕上可见的代码序列:import numpy as np; sims = 1000000; A = np.random.uniform(1, 5, sims); B = np.random.uniform(2, 6, sims); duration = A+BA + B

  2. 声音
    观察依据

    讲解员解释了导入 NumPy、选择一百万次模拟、用所述的小时范围定义 A 和 B,并对二者求和。

视觉说明
步骤
  1. 公式import numpy as np
    解释

    导入 NumPy,以便使用其随机抽样工具。

    步骤依据

    代码行显示在屏幕上,讲解员说明该模拟将依赖 NumPy。

    视频直接表达
  2. 公式
    sims=1000000sims = 1000000
    解释

    将模拟运行次数设为一百万。

    步骤依据

    代码行显示出来,讲解员说:“我们直接让它运行1百万次蒙特卡洛模拟。”

    视频直接表达
  3. 公式
    A=np.random.uniform(1,5,sims)A = np.random.uniform(1, 5, sims)
    解释

    从1到5小时的时间区间内,为报告A生成一百万个随机完成时间。

    步骤依据

    代码行显示出来,讲解员说明:报告A的完成时间在1到5小时之间。

    视频直接表达
  4. 公式
    B=np.random.uniform(2,6,sims)B = np.random.uniform(2, 6, sims)
    解释

    从2到6小时的时间区间内,为报告B生成一百万个随机完成时间。

    步骤依据

    代码行显示出来,讲解员说明:报告B的完成时间在2到6小时之间。

    视频直接表达
  5. 公式
    duration=A+Bduration = A + B
    解释

    对每一对模拟运行,通过将A与B相加,计算其总完成时间。

    步骤依据

    代码行显示出来,讲解员说:“总时间就是它们的简单相加。”

    视频直接表达
结论

该实现生成了一百万对随机样本,以及一个对应的一维数组 duration,其中存放所有总完成时间。

视频片段中展示的蒙特卡洛工作流程

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    屏幕上可见的代码序列:导入 numpy,设定 `sims`,生成 `A` 和 `B`,计算 `duration`,绘制直方图,在9处添加垂直线,并打印 `(duration > 9).sum()/sims`。

  2. 声音
    观察依据

    旁白逐步讲解了导入 matplotlib、绘制密度直方图、添加阈值线,以及输出超过9小时的模拟试验所占百分比。

待核验内容
  1. 该视频片段并未证明该估计量的收敛性,仅演示了计算流程。

数值验证
步骤
  1. 公式
    sims=1000000sims = 1000000
    解释

    选择大量模拟试验次数。

    步骤依据

    视频开头显示代码。

    视频直接表达
  2. 公式
    A=np.random.uniform(1,5,sims)A = np.random.uniform(1, 5, sims)
    解释

    为第一项任务生成一组模拟持续时间。

    步骤依据

    显示代码;对 `np.random.uniform` 的标准解释。

    视频直接表达
  3. 公式
    B=np.random.uniform(2,6,sims)B = np.random.uniform(2, 6, sims)
    解释

    为第二项任务生成一组模拟持续时间。

    步骤依据

    显示代码;对 `np.random.uniform` 的标准解释。

    视频直接表达
  4. 公式
    duration=A+Bduration = A + B
    解释

    计算每次配对试验的总持续时间。

    步骤依据

    显示代码,并口述完成两份报告所需的总时间。

    视频直接表达
  5. 公式
    plt.hist(duration,density=True)plt.hist(duration, density = True)
    解释

    以概率密度为纵轴,绘制总持续时间的经验分布图。

    步骤依据

    显示代码,并明确口述 `density=True` 表示绘制概率密度。

    视频直接表达
  6. 公式
    plt.axvline(9,color=′r′)plt.axvline(9, color = 'r')
    解释

    将9小时截止时间作为垂直参考线叠加在图上。

    步骤依据

    显示代码,并口述将9小时认定为烧烤活动的阈值。

    视频直接表达
  7. 公式
    print((duration>9).sum()/sims)print((duration > 9).sum()/sims)
    解释

    通过将满足“时长 > 9”的试验次数除以试验总次数,来估计超出概率。

    步骤依据

    代码为键入形式,并配有口头讲解:统计满足条件的实例个数,再除以模拟总次数。

    视频直接表达
  8. 公式
    0.1251680.125168
    解释

    打印输出给出了本次运行的经验估计值。

    步骤依据

    执行后可见的输出。

    视频直接表达
结论

该片段通过蒙特卡洛模拟而非解析推导,数值估计了 `P(A+B>9)P(A+B>9) ≈ 0.125168`。

例题详解 · 3

用办公室截止时间示例引出蒙特卡洛模拟方法

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    叙述者描述了一个周四上午9点的办公室场景:托德要求当天下班前交两份报告,而观众当晚6点有一场聚会;接着提问:及时完成报告的概率是多少?并由此开始对报告完成时间建模。

  2. 图示
    观察依据

    一个办公室场景(老板手持扩音喇叭)与一个社交聚会场景形成对比;随后出现两个标注为“1-5小时”和“2-6小时”的报告图标,接着在1–5和2–6上方分别出现虚线矩形框。

待核验内容
  1. 本片段仅完成示例的设定;在该段结束前未计算任何数值概率。

题目

估计在工作日结束前完成两份报告的概率,此时每份报告的完成时间均不确定,且此人还想参加下午6点的活动。

已知条件
  1. 现在是星期四上午9点。

  2. 两份报告均需在当日下班前提交。

  3. 亲友聚会定于下午6点举行。

  4. 第一份报告耗时介于1至5小时之间。

  5. 第二份报告耗时介于2至6小时之间。

  6. 完成其中一份报告的表现对另一份无任何影响。

目标

构建一个蒙特卡洛模型,用于估算按时完成两份报告的概率。

步骤
  1. 公式
    解释

    将决策问题定义为:能否在下午6点活动开始前完成这两份报告。

    步骤依据

    讲述者明确询问:能否及时完成报告,赶在派对开始前?

    视频直接表达
  2. 公式
    解释

    引入蒙特卡洛模拟,作为回答这一概率问题的工具。

    步骤依据

    讲述者表示将依靠蒙特卡洛模拟来回答该问题。

    视频直接表达
  3. 公式
    1−5 hrs,  2−6 hrs1-5 \text{ hrs},\; 2-6 \text{ hrs}
    解释

    将口头估算转化为两份报告完成时间的明确不确定性区间。

    步骤依据

    这些区间在旁白中被陈述,并同时显示在屏幕上。

    视频直接表达
  4. 公式
    解释

    补充两项报告完成时间相互独立的假设。

    步骤依据

    讲述者指出:一份报告的完成表现不会影响另一份报告。

    视频直接表达
  5. 公式
    解释

    通过为每个不确定因素选择一个概率模型,开启蒙特卡洛模拟的第一步。

    步骤依据

    讲述者指出这是蒙特卡洛模拟的第一步。

    视频直接表达
  6. 公式
    解释

    为每份报告的完成时间在其给定区间上选取均匀分布。

    步骤依据

    讲述者说明这些时间服从均匀分布,画面中则分别在1–5和2–6区间上显示矩形支撑。

    视频直接表达
结果

该片段仅确立建模设定:两个相互独立的均匀随机完成时间,分别落在1–5小时与2–6小时区间内;在所提供的时长内并未得出具体的数值概率结果。

检验

本片段未展示任何数值验证;可通过屏幕上的标签“1-5小时”、“2-6小时”以及所陈述的独立性假设来核对设定。

估算完成两份报告所需的总时间

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲解员描述两份报告,其完成时间分别在1到5小时和2到6小时之间,然后指出总时间即为二者之和。

  2. 图示
    观察依据

    屏幕上出现两个标有1至5和2至6的区间图示,随后显示一张标题为“完成所需时间”的直方图。

  3. 公式
    观察依据

    显示的代码为:import numpy as np; sims = 1000000; A = np.random.uniform(1, 5, sims); B = np.random.uniform(2, 6, sims); duration = A+BA + B

待核验内容
  1. 本片段中未计算准时抵达派对的最终数值概率。

题目

两份报告的完成时间均不确定:一份在1至5小时之间,另一份在2至6小时之间。估算完成这两份报告所需的总时间的分布。

已知条件
  1. 报告A的完成时间建模为区间1至5小时上的均匀分布。

  2. 报告B的完成时间建模为区间2至6小时上的均匀分布。

  3. 每个区间均视为均匀分布。

  4. 该模拟对每份报告使用sims = 1000000次随机抽样。

目标

近似总完成时间的分布,并利用该分布评估能否及时完成以赶上聚会。

步骤
  1. 公式
    A=np.random.uniform(1,5,sims)A = np.random.uniform(1, 5, sims)
    解释

    从均匀区间1至5中抽取一百万个报告A的随机完成时间。

    步骤依据

    这与所陈述的输入模型及可见代码一致。

    视频直接表达
  2. 公式
    B=np.random.uniform(2,6,sims)B = np.random.uniform(2, 6, sims)
    解释

    从均匀区间2至6中抽取一百万个报告B的随机完成时间。

    步骤依据

    这与所陈述的输入模型及可见代码一致。

    视频直接表达
  3. 公式
    duration=A+Bduration = A + B
    解释

    将成对的样本相加,得到一百万个总完成时间。

    步骤依据

    叙述者指出,完成两份报告的总时间就是它们各自耗时的简单相加。

    视频直接表达
  4. 公式
    解释

    将存储的耗时数值汇总为一张名为“完成时间”的直方图。

    步骤依据

    动画在描述完数据存储与估算过程后,将两个区间示意图替换为一张直方图。

    视频直接表达
结果

该片段确立了模拟设置,并展示了总完成时间所对应的直方图结果,但并未显示准时到达聚会的最终数值概率。

检验

验证工作需将耗时的经验直方图与两个独立均匀变量之和的理论分布进行比对;而该片段仅演示了设置过程与定性输出。

估算错过9小时烧烤截止时间的概率

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    完整的可见代码块定义了 `sims`、`A`、`B`、`duration`,绘制直方图,并打印 `(duration > 9).sum()/sims`。

  2. 声音
    观察依据

    主讲人将问题表述为:完成两份报告所需的总时间是否会超过9小时的烧烤截止时间。

  3. 图示
    观察依据

    输出图像显示一个蓝色直方图,在9处有一条红色竖线,并打印结果 `0.125168`。

待核验内容
  1. 该片段未展示潜在现实情境的完整设定,仅提及两份报告和一次烧烤。

题目

将两份报告的完成时间建模为随机变量;估计其总和超过9小时的概率。

已知条件
  1. 模拟次数 = 1000000

  2. A 等于调用 np.random.uniform 函数,参数为 1、5 和 sims

  3. `B = np.random.uniform(2, 6, sims)`

  4. `持续时间 = A+BA + B`

  5. 关注的阈值为9小时。

目标

估计总时长超过9小时的模拟结果所占的比例。

步骤
  1. 公式
    A∼U(1,5),  B∼U(2,6)A \sim U(1,5),\; B \sim U(2,6)
    解释

    将两项任务的持续时间建模为在给定区间上的均匀随机变量。

    步骤依据

    直接体现在可见的 NumPy 函数调用中。

    视频直接表达
  2. 公式
    Di=Ai+BiD_i = A_i + B_i
    解释

    对每次试验,计算总耗时。

    步骤依据

    可见语句 `duration = A+BA + B`。

    视频直接表达
  3. 公式
    1(Di>9)\mathbf{1}(D_i>9)
    解释

    若总耗时超过截止时间,则将该次试验标记为成功。

    步骤依据

    打印语句中可见的条件 `(duration > 9)`。

    视频直接表达
  4. 公式
    p^=1N∑i=1N1(Di>9)\hat{p}=\frac{1}{N}\sum_{i=1}^{N}\mathbf{1}(D_i>9)
    解释

    对所有试验的指示变量取平均,以估计该概率。

    步骤依据

    口述说明:将满足条件的实例数量相加,再除以总模拟次数。

    视频直接表达
  5. 公式
    0.1251680.125168
    解释

    读取屏幕上显示的模拟结果。

    步骤依据

    图像下方可见输出。

    视频直接表达
结果

模拟估计值为0.125168,旁白中将其描述为错过烧烤的大致概率为12–13%。

检验

该片段通过在密度直方图上叠加一条位于9处的红色竖线(视觉验证),并打印超出比例(数值验证),来确认结果。

图示与动画 · 11

开场标题及应用图标

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    黑色标题卡片,显示文字“蒙特卡洛模拟”;图标依次出现,分别代表工程、物理、金融、钟形曲线和Python。

图中对象
  1. 标题文字“蒙特卡洛模拟”

  2. 剪贴板/计算器图标

  3. 原子图标

  4. 房屋/金钱图标

  5. 钟形曲线图标

  6. Python标志

变化过程
  1. 图标依次在标题下方逐一出现。

不变量
  1. 标题在整个时间段内始终保持居中并位于顶部。

数学含义

画面将蒙特卡洛模拟介绍为一种广泛应用的方法,并同时预示了其中的概率内容与Python实现。

职场要求与社交承诺之间的对比

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    左侧出现一幅办公室插图,一位老板手持扩音器;右侧出现一幅社交聚会插图;上方显示文字“你能否准时到达?”

图中对象
  1. 包含三人的办公室场景

  2. 手持扩音器的老板

  3. 社交聚会场景

  4. 文字“你能否准时到达?”

变化过程
  1. 先呈现办公室场景,随后在右侧添加社交场景,最后在两者上方显示问题文字。

不变量
  1. 两个场景一旦同时出现,便始终并排呈现。

数学含义

这种视觉并置将概率性问题构建成一种不确定性下的权衡:能否在参加后续活动之前完成报告?

为两份报告分配持续时间区间

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    两个报告图标出现在办公室场景右侧;其下方分别标注“1-5 hrs”和“2-6 hrs”。

图中对象
  1. 红色报告图标

  2. 绿色报告图标

  3. 标注为“1-5小时”和“2-6小时”

变化过程
  1. 报告图标先单独出现,随后在每个图标下方添加时长标签。

不变量
  1. 办公场景始终位于左侧,报告图标始终位于右侧。

数学含义

该视觉设计将模型的不确定输入编码为两个独立的时间区间,每个报告对应一个区间。

覆盖两个时间区间的矩形支撑

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    虚线矩形框出现在标有1至5和2至6的数轴上方,并与两个报告图标对齐。

待核验内容
  1. 该片段在讲解均匀分布之前就结束了。

图中对象
  1. 覆盖1–5的虚线矩形

  2. 覆盖2–6的虚线矩形

  3. 标有1、5、2、6的数轴

变化过程
  1. 矩形是在区间标签确定之后绘制的。

不变量
  1. 每个矩形始终与其对应的时间区间对齐。

数学含义

矩形形状在视觉上暗示了均匀分布:在整个区间内可能性均等,而非集中在某一个点上。

两个带有移动采样标记的均匀区间

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    左侧显示三名办公室工作人员;右侧显示两个彩色文档图标,分别位于标有1至5和2至6的水平区间上方。

  2. 动画
    观察依据

    两条垂直的采样线出现在两个区间内部,并在各自区间内横向移动。

图中对象
  1. 左侧绘有三名办公室工作人员

  2. 红色文档图标位于1至5区间上方

  3. 绿色文档图标位于2至6区间上方

  4. 标有1至5的水平区间

  5. 标有2到6的水平区间

  6. 在每个区间内移动垂直采样线

变化过程
  1. 最初为空的区间框开始显示垂直采样线。

  2. 采样线在每个区间内变换位置,示意随机抽取。

不变量
  1. 下界保持为1和2。

  2. 上界保持为5和6。

  3. 两个区间保持分离,分别对应两份不同的报告。

数学含义

该动画可视化了从两个固定的均匀分布范围中进行随机抽样,每个范围对应一份报告的完成时间。

从输入区间过渡到输出直方图

依据清楚
视频直接表达
来源依据
  1. 动画
    观察依据

    两个区间示意图消失,右侧升起一个青绿色直方图。

  2. 图示
    观察依据

    横轴标签为“完成所需时间”。

待核验内容
  1. 精确的柱频数与坐标轴刻度值不可辨识。

图中对象
  1. 两个消失的区间图

  2. 青绿色直方图柱状条

  3. 水平基线

  4. 坐标轴标签:完成所需时间

变化过程
  1. 输入范围图形消失。

  2. 一个含多根柱状条的直方图从基线向上出现并逐渐增长。

不变量
  1. 办公室工作人员插图保留在左侧。

  2. 该直方图被呈现为与总完成时间相关联的结果。

数学含义

这一视觉过渡表示用求和输出变量的聚合分布来替代单个随机抽样。

逐步编写该模拟程序

依据清楚
视频直接表达
来源依据
  1. 动画
    观察依据

    屏幕切换为深色代码编辑器,代码行依次输入。

  2. 公式
    观察依据

    最终可见的代码块:import numpy as np; sims = 1000000; A = np.random.uniform(1, 5, sims); B = np.random.uniform(2, 6, sims); duration = A+BA + B

图中对象
  1. 深色代码编辑器窗口

  2. 使用 NumPy 编写的 Python 代码行

  3. 标题卡片:步骤1——使用 NumPy 的蒙特卡洛模拟(附 NumPy 标志)

变化过程
  1. 标题卡片先出现,随后切换为编辑器视图。

  2. 代码行逐行输入,直至完整的五行代码片段全部显示出来。

不变量
  1. 该示例始终采用一百万次模拟。

  2. A 的取值范围保持为1和5,B 的取值范围保持为2和6。

数学含义

这段编码过程将先前的概念性解释付诸实践,把均匀输入模型与求和规则转化为可执行的 Python 代码。

初始模拟代码与步骤标题

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    深色代码编辑器中显示初始模拟设置代码行,涉及 `numpy`、`sims`、`A`、`B` 和 `duration`。

  2. 字幕依据
    观察依据

    叠加文字显示:“步骤2:解读结果”,并附有 matplotlib 标志。

图中对象
  1. 代码编辑器

  2. 叠加文字“步骤2:解读结果”

  3. matplotlib 标志

变化过程
  1. 该片段以已写好的模拟代码为开场。

  2. 标题叠加层引出解释步骤。

不变量
  1. 基础随机变量定义在开场数秒内持续可见。

数学含义

这在可视化与概率提取之前确立了蒙特卡洛输入。

实时构建绘图与估计代码

依据清楚
视频直接表达
来源依据
  1. 动画
    观察依据

    代码行按顺序键入:`import matplotlib.pyplot as plt`,`plt.figure(figsize = (3, 1.5))`,`plt.hist(duration, density = True)`,`plt.axvline(9, color = 'r')`,`plt.show()`,以及`print((duration > 9).sum()/sims)`。

  2. 声音
    观察依据

    旁白在每行代码键入时,同步讲解新增的绘图与计数步骤。

图中对象
  1. 代码编辑器

  2. 输入光标

  3. Python 语句

变化过程
  1. 新的绘图命令逐条输入。

  2. 用于计算超出比例的最终 print 语句最后添加。

不变量
  1. 此前定义的 `A`、`B` 和 `duration` 保持不变,位于上方。

数学含义

可视化序列展示了模拟输出如何被转化为密度图和数值概率估计。

已执行的直方图与打印出的概率值

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    一段蓝色直方图出现在代码下方,横轴刻度位于4、6、8、10附近,纵轴刻度为0.0、0.1、0.2。

  2. 图示
    观察依据

    在 x=9x = 9 处绘制了一条红色竖直线。

  3. 公式
    观察依据

    图下方的打印输出显示为 `0.125168`。

待核验内容
  1. 图像中未标注精确的柱状图分组边界,仅可见刻度标记。

图中对象
  1. 蓝色直方图柱形

  2. 位于9处的红色竖直线

  3. 数值输出 `0.125168`

  4. 坐标轴

变化过程
  1. 代码被执行,图表被渲染出来。

  2. 数值化的超越比例显示在图下方。

不变量
  1. 阈值固定为9小时。

  2. 直方图表示变量 `duration` 的分布。

数学含义

红色竖线右侧的区域在视觉上对应事件 `duration > 9`,而显示的数字则量化了该事件的经验概率。

结尾概念图示

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    图示左侧为办公室场景,右侧为烧烤场景。

  2. 字幕依据
    观察依据

    文字显示:`蒙特卡洛方法简单却强大!`

图中对象
  1. 办公室职员

  2. 手持扩音喇叭的老板

  3. 烧烤活动主持人

  4. 字幕文字

变化过程
  1. 编程界面被一幅风格化的插图取代。

  2. 出现一段关于蒙特卡洛方法的总结性字幕。

不变量
  1. 本结尾段落未引入任何新的数学符号。

数学含义

该可视化图总结了本例的实际意义:模拟将工作时间的不确定性与是否参加烧烤聚会这一实际决策联系起来。

易错点 · 5

切勿仅凭该设置推断出数值答案。

依据清楚
补充解释
来源依据
  1. 声音
    观察依据

    视频片段结束时,讲述者仍在介绍均匀分布。

  2. 图示
    观察依据

    仅展示了区间与矩形的设置;未出现抽样次数或概率估计值。

误区

有人可能认为该片段已计算出按时完成的概率,因为此时正在引入不确定性模型。

说明

在此120秒的片段中,视频仅设置了蒙特卡洛模拟的输入,并命名了均匀分布;尚未执行模拟,也未给出概率估计。

输入分布估计不准会削弱模拟的可靠性

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    所选取的这些数值将基于我们定义的均匀分布,因此在初始阶段就对这些分布做出良好估计至关重要。

误区

有人可能认为,无论输入分布如何选定,模拟输出都同样可靠。

说明

视频明确警示:抽样所得数值依赖于所定义的分布,因此在初始阶段对这些分布做出准确估计极为关键。

蒙特卡洛方法并非基于单次随机抽取。

时间近似
依据视频推导
来源依据
  1. 声音
    观察依据

    现在让我们加快这一过程,将其执行数千次,甚至数百万次。我们将存储所有这些随机选取的值,完成之后,便可利用这些存储的结果,近似估计完成两份报告所需总时间的分布。

待核验内容
  1. 这一误解源于对重复操作的强调,而非明确指出其为某种已命名的错误。

误区

单次随机选取完成时间就已能描述总时间的分布。

说明

该解释强调需将随机选取操作重复数千次或数百万次,并在估计输出分布之前,先存储全部结果。

若设置了 `density=True`,直方图就并非自动成为计数图表。

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲解者明确指出设置了 `density=True`,使图表呈现为概率密度形式。

  2. 图示
    观察依据

    所得纵轴数值是较小的小数,而非较大的计数值。

误区

人们可能误以为所绘制的柱状图高度是模拟结果的原始频数。

说明

该片段说明并展示了 `density=True` 会将直方图重新缩放为概率密度,因此纵轴不再采用简单的计数刻度。

模拟估计值并未被呈现为严格的解析证明。

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲解者称,这可以“无需进行任何手算或推导”即可完成。

误区

人们可能误将打印出的 `0.125168` 当作通过符号推导得出的闭式精确概率。

说明

视频中呈现的这个数值,是通过对模拟结果进行计数而获得的蒙特卡洛估计值,而非通过解析方法推导出的概率。

概念关系 · 12

蒙特卡洛模拟作为一种概率性问题求解框架 → 本例中蒙特卡洛模拟的第一步

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲述者指出,这些假设为蒙特卡洛模拟的第一步提供了依据,即为每个不确定因素分配不确定性度量。

包含
解释

对蒙特卡洛模拟的一般性介绍中,包含了本例所采用的具体第一步:对每个相关随机因素量化其不确定性。

本例中蒙特卡洛模拟的第一步 → 将均匀分布作为不确定性模型引入

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    在命名第一步之后,讲述者选用均匀分布来刻画每份报告的完成时间。

  2. 图示
    观察依据

    两个区间上方出现了矩形支撑。

应用
解释

此处将“分配不确定性度量”这一抽象的第一步具体化为:用均匀分布建模每份报告的持续时间。

对两份报告完成时间的独立性假设 → 将均匀分布作为不确定性模型引入

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    讲述者指出,一份报告的完成表现对另一份报告没有影响,随后分别对两个完成时间建模。

证明依赖
解释

在明确假设两项任务完成时间相互独立的前提下,为两份报告分别采用均匀分布模型。

均匀分布假设 → 蒙特卡洛模拟的核心思想

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    该概率分布假设:在给定的最小值与最大值之间,所有可能结果的相对可能性均相同。而此处正是蒙特卡洛模拟之精妙与简洁所在。

先修
解释

本片段中所采用的蒙特卡洛方法,首先构建输入的概率分布,特别是为两份报告的完成时间分别设定均匀分布。

蒙特卡洛模拟的核心思想 → 直方图作为输出分布的近似

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    我们可以利用这些存储的结果,近似估计完成两份报告所需总时间的分布。

  2. 图示
    观察依据

    区间抽样动画结束后,出现一个标注为“完成时间”的直方图。

应用
解释

存储的模拟输出结果通过直方图进行汇总,以近似表示总完成时间的分布。

蒙特卡洛模拟的核心思想 → 导入 NumPy 用于模拟

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    因此,为真正理解蒙特卡洛模拟,我们快速演示一下如何实现它。本视频中,我将使用 Python 来完成。

  2. 公式
    观察依据

    代码严格按照概念描述实现了均匀抽样与求和运算。

应用
解释

Python 部分使用 NumPy 函数,应用概念性的蒙特卡洛工作流程。

生成报告 A 的完成时间 → 总完成时间作为求和结果

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    持续时间等于 A 加 B

  2. 声音
    观察依据

    完成这两份报告所需的总时间,就是它们各自耗时的简单相加。

证明依赖
解释

总耗时公式直接依赖于已生成的数组 A 和 B。

生成报告 B 的完成时间 → 总完成时间作为求和结果

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    持续时间等于 A 加 B

  2. 声音
    观察依据

    完成这两份报告所需的总时间,就是它们各自耗时的简单相加。

证明依赖
解释

总耗时公式还依赖于模拟得到的数组 B。

任务持续时间的均匀随机抽样 → 总持续时间为两项任务时间之和

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    代码首先定义 `A` 和 `B`,然后定义 `duration = A+BA + B`。

先修
解释

总工期变量直接由两个均匀采样的任务时间数组构建而成。

总持续时间为两项任务时间之和 → 密度归一化直方图

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    `plt.hist(duration, density = True)` 使用了先前定义的 `duration` 数组。

应用
解释

密度直方图由模拟得到的总工期计算得出。

密度归一化直方图 → 以经验频率作为概率估计

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    直方图中使用的同一 `duration` 数组,也用于表达式 `(duration > 9).sum()/sims` 中。

  2. 声音
    观察依据

    旁白将视觉阈值线与估计超过该阈值的概率联系起来。

对比
解释

直方图为分布提供了直观概览,而打印出的分数则直接给出了超限概率的数值估计。

超越概率的蒙特卡洛估计 → 估算错过9小时烧烤截止时间的概率

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    整个片段围绕运用模拟方法回答‘烧烤截止时间’问题展开。

  2. 公式
    观察依据

    该代码在此具体问题上实现了通用的蒙特卡洛方法流程。

应用
解释

通用蒙特卡洛估计方法在本例烧烤问题的演算中得到了具体化。

问题定位 · 17

本视频开头将蒙特卡洛模拟描述为什么?

依据清楚
补充解释
来源依据
  1. 声音
    观察依据

    开场旁白介绍了蒙特卡洛模拟及其应用。

  2. 图示
    观察依据

    标题画面与应用图标。

涉及知识点
  1. 蒙特卡洛模拟作为一种概率性问题求解框架

在此办公室截止时间示例中,蒙特卡洛模拟的第一步是什么?

依据清楚
补充解释
来源依据
  1. 声音
    观察依据

    讲述者在示例中明确指出了蒙特卡洛模拟的第一步。

涉及知识点
  1. 本例中蒙特卡洛模拟的第一步

视频如何开始对不确定的报告完成时间进行建模?

时间近似
补充解释
来源依据
  1. 声音
    观察依据

    讲述者称,两份报告的完成时间服从均匀分布。

  2. 图示
    观察依据

    覆盖区间1–5和2–6的矩形。

待核验内容
  1. 该解释在结束前被中断。

涉及知识点
  1. 将均匀分布作为不确定性模型引入

关于这两份报告,做出了怎样的独立性假设?

依据清楚
补充解释
来源依据
  1. 声音
    观察依据

    讲述者指出,一份报告的完成表现对另一份报告没有影响。

涉及知识点
  1. 对两份报告完成时间的独立性假设

本片段是计算按时完成的概率,还是仅构建概率模型?

依据清楚
补充解释
来源依据
  1. 声音
    观察依据

    讲述者提出了截止时间问题,并开始构建概率模型。

  2. 图示
    观察依据

    办公室场景与聚会场景的对比、报告完成时间区间,以及均匀分布的矩形图示。

涉及知识点
  1. 用办公室截止时间示例引出蒙特卡洛模拟方法
  2. 将均匀分布作为不确定性模型引入

视频中所说的‘在最小值与最大值之间的均匀分布’是什么意思?

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    该概率分布假设:在给定最小值与最大值之间的所有可能结果,其相对可能性均相同。

涉及知识点
  1. 均匀分布假设

为什么蒙特卡洛模拟需要进行数千次乃至数百万次的重复随机抽样?

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    重复执行数千次、甚至数百万次……再利用这些存储下来的结果,近似估计出分布形态。

涉及知识点
  1. 蒙特卡洛模拟的核心思想
  2. 直方图作为输出分布的近似

直方图如何用于估计总完成时间的分布?

依据清楚
视频直接表达
来源依据
  1. 图示
    观察依据

    青绿色直方图‘完成所需时间’出现在区间动画之后。

涉及知识点
  1. 直方图作为输出分布的近似

生成随机样本前,视频中展示了怎样的 Python 环境设置?

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    导入 numpy 库并命名为 np;sims 等于1000000

涉及知识点
  1. 导入 NumPy 用于模拟
  2. 选择模拟次数

在 NumPy 中,两个报告完成时间数组是如何生成的?

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    A 是从 1 到 5 之间均匀随机生成的 sims 个数;B 是从 2 到 6 之间均匀随机生成的 sims 个数

涉及知识点
  1. 生成报告 A 的完成时间
  2. 生成报告 B 的完成时间

视频中如何计算完成两份报告所需的总时间?

依据清楚
视频直接表达
来源依据
  1. 公式
    观察依据

    持续时间等于 A 加 B

涉及知识点
  1. 总完成时间作为求和结果

视频在何处指出,该模拟分布可用于估计能否准时赶到派对的概率?

依据清楚
视频直接表达
来源依据
  1. 声音
    观察依据

    现在我们可以利用它来推算能否及时赶到派对的概率。

待核验内容
  1. 实际的概率计算并未在此片段中展示。

涉及知识点
  1. 直方图作为输出分布的近似
  2. 估算完成两份报告所需的总时间
覆盖情况与待核验内容

已覆盖 · 蒙特卡洛模拟的导引标题与应用概览。

已覆盖 · 以办公室与聚会的对比情境为切入点,引出其中蕴含的概率问题。

已覆盖 · 关于两份报告完成时长的假设,以及蒙特卡洛方法第一步的识别。

已覆盖 · 引入均匀分布作为刻画不确定性的模型;本片段在进一步解释或计算之前即告结束。

已覆盖 · 音频在画面上显示两个有界区间的同时,定义了该分布的等可能性性质。

已覆盖 · 旁白介绍了蒙特卡洛模拟以及从已定义分布中进行随机抽样;动画则演示了样本线在区间内移动的过程。

已覆盖 · 区间图逐渐过渡为一张标注为“完成所需时间”的直方图,同时旁白讲解如何利用已存储的结果来估计输出分布。

已覆盖 · 标题卡片显示步骤1:使用 NumPy 进行蒙特卡洛模拟,随后代码编辑器出现,并输入 import numpy as np。

已覆盖 · 变量 sims 被设为1000000,旁白选择一百万次模拟。

已覆盖 · 代码行分别从均匀区间1到5和2到6生成 A 和 B。

已覆盖 · 最后一行代码计算 duration = A+BA + B,旁白解释总时间为两部分之和。

已覆盖 · 在视频片段最后一秒,除已完成的代码块外,未再出现任何额外的数学内容。

已覆盖 · 开场代码定义了模拟规模、两个均匀随机变量及其和;标题叠加层引入了解释说明。

已覆盖 · 导入 Matplotlib 库,并在代码中构建密度直方图及阈值线。

已覆盖 · 输入并讲解用于打印超出比例的代码。

已覆盖 · 执行输出显示直方图、位于9处的红色线条,以及打印出的概率0.125168;旁白将其解释为约12–13%。

已覆盖 · 结尾插图与口头总结强调:蒙特卡洛模拟简单、直观,且有助于回答概率问题;不引入任何新公式。

探索视频中的知识

已审核的主题路径

这个视频解答的问题

认识概念

↗
掌握方法

↗
认识概念

↗
理解原因

↗
理解原因

↗
掌握方法

↗
认识概念

↗