numpy.random.triangular#
- random.треугольный(left, mode, правый, размер=None)#
Извлечь выборки из треугольного распределения на интервале
[left, right].Треугольное распределение — это непрерывное распределение вероятностей с нижним пределом left, пиком в mode и верхним пределом right. В отличие от других распределений, эти параметры напрямую определяют форму функции плотности вероятности.
Примечание
Новый код должен использовать
triangularметодGeneratorэкземпляр вместо; пожалуйста, смотрите Быстрый старт.- Параметры:
- leftfloat или array_like из float
Нижний предел.
- modefloat или array_like из float
Значение, в котором происходит пик распределения. Значение должно удовлетворять условию
left <= mode <= right.- правыйfloat или array_like из float
Верхний предел, должен быть больше чем left.
- размерint или кортеж ints, опционально
Форма вывода. Если заданная форма, например,
(m, n, k), затемm * n * kобразцы извлекаются. Если size равенNone(по умолчанию), возвращается единственное значение, еслиleft,mode, иrightвсе являются скалярами. В противном случае,np.broadcast(left, mode, right).sizeвыбираются образцы.
- Возвращает:
- выходndarray или скаляр
Выбранные выборки из параметризованного треугольного распределения.
Смотрите также
random.Generator.triangularкоторый следует использовать для нового кода.
Примечания
Функция плотности вероятности для треугольного распределения
\[\begin{split}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}\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()