scipy.stats.
make_distribution#
- scipy.stats.make_distribution(dist)[原始碼]#
從
rv_continuous
的實例產生 ContinuousDistribution傳回值是 ContinuousDistribution 子類別。如同 ContinuousDistribution 的任何子類別,它必須先被實例化(即透過傳遞所有形狀參數作為關鍵字引數)才能使用。一旦實例化,產生的物件將具有與 ContinuousDistribution 的任何其他實例相同的介面;例如,
scipy.stats.Normal
。注意
make_distribution
並非完美適用於所有rv_continuous
的實例。已知的失敗案例包含levy_stable
和vonmises
,且某些分佈的某些方法將不支援陣列形狀參數。- 參數:
- dist
rv_continuous
rv_continuous
的實例。
- dist
- 傳回:
- CustomDistributionContinuousDistribution
與 dist 對應的 ContinuousDistribution 子類別。初始化器需要將所有形狀參數作為關鍵字引數傳遞(使用與
rv_continuous
的實例相同的名稱)。
註解
ContinuousDistribution 的文件未呈現。請參閱下方範例,了解如何實例化類別(即將 dist 的所有形狀參數作為關鍵字引數傳遞給初始化器)。所有方法的文件與
scipy.stats.Normal
的文件相同。請對傳回的類別或其方法使用help
以取得更多資訊。範例
>>> import numpy as np >>> import matplotlib.pyplot as plt >>> from scipy import stats >>> LogU = stats.make_distribution(stats.loguniform) >>> X = LogU(a=1.0, b=3.0) >>> np.isclose((X + 0.25).median(), stats.loguniform.ppf(0.5, 1, 3, loc=0.25)) np.True_ >>> X.plot() >>> sample = X.sample(10000, rng=np.random.default_rng()) >>> plt.hist(sample, density=True, bins=30) >>> plt.legend(('pdf', 'histogram')) >>> plt.show()