math - 生成由Zipf分配的随机数

标签 math random probability

Zipf probability distribution通常用于为P2P系统中项目的文件大小分布或项目访问分布建模。例如"Web Caching and Zip like Distribution Evidence and Implications",但BoostGSL (Gnu Scientific Library)均未提供使用此分布生成随机数的实现。我没有找到使用常见搜索引擎的(可信赖)实现。

如何使用U(0,1)随机生成器根据Zipf分布分配随机数,例如Mersenne twister

最佳答案

zipfR是使用R实现的免费开源库。VGAM是另一个R包,它也实现了Zipf。

还值得注意的是,Gnu Scientific Library具有implementationPareto distribution,实际上是离散Zipf分布的连续模拟。

而且,Zeta distribution等于无限N的Zipf。GSL具有implementationRiemann zeta function,因此您可以使用它自己构造分布。

关于math - 生成由Zipf分配的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1366984/

相关文章:

ruby - 截断 float 而不向上舍入

java - 创建随机数组方法

algorithm - 随机选择,按排名加权

C++ 哈希限制

math - 在 OpenGL 中绕 3 个轴旋转对象

math - Scipy arpack eigs 与特征值的 eigsh 数

javascript - 为什么这个减少不返回-2?

C# 随机数生成的通用方法

testing - 如何测试加密算法的质量?

python - 如何正确采样截断分布?