Recursion 基于pymc的递归贝叶斯算法

Recursion 基于pymc的递归贝叶斯算法,recursion,bayesian,pymc,Recursion,Bayesian,Pymc,一般来说,贝叶斯推理的工作原理如下: prior = foo for data in (dataSet as it arrives): posterior = prior+model+data prior = posterior 令人惊叹的pakedge PyMC似乎具有以下工作流程: prior = foo run MCMC on prior+AllTheModel+AllTheData posterior = trace 这很酷,但我如何才能结束循环?即,如何将跟踪转换为

一般来说,贝叶斯推理的工作原理如下:

prior = foo
for data in (dataSet as it arrives):
    posterior = prior+model+data
    prior = posterior
令人惊叹的pakedge PyMC似乎具有以下工作流程:

prior = foo
run MCMC on prior+AllTheModel+AllTheData
posterior = trace
这很酷,但我如何才能结束循环?即,如何将跟踪转换为下一个数据或模型的先验


要更具体地了解我的用例: 我有每个工作日的数据。我与PyMC的当前工作流:

At the end of each day the program is run. 
It starts with uninformative priors. 
Then it loads in all the data for the whole history.
Runs MCMC, and generates reports from the traces.

项目的前几天,程序在合理的时间内运行,小伯尔尼和小瘦。当我们进入项目数周后,程序需要很长时间才能运行。此外,通常需要重新运行,以达到伯尔尼不足或acor高的目的。这是一个很好的例子。有没有办法将昨天所做的分析保存为今天数据模型之前的分析?

在PyMC中没有好办法。出来的后验数据由一组样本表示。您可以将Previor-to设置为昨天样本的点质量的混合物,但这不太可能奏效。您必须将参数近似值与后验值相匹配,才能有效地将其用作前验值。

@Cam.Davidson.Pilon我是否应该将其发布在Cross Validated上?