练习(Exercises)
② 1.编写一个程序,比较蒙特卡洛方法和一种或多种可替代的数值积分技术。将该程序结构化,以便于替换被积分的特定函数。验证不同技术在足够样本数量的情况下计算出相同的结果。修改您的程序,使其从均匀分布以外的分布中抽取样本用于蒙特卡洛估计,并验证在使用正确的估计量(方程(2.7))时仍能计算出正确的结果。(确保您使用的任何替代分布在选择任何使 \( f(x) > 0 \) 的 \( x \) 时具有非零概率。)
① 2.编写一个程序,计算给定函数的积分的无偏蒙特卡洛估计。通过进行一系列试验,逐步增加样本数量,并计算每个试验的均方误差,以估计估计值的方差。通过数值演示方差以 \( O(n) \) 的速率减少。
② 3.在第 2.3.2 节中,线性插值函数的采样算法隐含地假设 \( a,b \geq 0 \) ,因此 \( f(x) \geq 0 \) 。如果 \( f \) 为负,则重要性采样 PDF 应与 \( |f(x)| \) 成正比。将 SampleLinear() 及其相关的 PDF 和反演函数推广到处理 \( f \) 始终为负的情况,以及由于 \( a \) 和 \( b \) 具有不同符号而穿越零的情况。