我计算了一个取决于两个变量的概率密度函数。我想使用这个多变量分布来生成一些与PDF成比例的随机数。
看起来,SciPy目前只支持univariate distributions。是否有任何简单的方法或易于使用的软件包允许2d分发?
作为一种解决方法,我可能会尝试在感兴趣的域上创建随机数并将它们丢弃或者保留它们与我的PDF相关的机会,但仍然可能有其他选项。随机数生成不一定非常快。
感谢您的帮助!
基于答案(非常感谢!),我在this gist中找到了一些代码。如果您使用sin ^ 2 * Gauss PDF运行此示例,将在PDF上绘制满足给定条件(在圆内)的2000个随机随机变量。也许这对其他人也有帮助。
答案 0 :(得分:1)
所以您有一个PDF F(x,y)
,并且您希望生成根据此PDF分发的x
和y
对?
我要说除非您可以使用多变量版本的反演技术(wiki),否则拒绝采样是可行的方法。
答案 1 :(得分:0)
对于变量X和Y,你不能将它分成两个单变量分布的样本,只需生成一个具有X的独立分布的x,以及一个y分配Y给定x?