如何从联合,离散,概率分布函数中进行数值抽样

时间:2011-05-26 21:49:54

标签: algorithm statistics probability random-sample

我有一个2D“热图”或PDF,我需要通过随机抽样重新创建。 I.E.我有一个显示起始位置的二维概率密度图。我需要以与原始PDF相同的概率随机选择起始位置。

要做到这一点,我想我需要首先找到联合CDF(累积密度函数),然后选择随机统一数字来对CDF进行采样。这就是我被卡住的地方。

如何在数字上找到PDF的联合CDF?我尝试沿两个维度进行累积求和,但这并没有产生正确的结果。我的统计知识让我失望。

编辑热图/ PDF是[x,y,z]的形式,其中Z是每个x,y点的强度或概率。

4 个答案:

答案 0 :(得分:3)

您可以先查看2D密度图,然后查看其中的每个(x,y)对,通过PDF查找来查找z。这将给出一个概率为z的起点(x,y)。因此,每个起点都有自己的概率来自PDF。您现在可以做的是订购起点,随机选择一个数字并将其映射到某个起点。

例如,假设您有n个起点:P1 .. Pn。概率为p1 .. pn(归一化或加权概率,因此总和为100%)。假设你选择一个随机值p,如果p

答案 1 :(得分:1)

Gibbs Sampling应该给你你想要的东西

http://en.wikipedia.org/wiki/Gibbs_sampling

答案 2 :(得分:1)

好吧,正如在this answer中观察到的那样,对于我的情况,我的分布是双变量并不一定重要。因为我可以将整个事物标准化以使其成为真正的pdf(总表面积分为1),然后我可以将MxN矩阵重新排列为1xM * N向量。有了这个,我可以做一个累积积分(在MATLAB中的cumtrapz),然后从那里取样(使用一个统一的随机数来找到相应的索引值)。

答案 3 :(得分:1)

这也是我想要做的!

我对自变量X和Y有一个joint density function。我现在想从这个分布中抽取新的x,y。

我认为我必须做的是找到联合累积分布,然后以某种方式从中进行采样。这正是你似乎所做的。

当你说你使用“统一随机数来查找相应的索引值”时,你可能会更具体一点吗?

仅供参考:X是询价单的大小,Y是股票市场中出价单的大小。