qrvs#
- FastGeneratorInversion.qrvs(size=None, d=None, qmc_engine=None)[源代码][源代码]#
给定分布的拟随机变量。
qmc_engine 用于生成均匀的准随机变量,这些变量通过逆变换采样转换为给定分布的准随机变量。
- 参数:
- 大小int, int 的元组, 或 None; 可选
定义随机变量数组的形状。默认值为
None
。- dint 或 None, 可选
定义要转换的均匀准随机变量的维度。默认为
None
。- qmc_enginescipy.stats.qmc.QMCEngine(d=1), 可选
定义用于绘制准随机变量的对象。默认值为
None
,使用 scipy.stats.qmc.Halton(1)。
- 返回:
- rvsndarray 或标量
准随机变量。形状信息请参见注释。
注释
输出数组的形状取决于 size、d 和 qmc_engine。目的是使接口自然,但实现这一目标的详细规则是复杂的。
如果 qmc_engine 是
None
,则会创建一个维度为 d 的scipy.stats.qmc.Halton
实例。如果未提供 d,则d=1
。如果 qmc_engine 不是
None
且 d 是None
,则 d 由 qmc_engine 的维度决定。如果 qmc_engine 不是
None
且 d 不是None
但维度不一致,则会引发ValueError
。根据上述规则确定 d 后,输出形状为
tuple_shape + d_shape
,其中:tuple_shape = tuple()
如果 size 是None
,tuple_shape = (size,)
如果 size 是一个int
,tuple_shape = size
如果 size 是一个序列,d_shape = tuple()
如果 d 是None
或者 d 是 1,并且d_shape = (d,)
如果 d 大于 1。
返回数组的元素是低差异序列的一部分。如果 d 是 1,这意味着没有任何样本是真正独立的。如果 d > 1,每个切片
rvs[..., i]
将是一个准独立序列;详见scipy.stats.qmc.QMCEngine
。请注意,当 d > 1 时,返回的样本仍然是所提供的一元分布的样本,而不是该分布的多变量泛化。