我们如何从几何混合中模拟?


20

如果是我可以从中模拟的已知密度,即可以使用的密度。并且如果乘积是可积的,是否有通用方法可以使用的模拟器?ķ Π= 1 ˚F X α f1,,fk˚F

i=1kfi(x)αiα1,,αk>0
fi

2
没有其他假设,这似乎不太可能。(为简单起见,使αi=1ϵ>0小。假设与每个f_i相关联的fi是一个间隔Ii在该间隔上,fi1Pri(Ii)>1ϵ超出了0<fi<ϵ,并且i_ne j的I_i \ cap I_j = \ emptysetIiIj=,那么单独的生成器几乎总是在I_i中生成值,但是\ prod f_i的概率可以集中在任何地方,似乎与该I_I。)那么,还有什么可以为您介绍一下ijIifiIifi
whuber

1
(+10)正确!但是,使用较小的αi会导致所有元素变平,因此有利于其有效支撑的重叠...
西安

1
正如胡布说的那样,紧密度将是一个问题,因此在生成随机样本之前,我将进行转换(或优先采样)以消除紧密度。我想我前一段时间读过一种有建设性的方法。link.springer.com/chapter/10.1007/978-1-4612-0209-7_10的 10.7 不知道离散化是否也可以在这里应用。
Henry.L

Answers:


3

好吧,当然有验收拒绝算法,对于您的示例,我将其实现为:

  1. (初始化)对于每个,找到。编辑下面以反映西安的评论:选择与最小对应的分布。 = SUP X { Π ķ Ĵ = 1个 ˚F ĴX α Ĵ / ˚F X } ˚F iAi=supx{Πj=1kfj(x)αj/fi(x)}fiAi
  2. 从生成。˚F xfi
  3. 计算。α=Πi=jkfj(x)αj/(Aifi(x))
  4. 生成。uU(0,1)
  5. 如果,返回,否则转到2。uαx

当然,根据分布情况,您的接受率可能会很低。碰巧的是,预期的迭代次数等于所选的(假设连续分布),因此至少会提前警告您。Ai


3
(+1)确实可以解决!假设所有都存在边界。甚至一些的。比较的[假设它们是有限的]也可能有助于选择最有效的。AiiiAifi
西安

1
我没想到,但您当然是对的,本身非常有用,因为如果您始终使用一个i,它们也等于实际生成随机数所需的预期迭代次数。。因此,您需要选择始终使用最小A i的分布。我将编辑答案,以使您的观点不会被评论所迷惑。AiiAi
jbowman

也就是说,假设所有的被正确地归一化(以整合为一个),这不一定是标准事件。fi
西安
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.