一、蒙特卡洛模拟的理论基础和数学原理详解
1. 概念概述
蒙特卡洛模拟是一类利用随机抽样和统计分析来求解确定性或不确定性问题的数值算法。其核心思想是在已知或假定的概率分布下,通过大量重复随机实验进行抽样,并对结果进行统计汇总,从而近似求解问题的期望值、分布特性或风险范围。
2. 数学原理和统计基础
-
概率分布的选择
蒙特卡洛模拟需要对输入参数进行概率建模。设有一个待估计的期望值或指标:
θ=E[f(X)]\LARGE \theta = \mathbb{E}[f(X)] θ=E[f(X)]
其中,XXX 是具有已知或假设概率分布 pX(x)p_X(x)pX(x) 的随机变量,f(⋅)f(\cdot)f(⋅) 为目标函数(如灾害损失函数、灾害强度函数等)。
当我们无法对期望值 θ\thetaθ 进行解析求解时,可通过对 XXX 的分布进行抽样来逼近。具体为:
θ≈1N∑i=1Nf(xi),xi∼pX(x)\LARGE \theta \approx \frac{1}{N}\sum_{i=1}^{N} f(x_i), \quad x_i \sim p_X(x) θ≈N1i=1∑Nf(xi),xi∼pX(x)
随着样本数 NNN 的增加,根据大数定律(Law of Large Numbers),该平均值将以概率收敛于真值 θ\thetaθ。
-
随机数生成方法
要从指定分布 pX(x)p_X(x)pX(x) 抽样,需要先有均匀分布 [0,1][0,1][0,1] 的随机数。常用的随机数生成器(如 Mersenne Twister)能产生近似独立同分布的均匀随机数 ui∈[0,1]u_i \in [0,1]ui∈[0,1]。
将均匀随机数转化为目标分布随机数的方法主要包括:
-
反函数变换法(Inverse Transform Sampling)
如果 XXX 的累积分布函数(CDF)为 FX(x)F_X(x)FX(x),则给定 u∼U(0,1)u \sim U(0,1)u∼U(0,1),x=FX−1(u)\LARGE x = F_X^{-1}(u) x=FX−1(u)
即可得到分布 pXp_XpX 的随机样本。
-
拒绝采样(Rejection Sampling)
通过在较易采样的分布(提议分布 q(x)q(x)q(x))上产生样本,然后根据设定的接受-拒绝准则来筛选样本:接受概率=pX(x)M q(x),\LARGE \text{接受概率} = \frac{p_X(x)}{M \, q(x)}, 接受概率=M
-