我的点密度x∈[0,R]是指数:ρ(x)~e ^ x 我如何从那里采样N点?
谢谢,
答案 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
。