蒙特卡罗方法计算定积分
目录
1 简单抽样 2
1.1 掷石法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 平均值法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 提取法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 奇异积分 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 重要抽样 3
2.1 重要抽样 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 权重 Monte Carlo 积分 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1
1 简单抽样
1.1 掷石法
考虑函数 𝑓 (𝑥) 在区间 [𝑎, 𝑏] 上的定积分
𝐼 =
𝑏
𝑎
𝑓 (𝑥)𝑑𝑥
可以取一个 [ 𝑎, 𝑏] × [0, 𝑓
max
] 的矩形, 在其中以均匀分布采样 𝑁 , 对落入积分区域的点计数. 设计数
𝑛, 则积分值为
𝑏
𝑎
𝑓 (𝑥)𝑑𝑥 =
𝑛
𝑁
𝑓
max
(𝑏 𝑎)
这是因为
𝑛
𝑁
是积分区域面积与大矩形面积 𝑓
𝑚𝑎 𝑥
(𝑏 𝑎) 的比值
1.2 平均值法
定积分有平均值定理
𝑏
𝑎
𝑓
(
𝑥
)
𝑑𝑥
=
(
𝑏
𝑎
)
𝑓
(
𝑥
)
其中
𝑓 (𝑥)
𝑓 (𝑥) [𝑎, 𝑏] 上的平均值, 而平均值可以用蒙特卡罗方法估计
𝑓 (𝑥)
=
1
𝑁
𝑁
𝑖=1
𝑓 (𝑥
𝑖
)
其中 𝑥
𝑖
是在 [𝑎, 𝑏] 上均匀抽样的 𝑁 个点
1.3 提取法
对于一个不能直接解析积分的函数 𝑓 (𝑥), 可以找一个与其相近的可解析积分的函数 𝑔(𝑥), 设有
𝐼 =
𝑏
𝑎
𝑔(𝑥)𝑑𝑥
只需要计算 𝑔(𝑥) 𝑓 (𝑥) 的差值即可. 由于 𝑓 (𝑥) 𝑔(𝑥) 相近, 差值应是比较均匀的, 使用蒙特卡罗方法
估计误差会比直接估计 𝑓 (𝑥) 小很多
𝑏
𝑎
𝑓 (𝑥)𝑑𝑥 = 𝐼 + (𝑏 𝑎)
𝑓 (𝑥) 𝑔(𝑥)
1.4 奇异积分
蒙特卡罗方法抽样抽到奇异点的概率很小, 还可以排除奇异点附近的一个小区域
2 重要抽样
2.1 重要抽样
重要抽样希望通过对贡献大的位置 (即分布多的地方) 多抽, 而减小计算误差. 设期望抽样的密度函
数为 𝑓 (𝑥), 有一个与它相近的较简单的密度函数 𝑔(𝑥) 满足
𝑓 (𝑥)
𝑔(𝑥)
1,
𝑔(𝑥)d𝑥 = 1
那么 𝑓 (𝑥) 的积分就变为了
𝑏
𝑎
𝑓 (𝑥)d𝑥 =
𝑏
𝑎
𝑓 (𝑥)
𝑔(𝑥)
𝑔(𝑥)d𝑥
此时的 𝑔(𝑥) 就可以视为权值.抽样的权值可以表现在抽样点的分布密度上. 若是以 𝑔(𝑥) 为抽样的概率密
度函数, 则积分的求和可以化为
𝑏
𝑎
𝑓 (𝑥)d𝑥 (𝑏 𝑎)
𝑓 (𝑥)
𝑔(𝑥)
𝑏 𝑎
𝑁
𝑁
𝑖=1
𝑓 (𝑥
𝑖
)
𝑔(𝑥
𝑖
)
2.2 权重 Monte Carlo 积分
𝑔(𝑥) 是归一化的, 则可以令 d𝑦 = 𝑔(𝑥)d𝑥,
𝑦 =
𝑥
𝑎
𝑔(𝑥
)d𝑥
那么自然积分就变为了
𝑏
𝑎
𝑓 (𝑥)d𝑥 =
1
0
𝑓 (𝑥 (𝑦))
𝑔(𝑥(𝑦))
d𝑦
𝑔(𝑥) 不是归一的, 假设
𝑐 =
𝑏
𝑎
𝑔(𝑥)d𝑥
那么上述积分只是积分限改变
𝑏
𝑎
𝑓 (𝑥)d𝑥 =
𝑐
0
𝑓 (𝑥 (𝑦))
𝑔(𝑥(𝑦))
d𝑦