當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python numpy random.logseries用法及代碼示例


本文簡要介紹 python 語言中 numpy.random.logseries 的用法。

用法:

random.logseries(p, size=None)

從對數係列分布中抽取樣本。

樣本是從具有指定形狀參數的對數係列分布中抽取的,0 < p < 1。

注意

新代碼應改為使用default_rng() 實例的logseries 方法;請參閱快速入門。

參數

p 浮點數或類似數組的浮點數

分布的形狀參數。必須在 (0, 1) 範圍內。

size int 或整數元組,可選

輸出形狀。例如,如果給定的形狀是 (m, n, k) ,則繪製 m * n * k 樣本。如果 size 為 None(默認),如果 p 是標量,則返回單個值。否則,將抽取np.array(p).size 樣本。

返回

out ndarray 或標量

從參數化對數序列分布中抽取樣本。

注意

Log Series 分布的概率密度為

其中 p = 概率。

對數係列分布經常被用來表示物種的豐富度和發生率,由 Fisher、Corbet 和 Williams 在 1943 年首次提出 [2]。它還可用於模擬汽車中的乘員數量 [3]。

參考

1

Buzas,馬丁 A.; Culver, Stephen J.,通過事件的對數係列分布了解區域物種多樣性:BIODIVERSITY RESEARCH Diversity & Distributions,第 5 卷,第 5 期,1999 年 9 月,第 187-195(9) 頁。

2

費舍爾, R.A,, A.S. Corbet 和 C.B.威廉姆斯。 1943. 動物種群隨機樣本中物種數量與個體數量之間的關係。動物生態學雜誌,12:42-58。

3

D. J. Hand、F. Daly、D. Lunn、E. Ostrowski,小數據集手冊,CRC 出版社,1994 年。

4

維基百科,“Logarithmic distribution”,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()
numpy-random-logseries-1.png

相關用法


注:本文由純淨天空篩選整理自numpy.org大神的英文原創作品 numpy.random.logseries。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。