生成具有线性分布的随机数
机器算法验证
r
可能性
分布
2022-03-06 07:33:39
2个回答
有很多方法。这里有几个。
您可以使用带有统一信封的拒绝(“接受-拒绝”)。
可以对密度使用逆 cdf 方法,通过计算 cdf 并将其反转
您可以分成均匀的和三角形的部分(即两者的有限混合)。三角形部分可以通过多种方式中的任何一种生成(例如,两个制服的,或使用逆 cdf 方法,...)然后缩放到正确的区间,并且制服是微不足道的(只需向右缩放间隔)。
如果视为三角形,然后在它低于的情况下使用拒绝。很小(比一半少一点),这将非常有效。
您可以使用ziggurat 方法。
还有许多其他方法。它们之间的选择将取决于诸如便利与速度的重要性等考虑因素(如果您只需要几千个值,速度可能并不重要;如果您需要多次使用它并可能长时间运行,那么它可能更重要)。
这让我想起了另一篇关于具有函数形式的线性 pdf 的帖子:
(来源:tri.org.au)
我称之为“急性线性”分布,或可爱的线性分布。
如果和是独立的,则 。 .. 有一个可爱的线性分布。
伪随机数生成
cdf(在支持域内)是:
逆 cdf 为:
中的伪随机绘图替换,中生成伪随机绘图。
如果你想改变比例,或者改变它,你可以转换你生成的数据 .. 例如 ...它应该能够生成你所生成的任何结构的丰富度欲望(可能需要一点点玩耍,取决于你固定的东西)。
其它你可能感兴趣的问题