numpy.random.RandomState.logseries
метод
- random.RandomState.logseries(p, size=None)
-
Генерация выборок из логарифмически распределённого ряда.
Выборка из логарифмически распределённого ряда с заданным параметром формы, 0 <=
p< 1.Примечание
В новом коде следует использовать метод
logseriesэкземпляраGenerator; см. Быстрый старт.- Параметры:
-
- pfloat или array_like из float
-
Параметр формы распределения. Должен находиться в диапазоне [0, 1).
- sizeint или кортеж из int, необязательно
-
Форма выходных данных. Если заданная форма, например,
(m, n, k), тоm * n * kвыборок генерируются. Если size не указан (по умолчанию), возвращается одно значение, еслиpявляется скаляром. В противном случаеnp.array(p).sizeвыборок генерируются.
- Возвращает:
-
- outndarray или скаляр
-
Сгенерированные выборки из логарифмически распределённого ряда.
См. также
scipy.stats.logser-
функция плотности вероятности, распределение или кумулятивная функция распределения и т. д.
random.Generator.logseries-
который следует использовать в новом коде.
Примечания
Плотность вероятности логарифмического ряда распределения:
\[P(k) = \frac{-p^k}{k \ln(1-p)},\]где 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.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–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/random/generated/numpy.random.RandomState.logseries.html