随机数生成器 (scipy.stats.sampling)#

本模块包含一系列随机数生成器,用于从单变量连续和离散分布中进行采样。它使用了名为“UNU.RAN”的 C 库实现。唯一的例外是 RatioUniforms,它是 Ratio-of-Uniforms 方法的纯 Python 实现。

包装的生成器#

对于连续分布#

NumericalInverseHermite(dist, *[, domain, ...])

基于 Hermite 插值的 CDF 逆变换 (HINV)。

NumericalInversePolynomial(dist, *[, mode, ...])

基于多项式插值的 CDF 逆变换 (PINV)。

TransformedDensityRejection(dist, *[, mode, ...])

变换密度拒绝 (TDR) 方法。

SimpleRatioUniforms(dist, *[, mode, ...])

简单均匀比 (SROU) 方法。

RatioUniforms(pdf, *, umax, vmin, vmax[, c, ...])

使用均匀比方法从概率密度函数生成随机样本。

对于离散分布#

DiscreteAliasUrn(dist, *[, domain, ...])

离散别名-瓮方法。

DiscreteGuideTable(dist, *[, domain, ...])

离散引导表方法。

scipy.stats.sampling 中使用的警告/错误#

UNURANError

当 UNU.RAN 库中发生错误时抛出。

预定义分布的生成器#

为了方便地将上述方法应用于 scipy.stats 中的一些连续分布,可以使用以下功能:

FastGeneratorInversion(dist, *[, domain, ...])

通过对 scipy.stats 中一大类连续分布的 CDF 进行数值逆变换,实现快速采样。