numpy.random.RandomState.triangular
метод
- random.RandomState.triangular(left, mode, right, size=None)
-
Генерирует выборки из треугольного распределения на интервале
[left, right].Треугольное распределение — это непрерывное вероятностное распределение с нижним пределом left, пиком в mode и верхним пределом right. В отличие от других распределений, эти параметры напрямую определяют форму функции плотности вероятности.
Примечание
Новый код должен использовать метод
triangularэкземпляраGenerator; см. Быстрый старт.- Параметры:
-
- 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 или скаляр
-
Сгенерированные выборки из параметризованного треугольного распределения.
См. также
random.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]Википедия, “Треугольное распределение” 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–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/random/generated/numpy.random.RandomState.triangular.html