scipy.stats.qmc.LatinHypercube.
整数#
- LatinHypercube.integers(l_bounds, *, u_bounds=None, n=1, endpoint=False, workers=1)[source]#
从 l_bounds(包含)到 u_bounds(不包含)中抽取 n 个整数,或者如果 endpoint=True,则从 l_bounds(包含)到 u_bounds(包含)中抽取。
- 参数:
- l_boundsint 或类似数组的整数
要抽取的最低(带符号)整数(除非
u_bounds=None
,在这种情况下,此参数为 0,此值用于 u_bounds)。- u_boundsint 或类似数组的整数,可选
如果提供,则为要抽取的最大(带符号)整数(请参阅上面的行为,如果
u_bounds=None
)。 如果类似数组,则必须包含整数值。- nint,可选
在参数空间中生成的样本数量。 默认值为 1。
- endpointbool,可选
如果为真,则从间隔
[l_bounds, u_bounds]
而不是默认的[l_bounds, u_bounds)
中采样。 默认值为 False。- workersint,可选
用于并行处理的工作进程数量。 如果给出 -1,则使用所有 CPU 线程。 仅在使用
Halton
时支持。 默认值为 1。
- 返回:
- sample类似数组 (n, d)
QMC 样本。
注释
使用 QMC 对
[0, 1)
进行整数映射与使用 MC 进行整数映射是安全的。 你仍然可以获得无偏性、强数大定律、渐近无限的方差减少和有限样本方差界。要将样本从 \([0, 1)\) 转换为 \([a, b), b>a\),其中 \(a\) 为下界,\(b\) 为上界,使用以下变换
\[\text{floor}((b - a) \cdot \text{sample} + a)\]