scipy.stats.sampling.FastGeneratorInversion.

qrvs#

FastGeneratorInversion.qrvs(size=None, d=None, qmc_engine=None)[源代码]#

给定分布的准随机变量。

使用qmc_engine绘制均匀准随机变量,并使用逆变换采样将其转换为给定分布的准随机变量。

参数:
sizeint,整数元组或 None;可选

定义随机变量数组的形状。默认值为 None

dint 或 None,可选

定义要转换的均匀准随机变量的维度。默认值为 None

qmc_enginescipy.stats.qmc.QMCEngine(d=1),可选

定义用于绘制准随机变量的对象。默认值为 None,它使用 scipy.stats.qmc.Halton(1)

返回:
rvsndarray 或标量

准随机变量。有关形状信息,请参阅“说明”。

说明

输出数组的形状取决于 sizedqmc_engine。目的是使接口自然,但实现此目的的详细规则很复杂。

  • 如果 qmc_engineNone,则会创建一个维度为 dscipy.stats.qmc.Halton 实例。如果未提供 d,则 d=1

  • 如果 qmc_engine 不为 NonedNone,则 dqmc_engine 的维度确定。

  • 如果 qmc_engine 不为 Noned 不为 None,但维度不一致,则会引发 ValueError

  • 根据上述规则确定 d 后,输出形状为 tuple_shape + d_shape,其中

    • 如果 sizeNone,则 tuple_shape = tuple()

    • 如果 sizeint,则 tuple_shape = (size,)

    • 如果 size 为序列,则 tuple_shape = size

    • 如果 dNoned 为 1,则 d_shape = tuple(),并且

    • 如果 d 大于 1,则 d_shape = (d,)

返回的数组的元素是低差异序列的一部分。如果 d 为 1,这意味着没有样本是真正独立的。如果 d > 1,则每个切片 rvs[..., i] 将是准独立序列;有关详细信息,请参阅 scipy.stats.qmc.QMCEngine。请注意,当 d > 1 时,返回的样本仍然是提供的单变量分布的样本,而不是该分布的多元推广。