<分区>
我想生成一个具有指数密度函数的随机变量:
f(x) = e^x/(e - 1), 0 <= x <= 1
我知道我可以使用一个统一的随机数生成器,并将反转方法用于一个简单的函数,如 (e^-x)。但是,我不确定如何在上面给出的功能上使用它们。
有什么建议吗?
<分区>
我想生成一个具有指数密度函数的随机变量:
f(x) = e^x/(e - 1), 0 <= x <= 1
我知道我可以使用一个统一的随机数生成器,并将反转方法用于一个简单的函数,如 (e^-x)。但是,我不确定如何在上面给出的功能上使用它们。
有什么建议吗?
最佳答案
根据 Wolfram Alpha,从 0
到 a
的密度函数的积分是 (e^a-1)/(e-1)
,它反转为 y=log((e-1)*x+1)
。所以逆变换方法应该可以正常工作。
在积分未成功或反演未成功的更一般情况下,随机抽样方法是对给定概率密度的随机变量进行抽样的最广泛适用方法。最容易理解和实现的是拒绝抽样。之后,您将看到 Metropolis-Hastings,它非常强大,但不一定是最容易理解的。
关于algorithm - 生成具有指数密度函数的随机变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20222044/