我有两个数组(pdf_#),每个数组包含参数(val_#)的概率。如何从这些分布中进行采样以创建联合后验分布(即在此处的角落图中)?为了司仪,看起来我只能通过从数组中取样的函数。
这是我拥有的:
pdf_1 = [.1, .1, .25, .3, .15]
pdf_2 = [.25, .3, .2, .1, .4]
val_1 = [2, 3, 4, 5, 6]
val_2 = [1, 2, 3 ,4 ,5]
(实际上,PDF进行了更精细的采样,总和至1)
我想生成n个数字的样本(带有val_1,val_2的x,y)。
您是否有要使用MCMC的原因?
numpy.random.choice(a=val_1, size=N, p=pdf_1)
将从a
中选择一个具有关联概率p
的值。对于一个calladd中的n个样品,请设置size
属性。这还不够吗?
https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.choice.choice.html#numpy.random.choice.choice
ah,如果您有分布并想像链接中的绘图一样生成图,我将使用matplotlib.pyplot.hist(array)