Python:Halton和Hammersley准随机序列

时间:2017-11-03 11:28:03

标签: python numpy scipy

我正在尝试构建Hammersley和Halton准随机序列。我有三个变量x1,x2和x3。它们都有整数值。 x1的范围为2-4,x2为2-4,x3为1-7。有没有可以创建这些序列的python包?我看到有一些像sobol或SALib这样的程序,但它们没有实现Halton和Hammersley。

祝你好运

1 个答案:

答案 0 :(得分:0)

大多数库方法为任意尺寸提供低差异方法,不会包含允许您为每个单独的尺寸/组件定义任意间隔的参数。但是,在几乎所有这些情况下,您都可以通过添加一行代码来使现有方法适应您的需求。了解这一点将大大增加您可以选择使用的库的数量!

对于几乎所有的低差异(准随机)序列,每个项均以半开放范围[0,1]均匀分布。 同样,对于d维序列,每个项的每个分量都落在[0,1)中。

这包括Halton序列(如果是van der Corput,则为通用),Hammersley,Weyl / Kronecker,Sobol和Niederreiter序列。

可以通过线性变换x = a +(b-a)z将值从[0,1)转换为[a,b)。 因此,如果规范的低差异序列的第n个项是(z_1,z_2,z,z_3),那么您所需的序列是(2 + 2 * z1、2 + 2 * z2、1 + 6 * z3)。 / p>