zipf_rv#

zipf_rv(alpha, xmin=1, seed=None)[source]#

返回从Zipf分布中选择的随机值。

返回值是从以下概率分布中抽取的整数:

\[p(x)=\frac{x^{-\alpha}}{\zeta(\alpha, x_{\min})},\]

其中 \(\zeta(\alpha, x_{\min})\) 是Hurwitz zeta函数。

参数:
alpha浮点数

分布的指数值

xmin整数

最小值

seed整数、随机状态或 None(默认)

随机数生成状态的指示器。请参阅 随机性

返回:
x整数

从Zipf分布中得到的随机值

引发:
ValueError

如果 xmin < 1 或 如果 alpha <= 1

注意

拒绝算法以均匀有界的期望时间生成幂律分布的随机值,该时间取决于参数。有关其操作的详细信息,请参阅 [1]

参考文献

[1]

Luc Devroye, Non-Uniform Random Variate Generation, Springer-Verlag, New York, 1986.

示例

>>> nx.utils.zipf_rv(alpha=2, xmin=3, seed=42)
8