0

我有两个数组(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)

我想在pdf之后生成N个样本(x,y来自val_1,val_2)。

4

1 回答 1

1

你有理由要使用 mcmc 吗?

numpy.random.choice(a=val_1, size=N, p=pdf_1)

将从a具有相关概率的值中选择一个值p。对于一次调用中的 N 个样本,add 设置size属性。这还不够吗?

https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.choice.html#numpy.random.choice

啊,如果你有分布并且想要像你的链接一样生成情节,我会使用matplotlib.pyplot.hist(array)

于 2017-03-07T23:14:39.347 回答