使用主持人对概率分布函数进行采样?

use emcee to sample probability distribution functions?

我有两个数组 (pdf_#),每个数组包含一个参数 (val_#) 的概率。我如何从这些分布中采样以创建联合后验分布(即像 corner plot here 中那样)?对于主持人来说,我似乎只能传递要从中采样的函数,而不是数组。

这是我的资料:

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)。

你想使用 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.html#numpy.random.choice

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