【问题标题】:Pseudorandom Number Generation with Specific Non-Uniform Distributions具有特定非均匀分布的伪随机数生成
【发布时间】:2011-05-31 00:47:28
【问题描述】:

我正在编写一个程序来模拟各种随机游走(具有不同的分布)。在每个时间步,我需要从随机游走的分布中随机生成二维步距和角度。我希望有人可以检查我对如何生成这些随机数的理解。

据我了解,我可以按如下方式使用逆变换采样:

如果 f(x) 是具有非均匀分布的随机游走的 pdf,并且 y 是来自均匀分布的随机数。 然后,如果我们让 f(x) = y 并求解以找到 x,那么我们就有一个来自非均匀分布的随机数。

这是一个可行的解决方案吗?

【问题讨论】:

    标签: random probability distributed


    【解决方案1】:

    不完全是。需要反转的函数不是f(x),即pdf,而是F(x)=P(X

    根据给定的分布,还有多种其他方法可以生成随机数。例如,如果 cdf F 难以计算或求逆,如果 f 易于计算,rejection sampling 可能是一个不错的选择。

    【讨论】:

      【解决方案2】:

      你很接近,但并不完全。每个概率密度函数 (pdf) 都有一个对应的累积密度函数 (cdf)。 CDF(x) 的一个重要属性是它们始终介于 0 和 1 之间。因为在 0 和 1 之间绘制随机数相对容易,我们可以使用它来逆向分布。因此,在您的问题中将单词 pdf 更改为 CDF 会使陈述正确。

      为了在计算上有意义,您需要找到一个易于计算的 CDF 逆。一种方法是将多项式近似拟合到 CDF 并找到该函数的逆函数。有更先进的技术可以模拟杂乱分布的概率分布。有关详细信息,请参阅此book chapter

      【讨论】:

        猜你喜欢
        • 2017-07-16
        • 2014-02-04
        • 1970-01-01
        • 2020-09-07
        • 1970-01-01
        • 1970-01-01
        • 2011-08-23
        • 2012-03-18
        • 2013-12-09
        相关资源
        最近更新 更多