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()