我如何知道要使用哪个低差异序列?

计算科学 蒙特卡洛 随机数生成
2021-12-09 08:27:54

每当使用准蒙特卡罗方法进行容积或优化时,似乎有各种各样的低差异序列可供选择,与 van der Corput、Halton、Hammersley、Faure、Niederreiter、Sobol' 的名称相关联,和其他我不太记得的名字。关于如何为您的计算选择最合适的低差异序列,是否有任何好的经验法则?

4个回答

Koksma -Hlawka 不等式指出,如果f有界变化V(f)在单位超立方体上的哈代和克劳斯的意义上Is,则误差界由 的乘积给出V(f)以及所用序列的星差。误差仅取决于差异得出两个结论。首先,选择差异最小的序列。其次,被积函数的规律性在这个界中没有任何作用,因此在实践中它不是很有用。要将有关被积函数的更多信息纳入误差分析,您必须在序列之间进行实验比较,或者考虑除基本的准蒙特卡洛之外的其他方法。

我的理解是,这种情况反映了迭代方法中的情况。我们可以证明一般的结果,比如1N正交误差的衰减,但不能先验地确定给定问题的最优算法。是用于序列生成的开源软件目录。我认为这里最好的方法是更多的测试和比较。

每个 LDS 序列都有特定的优点和注意事项,讨论它们会写很多书(查看 Lemieux 的介绍),但总的来说,最通用的一个被证明是 Sobol 序列(确保使用来自 Joe&Kuo 的最新参数)。所有其他在实践中总是需要对基本公式的被积函数和 LDS 点(例如加扰)进行重大的额外修改。Sobol' 也有很多问题,但足够灵活,可以用于低维最足够平滑的集成。无论如何,请记住将您的 QMC 解决方案与(较慢的)MC 解决方案进行比较:对于低(合理)样本量,QMC 可能会返回有偏差的估计。

还有更先进的 LDS 结构可以适应给定的问题,但可用的软件很少。

有关您的特定任务的一些信息将有助于集中答案。

在我们使用蒙特卡罗模拟的地方,建议(来自在其他国家实验室工作的人)是使用“好的”伪随机数生成器我工作的最后一个使用Yarrow,但较新的将使用FortunaMersenne-Twister