1

我有以下问题:

有 12 个样本,每个样本大约 20000 个元素来自未知分布(有时分布不是单峰的,因此很难自动估计分布的分析族)。基于这些分布,我计算出不同的数量。如何以最有效(和最简单)的方式探索目标数量的分布?

为了绝对清楚,这里有一个简单的例子:数量 A 等于 B*C/D

B,C,D是根据未知规律分布的,但是我有来自它们分布的样本,并且基于这些样本我想计算A的分布。所以实际上我想要的是一个工具来探索基于目标数量的分布关于变量的样本。

我知道有 MCMC 算法可以做到这一点。但是有人知道在 Python 或 C 中一个好的 MCMC 采样器实现吗?或者还有其他解决问题的方法吗?

格言

4

2 回答 2

1

你看过pymc吗?正如它在描述中所说:“pymc 是一个 python 包,它实现了Metropolis-Hastings算法作为一个 python 类,并且非常灵活并且适用于大量问题”所以你可以使用Metropolis-Hastings来获得一个序列随机样本。

于 2013-07-19T08:02:08.640 回答
0

探索 A 分布的最简单方法是使用您的规则基于 B、C 和 D 的样本生成样本。即对于每一次迭代,从各自的样本集中,独立地重复抽取B、C和D的一个值,并计算A = B*C/D。

如果 B、C 和 D 的样本集大小相同,我建议为 A 生成相同大小的样本。更少的样本会导致信息丢失,更多的样本不会获得太多。是的,即使不会抽取很多样本,我仍然建议重复绘制。

于 2013-09-26T13:52:34.420 回答