numpy.random.Generator.triangular
метод
- random.Generator.triangular(left, mode, right, size=None)
-
Генерирует выборки из треугольного распределения на интервале
[left, right].Треугольное распределение — это непрерывное вероятностное распределение с нижним пределом left, пиком в mode и верхним пределом right. В отличие от других распределений, эти параметры напрямую определяют форму функции плотности вероятности.
- Параметры:
-
- leftfloat или array_like чисел с плавающей точкой
-
Нижний предел.
- modefloat или array_like чисел с плавающей точкой
-
Значение, в котором происходит пик распределения. Значение должно удовлетворять условию
left <= mode <= right. - rightfloat или array_like чисел с плавающей точкой
-
Верхний предел, должен быть больше, чем
left. - sizeцелое число или кортеж целых чисел, необязательно
-
Форма выходных данных. Если заданная форма, например,
(m, n, k), то генерируетсяm * n * kвыборок. Если size равноNone(по умолчанию), возвращается одно значение, еслиleft,mode, иrightявляются скалярами. В противном случае генерируютсяnp.broadcast(left, mode, right).sizeвыборок.
- Возвращает:
-
- outndarray или скаляр
-
Сгенерированные выборки из параметризованного треугольного распределения.
Примечания
Функция плотности вероятности для треугольного распределения
\[\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}\]Треугольное распределение часто используется в плохо определенных задачах, где неизвестно базовое распределение, но известны пределы и мода. Часто оно используется в симуляциях.
Ссылки
Примеры
Генерировать значения из распределения и построить гистограмму:
>>> import matplotlib.pyplot as plt >>> rng = np.random.default_rng() >>> h = plt.hist(rng.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.Generator.triangular.html