numpy.random.logseries#
- random.logseries(p, размер=None)#
Извлечь выборки из логарифмического серийного распределения.
Выборки берутся из лог-серийного распределения с заданным параметром формы, 0 <=
p< 1.Примечание
Новый код должен использовать
logseriesметодGeneratorэкземпляр вместо; пожалуйста, смотрите Быстрый старт.- Параметры:
- pfloat или array_like из float
Параметр формы для распределения. Должен быть в диапазоне [0, 1).
- размерint или кортеж ints, опционально
Форма вывода. Если заданная форма, например,
(m, n, k), затемm * n * kобразцы извлекаются. Если size равенNone(по умолчанию), возвращается единственное значение, еслиpявляется скаляром. В противном случае,np.array(p).sizeвыбираются образцы.
- Возвращает:
- выходndarray или скаляр
Выборки, извлеченные из параметризованного логарифмического серийного распределения.
Смотрите также
scipy.stats.logserфункция плотности вероятности, распределение или интегральная функция распределения и т.д.
random.Generator.logseriesкоторый следует использовать для нового кода.
Примечания
Функция плотности вероятности для распределения логарифмического ряда:
\[P(k) = \frac{-p^k}{k \ln(1-p)},\]где p = вероятность.
Лог-серийное распределение часто используется для представления видового богатства и встречаемости, впервые предложено Фишером, Корбетом и Уильямсом в 1943 году [2]. Также может использоваться для моделирования количества пассажиров в автомобилях [3].
Ссылки
[1]Buzas, Martin A.; Culver, Stephen J., Understanding regional species diversity through the log series distribution of occurrences: BIODIVERSITY RESEARCH Diversity & Distributions, Volume 5, Number 5, September 1999, pp. 187-195(9).
[2]Fisher, R.A., A.S. Corbet и C.B. Williams. 1943. Связь между количеством видов и количеством особей в случайной выборке из популяции животных. Journal of Animal Ecology, 12:42-58.
[3]D. J. Hand, F. Daly, D. Lunn, E. Ostrowski, A Handbook of Small Data Sets, 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()