【发布时间】:2012-06-20 11:53:36
【问题描述】:
问题
我计算了一个取决于两个变量的概率密度函数。我想使用这种多元分布来生成一些随机数,这些随机数的出现概率与 PDF 成正比。
看起来,SciPy 目前只支持univariate distributions。有没有简单的方法或易于使用的包允许二维分布?
作为一种解决方法,我可能会尝试在感兴趣的域上创建随机数并将它们丢弃或保留与我的 PDF 相关的机会,但仍然可能有其他选择。随机数生成不一定要很快。
感谢您的帮助!
这是一个可能的解决方案
根据答案(非常感谢!),我破解了一些代码,您可以在 this gist 中找到这些代码。如果您使用 sin^2*Gauss PDF 运行此示例,将在 PDF 上绘制 2000 个满足给定条件(在圆圈内)的随机随机变量。也许这对其他人也有帮助。
【问题讨论】:
-
可能我没有正确理解。为什么不能将两个随机变量传递到您的分布中:
F(random(),random()) -
@fraxel,这将为我提供域中随机位置的概率密度,而不是具有由概率密度函数给出的发生概率的随机数。此外,我的 PDF 仅在离散网格上可用(我可能使用 interp2d())。
标签: python statistics scipy