當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python numpy random.mtrand.RandomState.triangular用法及代碼示例


用法:

RandomState.triangular(left, mode, right, size=None)

從區間上的三角形分布中抽取樣本[left, right]

三角分布是連續的概率分布,左下限,模式峰值和右上限。與其他分布不同,這些參數直接定義了pdf的形狀。

參數:
left float 或 array_like of floats

下限。

mode float 或 array_like of floats

分布峰值出現的值。該值必須滿足條件left <= mode <= right

right float 或 array_like of floats

上限,必須大於左側。

size int 或 tuple of ints, 可選參數

輸出形狀。如果給定的形狀是(m, n, k), 然後m * n * k抽取樣品。如果尺寸是None(默認),如果返回一個值leftmoderight都是標量。除此以外,np.broadcast(left, mode, right).size抽取樣品。

返回值:
out ndarray或標量

從參數化的三角分布中抽取樣本。

注意:

三角分布的概率密度函數為

P(x;l, m, r) = \begin{cases}
\frac{2(x-l)}{(r-l)(m-l)}& \text{for $l \leq x \leq m$},\\
\frac{2(r-x)}{(r-l)(r-m)}& \text{for $m \leq x \leq r$},\\
0& \text{otherwise}.
\end{cases}

三角形分布通常用於ill-defined問題中,其中基礎分布未知,但是存在一些關於極限和模式的知識。通常將其用於仿真中。

參考文獻:

[1]維基百科,“Triangular distribution”https://en.wikipedia.org/wiki/Triangular_distribution

例子:

從分布中繪製值並繪製直方圖:

>>> import matplotlib.pyplot as plt
>>> h = plt.hist(np.random.triangular(-3, 0, 8, 100000), bins=200,
...              density=True)
>>> plt.show()
../../../_images/numpy-random-mtrand-RandomState-triangular-1.png

注:本文由純淨天空篩選整理自 numpy.random.mtrand.RandomState.triangular。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。