zipf_rv#

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

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

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

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

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

Parameters:
alphafloat

分布的指数值

xminint

最小值

seedinteger, random_state, 或 None (默认)

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

Returns:
xint

Zipf分布的随机值

Raises:
ValueError:

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

Notes

拒绝算法生成依赖于参数的均匀有界预期时间的幂律分布的随机值。有关其操作的详细信息,请参见[Rc0fddf0d35bc-1]_。

References

[1]

Luc Devroye, 非均匀随机变量生成, Springer-Verlag, 纽约, 1986.

Examples

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