numpy.random.RandomState.rayleigh
метод
-
RandomState.rayleigh(scale=1.0, size=None) -
Генерирует выборку из распределения Рейли.
Распределения Рейли и Вейбулла являются обобщениями.
Параметры: -
scale : float or array_like of floats, optional -
Масштаб, также равный моде. Должен быть >= 0. По умолчанию равен 1.
-
size : int or tuple of ints, optional -
Форма выходных данных. Если заданная форма, например,
(m, n, k), тоm * n * kвыборок генерируется. Если размер равенNone(по умолчанию), то возвращается одно значение, еслиscaleявляется скаляром. В противном случае, генерируетсяnp.array(scale).sizeвыборок.
Возвращает: -
out : ndarray or scalar -
Сгенерированные выборки из распределения Рейли.
Примечания
Плотность вероятности для распределения Рейли:
Распределение Рейли может возникать, например, если восточный и северный компоненты скорости ветра имеют одинаковые гауссовы распределения с нулевым средним. Тогда скорость ветра будет подчиняться распределению Рейли.
Ссылки
[1] Brighton Webs Ltd., “Распределение Рейли,” https://web.archive.org/web/20090514091424/http://brighton-webs.co.uk:80/distributions/rayleigh.asp [2] Википедия, “Распределение Рейли” https://en.wikipedia.org/wiki/Rayleigh_distribution Примеры
Генерировать значения из распределения и построить гистограмму
>>> from matplotlib.pyplot import hist >>> values = hist(np.random.rayleigh(3, 100000), bins=200, density=True)
Высота волн часто подчиняется распределению Рейли. Если средняя высота волны составляет 1 метр, то какая доля волн, вероятно, будет выше 3 метров?
>>> meanvalue = 1 >>> modevalue = np.sqrt(2 / np.pi) * meanvalue >>> s = np.random.rayleigh(modevalue, 1000000)
Процент волн, превышающих 3 метра:
>>> 100.*sum(s>3)/1000000. 0.087300000000000003
-
© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.16.1/reference/generated/numpy.random.RandomState.rayleigh.html