【问题标题】:PyMC: How can I describe a state space model?PyMC:如何描述状态空间模型?
【发布时间】:2013-12-08 20:56:45
【问题描述】:

我曾经使用 C 编写我的 MCMC。但我想尝试一下 PyMC。

假设 X_n 是其动力学遵循马尔可夫链的基础状态,而 Y_n 是观察到的数据。特别是,

Y_n 具有均值取决于 X_n 和多维未知参数 theta 的泊松分布 X_n | X_{n-1} 的分布取决于 theta

我应该如何使用 PyMC 来描述这个模型?

另一个问题:我可以找到 theta 的共轭先验,但不能找到 X_n。是否可以指定使用共轭先验更新哪些后验以及使用 MCMC 更新哪些后验?

【问题讨论】:

    标签: hidden-markov-models pymc mcmc


    【解决方案1】:

    Here is an example of a state-space model in PyMC 在 PyMC wiki 上。它基本上涉及填充一个列表并允许 PyMC 将其视为 PyMC 节点的容器。

    至于问题的第二部分,您当然可以提前计算一些共轭后验并将它们放入模型中。例如,如果您观察到二项式数据x=4n=10,您可以插入一个 Beta 节点 p = Beta('p', 5, 7) 来表示该后验(就模型而言,它实际上只是一个先验,但它是给定数据的后验x)。然后 PyMC 会在每次迭代时为这个后验抽取一个样本,以便在模型中需要它的任何地方使用。

    【讨论】:

    • 谢谢!我基本上理解你的想法是关于共轭先验的第二个问题,但仍然不知道如何设置它。例如如果我想运行 100 个 MCMC 更新,我当然不能“硬编码”100 个这样的节点。 PyMC 仓库中有代码示例吗?
    猜你喜欢
    • 2023-01-28
    • 1970-01-01
    • 2017-10-31
    • 2014-05-03
    • 1970-01-01
    • 1970-01-01
    • 2022-11-10
    • 1970-01-01
    • 2021-10-24
    相关资源
    最近更新 更多