numpy.random.RandomState.logseries

RandomState.logseries(p, size=None)

从对数系列分布绘制样本。

Samples are drawn from a log series distribution with specified shape parameter, 0 < p < 1.

参数:

loc:float

scale:float> 0。

size:int或tuple的整数,可选

输出形状。如果给定形状是例如(m, n, k),则 m * n * k默认值为None,在这种情况下返回单个值。

返回:

samples:ndarray或scalar

其中值是[0,n]中的所有整数。

也可以看看

scipy.stats.distributions.logser
概率密度函数,分布或累积密度函数等。

笔记

Log系列分布的概率密度为

其中p =概率。

对数系列分布经常用于表示物种丰富度和发生率,首先由Fisher,Corbet和Williams在1943年提出[2]。它也可以用来模拟汽车中看到的乘客人数[3]。

参考文献

[R166]Buzas,Martin A. Culver,Stephen J.,Understanding regional species diversity through the log series distribution of occurneces:BIODIVERSITY RESEARCH Diversity&Distributions,Volume 5,Number 5,September 1999,pp。187-195(9)。
[R167]费舍尔Corbet和C.B.威廉姆斯。1943. 动物种群的随机样本中物种数量和个体数量之间的关系。动物生态学报,12:42-58。
[R168]D.J.Hand,F.Daly,D.Lunn,E.Ostrowski,A Handbook of Small Data Sets,CRC Press,1994。
[R169]维基百科,“对数分布”,http://en.wikipedia.org/wiki/Logarithmic-distribution

例子

从分布绘制样本:

>>> a = .6
>>> s = np.random.logseries(a, 10000)
>>> count, bins, ignored = plt.hist(s)

#图与分布

>>> def logseries(k, p):
...     return -p**k/(k*log(1-p))
>>> plt.plot(bins, logseries(bins, a)*count.max()/
             logseries(bins, a).max(), 'r')
>>> plt.show()