隨機亂數產生器 (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, ...])

透過數值反演 CDF,對 scipy.stats 中的大量連續分佈進行快速取樣。