如果指数分布,如何在0和R之间采样N点?

时间:2013-10-10 02:00:12

标签: math distribution probability-density

我的点密度x∈[0,R]是指数:ρ(x)~e ^ x 我如何从那里采样N点?

谢谢,

2 个答案:

答案 0 :(得分:1)

使用inverse sampling:您生成统一的分布式值并将它们映射到您的发行版的cdf的输出。

答案 1 :(得分:1)

根据面值求你的请求,如果你想要一个密度函数,对于x∈[0,R]指数增长,累积分布函数结果为(exp(x) - 1) / (exp(R) - 1)。要通过反演生成此项,请将CDF设置为Uniform(0,1)并求解x。反演结果是:

ln(1 + (exp(R) - 1) * U)

其中U代表对Uniform(0,1)PRNG的调用。

如果您真正想要的是大多数概率人员所知的指数分布的截断形式,我们需要确定与截断点R对应的随机数的上限。在这种情况下,反转是:

-ln(1 - [1 - exp(-lambda * R)] * U) / lambda

和以前一样,U代表对Uniform(0,1)PRNG的调用。这将生成以lambda为单位的指数,最大值为R