numpy.random.RandomState.triangular
метод
- random.RandomState.triangular(left, mode, right, size=None)
-
Генерирует выборки из треугольного распределения на интервале
[left, right].Треугольное распределение — это непрерывное вероятностное распределение с нижним пределом
left, пиком вmodeи верхним пределомright. В отличие от других распределений, эти параметры напрямую определяют форму плотности вероятности.Примечание
В новом коде следует использовать метод
triangularэкземпляраdefault_rng(); см. Быстрый старт.- Параметры
-
- leftfloat или array_like из float
-
Нижний предел.
- modefloat или array_like из float
-
Значение, в котором происходит пик распределения. Значение должно удовлетворять условию
left <= mode <= right. - rightfloat или array_like из float
-
Верхний предел, должен быть больше, чем
left. - sizeint или кортеж из int, необязательно
-
Форма выходных данных. Если заданная форма, например,
(m, n, k), тоm * n * kвыборок генерируются. Еслиsize—None(значение по умолчанию), возвращается одно значение, еслиleft,mode, иrightявляются скалярами. В противном случае генерируетсяnp.broadcast(left, mode, right).sizeвыборок.
- Возвращает
-
- outndarray или скаляр
-
Сгенерированные выборки из параметризованного треугольного распределения.
См. также
Generator.triangular-
который следует использовать в новом коде.
Примечания
Функция плотности вероятности для треугольного распределения:
\[\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}\]Треугольное распределение часто используется в плохо определенных задачах, когда базовое распределение неизвестно, но известны пределы и мода. Часто используется в симуляциях.
Ссылки
- 1
-
Wikipedia, “Треугольное распределение” 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()
© 2005–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/random/generated/numpy.random.RandomState.triangular.html