生成具有指数密度函数的随机变量

时间:2013-11-26 16:03:44

标签: algorithm random simulation exponential-distribution

我想生成一个具有指数密度函数的随机变量:

f(x)= e ^ x /(e - 1),0 <= x <= 1

我知道我可以使用一个统一的随机数生成器,使用反转方法来实现像(e ^ -x)这样的简单函数。但是,我不确定如何在上面给出的函数中使用它们。

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

Per Wolfram Alpha,从0a的密度函数的积分是(e^a-1)/(e-1),它反转为y=log((e-1)*x+1)。所以逆变换方法应该可以正常工作。

在更一般的情况下,积分没有平移或反演没有平移,随机抽样方法是最广泛适用的方法,用于在给定概率密度的情况下对随机变量进行采样。最容易理解和实现的是拒绝采样。在那之后,你会看到Metropolis-Hastings,它非常强大,但不一定是最容易理解的。

答案 1 :(得分:0)

第一步是将f(x)0整合到x以确定cumulative distribution function,调用此函数U。当您(伪)随机选择一个数字时,将其放入此函数U并找到满足此要求的x

您的功能似乎很简单,直接反转将起作用。如果您的功能更复杂,则必须使用Newton-Raphson method来解决给定x的{​​{1}}。