Spec-Zone.ru › NumPy 1.21

numpy.random.triangular

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

Draw samples from the triangular distribution over the interval [left, right].

The triangular distribution is a continuous probability distribution with lower limit left, peak at mode, and upper limit right. Unlike the other distributions, these parameters directly define the shape of the pdf.

Примечание

Новый код должен использовать метод triangular экземпляра default_rng(); см. Быстрый старт.

Parameters
leftfloat or array_like of floats

Нижний предел.

modefloat or array_like of floats

Значение, где происходит пик распределения. Значение должно удовлетворять условию left <= mode <= right.

rightfloat or array_like of floats

Верхний предел, должен быть больше left.

sizeint or tuple of ints, optional

Форма вывода. Если заданная форма, например, (m, n, k), то m * n * k образцов генерируются. Если size имеет значение None (по умолчанию), возвращается одно значение, если left, mode, и right являются скалярными величинами. В противном случае np.broadcast(left, mode, right).size образцов генерируется.

Returns
outndarray or scalar

Сгенерированные образцы из параметризованного треугольного распределения.

См. также

Generator.triangular

который следует использовать для нового кода.

Notes

Функция плотности вероятности для треугольного распределения:

\[\begin{split}P(x;l, m, r) = \begin{cases} \frac{2(x-l)}{(r-l)(m-l)}& \text{для $l \leq x \leq m$},\\ \frac{2(r-x)}{(r-l)(r-m)}& \text{для $m \leq x \leq r$},\\ 0& \text{в противном случае}. \end{cases}\end{split}\]

Треугольное распределение часто используется в плохо определенных задачах, где основное распределение неизвестно, но известны пределы и мода. Часто оно используется в симуляциях.

References

1

Wikipedia, “Треугольное распределение” https://en.wikipedia.org/wiki/Triangular_distribution

Examples

Генерировать значения из распределения и построить гистограмму:

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

© 2005–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/random/generated/numpy.random.triangular.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API