← 返回模型库
MODEL / 统计

蒙特卡洛模拟

问题含随机性、解析解难以求出,例如命中概率、风险损失分布、排队系统性能评估。

核心公式

\hat{\theta}=\frac{1}{N}\sum_{i=1}^{N}g\!\left(X_i\right),\qquad \hat{\theta}\pm z_{1-\alpha/2}\frac{s}{\sqrt{N}}

Python 最小示例

下载 .py 文件 ↓

依赖见代码开头;示例在自己的 Python 环境运行,页面不执行代码。用于理解方法,正式参赛请补齐数据检验与误差分析。

Python · 蒙特卡洛模拟
# 依赖: numpy
import numpy as np

rng = np.random.default_rng(42)
N = 200_000                                   # 迭代次数必须写进论文
x = rng.uniform(0.0, 1.0, N)
y = rng.uniform(0.0, 1.0, N)

hit = (x ** 2 + y ** 2) <= 1.0
p = hit.mean()
se = np.sqrt(p * (1 - p) / N)                 # 必须给出置信区间
print(f'估计值 = {4 * p:.4f}  95% CI = ± {1.96 * 4 * se:.4f}  (N={N})')

用它研究过哪些问题?

浏览赛题库 →