1

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

第一个来源:Wolfram:

在此处输入图像描述

第二来源:物理评论(第2页):

在此处输入图像描述

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

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

4

1 回答 1

2

如果 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)}

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

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

于 2015-04-12T12:00:43.453 回答