在 NumPy 中如何生成两个报告完成时间数组?
两个报告完成时间数组是使用 `np.random.uniform` 函数生成的。报告 A 通过从 1 到 5 小时的均匀分布中抽取 `sims` 个独立值来建模,报告 B 通过从 2 到 6 小时的均匀分布中抽取 `sims` 个独立值来建模。
适用条件
- 使用前面介绍的均匀模型。
- `sims` 必须已经定义。
理解与推导
- 使用 `sims = 1000000` 将模拟运行次数设置为一百万。
- 使用 `A = np.random.uniform(1, 5, sims)` 从 1 到 5 小时的区间生成一百万个报告 A 的随机完成时间。
- 使用 `B = np.random.uniform(2, 6, sims)` 从 2 到 6 小时的区间生成一百万个报告 B 的随机完成时间。
- 使用 `duration = ` 通过将 A 和 B 相加来计算每次配对模拟运行的总完成时间。
例子
可见的代码行是 `A = np.random.uniform(1, 5, sims)` 和 `B = np.random.uniform(2, 6, sims)`。旁白说:“它们将在 1 到 5 小时和 2 到 6 小时之间完成,所以让我们为这些函数的参数定义这些值。”
容易误解的地方
- 假设数组是使用正态分布而不是均匀分布生成的。
- 忘记 `np.random.uniform` 中的第三个参数指定了要生成的样本数量。
观看对应讲解
YouTube解决真正难题的简单方法:蒙特卡洛模拟
3:30 – 3:44原站看这一段 ↗
继续追问
答案依据视频资料生成并经过独立核验。若有疑问,请核对原视频或联系原作者。