numpy.random.Generator.logseries
метод
-
random.Generator.logseries(p, size=None) -
Генерация выборок из логарифмического распределения.
Выборка генерируется из логарифмического распределения с заданным параметром формы, 0 <
p< 1.- Параметры
-
-
pfloat or array_like of floats -
Параметр формы распределения. Должен быть в интервале (0, 1).
-
sizeint or tuple of ints, optional -
Форма выходных данных. Если заданная форма, например,
(m, n, k), то генерируетсяm * n * kвыборок. Если размер равенNone(по умолчанию), то возвращается одно значение, еслиpскалярное. В противном случае генерируетсяnp.array(p).sizeвыборок.
-
- Возвращаемое значение
-
-
outndarray or scalar -
Сгенерированные выборки из логарифмического распределения.
-
См. также
-
scipy.stats.logser -
функция плотности вероятности, распределение или кумулятивная функция распределения и т. д.
Примечания
Функция вероятности массы для логарифмического распределения:
где p = вероятность.
Логарифмическое распределение часто используется для представления богатства видов и их встречаемости, впервые предложенное Фишером, Корбетом и Уильямсом в 1943 году [2]. Оно также может использоваться для моделирования количества пассажиров, наблюдаемых в автомобилях [3].
Ссылки
-
1 -
Бузас, Мартин А.; Калвер, Стивен Дж., Понимание регионального разнообразия видов с помощью логарифмического распределения встречаемости: BIODIVERSITY RESEARCH Diversity & Distributions, том 5, номер 5, сентябрь 1999 г., стр. 187-195(9).
-
2 -
Фишер, Р.А., А.С. Корбет и К.Б. Уильямс. 1943. Связь между числом видов и числом особей в случайной выборке животной популяции. Журнал по экологии животных, 12:42-58.
-
3 -
Д. Дж. Хэнд, Ф. Дейли, Д. Лунн, Е. Остроуски, Справочник по наборам данных малого размера, CRC Press, 1994.
-
4 -
Википедия, «Логарифмическое распределение», https://en.wikipedia.org/wiki/Logarithmic_distribution
Примеры
Генерация выборок из распределения:
>>> a = .6 >>> s = np.random.default_rng().logseries(a, 10000) >>> import matplotlib.pyplot as plt >>> count, bins, ignored = plt.hist(s)
# построение графика по отношению к распределению
>>> def logseries(k, p): ... return -p**k/(k*np.log(1-p)) >>> plt.plot(bins, logseries(bins, a) * count.max()/ ... logseries(bins, a).max(), 'r') >>> plt.show()
© 2005–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/random/generated/numpy.random.Generator.logseries.html