gpt4 book ai didi

python - PyMC:利用 Adaptive Metropolis MCMC 中的稀疏模型结构

转载 作者:IT老高 更新时间:2023-10-28 22:09:38 38 4
gpt4 key购买 nike

我有一个结构如下图所示的模型:

Model diagram

我有几个人(在这张图片中索引为 1...5)。种群参数(AB,但可以有更多)确定每个个体的潜在变量 L[i] 的分布。潜在变量 L[i] 以概率的方式确定观测值 X[i]。这个模型是“稀疏的”,因为大多数节点没有直接连接它们的边。

我正在尝试使用 PyMC 来推断总体参数以及每个人的潜在变量。 (更详细地描述我的具体情况的一个相关问题是 here。)我的问题是:我应该使用 Adaptive Metropolis 而不是另一种方法,如果是,是否有任何“技巧”来分组随机变量正确吗?

如果我正确理解 Adaptive Metropolis 采样(我可能不会...),该算法会为未知数(AB 和所有L[i]) 通过考虑这些变量在到目前为止运行中构建的后验分布中的相关性。如果 AB 负相关,那么增加 A 的提案将倾向于减少 B,反之亦然- 反之亦然,以增加提案被接受的机会。

问题是,在这个模型中,每个 L[i] 都是从由 AB 确定的底层人口分布中独立抽取的>。因此,虽然它们会被视为在后验中相关,但这些相关性实际上是由于 AB 单独造成的,因此它们在某种程度上是“混淆”。所以当我调用函数时,

M.use_step_method(pymc.AdaptiveMetropolis, stochastics)

所有的 L[i] 是否应该一起出现在随机指标列表中?或者我应该多次调用 use_step_method,每次都使用 stochastics=[A, B, L[i]] 只为 L[i] 之一?我的想法是,为不同的随机变量组多次调用该函数可以构建问题,并通过告诉 PyMC 只关注重要的相关性来使 PyMC 更容易。这是正确的吗?

最佳答案

这可能是一个不令人满意的答案,但 PyMC3 似乎有一个非常相似的分层模型的示例:https://pymc-devs.github.io/pymc3/GLM-hierarchical/将您的代码迁移到 PyMC3 将使您能够访问更新的示例,例如 No-U-Turn Sampler (NUTS)

关于python - PyMC:利用 Adaptive Metropolis MCMC 中的稀疏模型结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29856426/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com