我需要使用Beta分布Beta(a, b)来生成一个从0到1的随机数。
我找到了BetaDist类,它有一个构造函数BetaDist(double alpha, double beta),可以使用参数α=alpha和β=beta以及默认域(0,1)构造BetaDist对象。
但是,我找不到一种方法,可以只使用alpha和beta来返回一个使用BetaDist对象随机抽取的x(0, 1)。
我在stackoverflow上读到另一篇帖子说: 从具有无跳跃的cdf的任意分布中生成随机数的通用方法是使用cdf的反函数:G(y)=F^{-1}(y)。如果u(1),…,u(n)是从均匀分布(0,1)中随机选出的数字,则G(u(1)),…,G(u(n))是来自具有cdf F(x)的分布的随机样本。
BetaDist类确实有cdf(double x)方法,但我仍然不知道下一步该怎么做。我还没有学过统计学,上面的帖子对我来说仍然太复杂了。
非常感谢。
BetaDist
是指位于http://www.iro.umontreal.ca/~simardr/ssj/doc/html/umontreal/iro/lecuyer/probdist/BetaDist.html的类吗? - reprogrammer