基本贝叶斯 MCMC 在给定未知试验次数的情况下从二项式分布估计两个参数

机器算法验证 贝叶斯 二项分布 马尔可夫链蒙特卡罗
2022-04-02 06:40:38

这是关于贝叶斯推理的一个非常基本的问题。我没有掌握一个或多个基本概念。

假设我有两个观察到的结果,XY我想推断给定XY每次发生的概率(分别为pxpy ) 。我不知道N,试验的总数。我假设XY是二项式分布的。我如何计算没有N的可能性?

我最终想要的是通过 MCMC显示pxpy的二元后验分布。我不在乎估计N ——我只想在pxpy的平面上显示链。不需要收敛。


澄清: XY来自同一个NX ~Binom( N , px ) 和Y ~Binom( N , py )。我们没有关于pxpy的其他信息,尽管我会在开始之前使用测试版。还假设XY是独立的。

1个回答

模型和伪代码

所以我在 Python 中做了一些分析,虽然我使用了 pyMC 库,它隐藏了所有 MCMC 数学的东西。我将向您展示我是如何用半伪代码对其进行建模的,以及结果。

我将观察到的数据设置为X=5,Y=10.

X = 5
Y = 10

我以为N有泊松先验,泊松率为 aEXP(1). 这是一个相当公平的事前。虽然我可以在某个时间间隔内选择一些均匀分布:

rate = Exponential( mu = 1 )
N = Poisson( rate = rate)

你提到了 Beta 先验pXpY,所以我编码:

pX = Beta(1,1) #equivalent to a uniform
pY = Beta(1,1)

我把它们结合起来:

observed = Binomial(n = N, p = [pX, pY], value = [X, Y] )

然后我对 50000 个样本执行 MCMC,烧录了大约一半。下面是我在 MCMC 之后生成的图。

解释:

让我们检查第一个图表N. N Trace是样本,按顺序,我从后验分布生成。N acorr图是样本之间的自相关。也许还有太多的自相关,我应该更多地老化。最后,N-hist是后验样本的直方图。看起来平均值是 13。还要注意,没有从低于 10 的样本中抽取样本。这是一个好兆头,因为观察到的数据是 5 和 10,这是不可能的。

对于pXpY图表。

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

不同的先验N

如果我们限制N作为 Poisson(20) 随机变量(并去除指数层次结构),我们得到不同的结果。这是一个重要的考虑因素,并表明先验可以产生很大的不同。请参阅下面的图表。请注意,这里的收敛时间也要大得多。

另一方面,使用 Poisson(10) 先验产生与 Exp 相似的结果。率先。

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述