从均匀分布生成幂律分布数——发现 2 种方法:哪一种是正确的?

Generating power-law distributed numbers from uniform distribution – found 2 approaches: which one is correct?

我正在尝试从均匀分布生成范围从 0 到 1 的幂律分布数。我找到了两种方法,我不确定哪一种是对的,哪一种是错的。

1st Source: Wolfram:

2nd Source: Physical Review (Page 2):

其中:y = 均匀变量,n = 分布功率,x0 和 x1 = 分布范围,x = 幂律分布变量。

当 n 在 0 和 1 之间时,第二个只给出 x0 = 0 和 x1 = 1 的不错结果。

如果y是0到1之间的均匀随机变量,那么1-y也是。从而让 z = 1-y 您可以将公式 (1) 转换为:

x = [(x_1^{n+1}-(x_1^{n+1}-x_0^{n+1})z]^{1 /(n+1)}

这与您的公式 (2) 相同,除了更改 n -> (-n)。

所以我想这两个公式之间的唯一区别在于 n 如何与幂律衰减相关的符号(不幸的是,您为 Wolfram alpha 公式提供的 link 无效,所以我无法检查哪个他们使用的符号)。