我目前正在开展一个项目,我需要生成多个值(最好是浮点数或双精度数),遵循具有给定指数的幂律分布!
我被建议使用MathNet.Iridium库来帮助我。我遇到的问题是,如果存在任何文档,文档就不应该如此明确!
我看到多个分布符合幂律分布的一般概念,但我无法确定一个好的分布用于某个指数作为参数。
有没有人在这方面有更多的经验,可以给我一些提示或建议吗?
答案 0 :(得分:1)
要生成所选分布的值,您可以使用逆累积分布函数,如wikipedia中所述。
一步一步,这看起来像:
Random
在这里会很好。结果是使用您选择的分布函数随机选择的值。
如果您遇到第2步的问题,也许https://mathoverflow.net/的人可以帮助您。
编辑:如果您只需要使用指数伽玛的任何幂律分布,这将生成一个值:
double r = 1.0 / Math.Pow(1-new Random().NextDouble(), 1.0/(gamma+1));