我对PYMC3比较陌生,我正在尝试实现一个没有回归变量的贝叶斯结构时间序列,例如,模型拟合R中的here。模型如下:

我可以使用GaussianRandomWalk实现局部线性趋势,如下所示:
delta = pymc3.GaussianRandomWalk('delta',mu=0,sd=1,shape=99)
mu = pymc3.GaussianRandomWalk('mu',mu=delta,sd=1,shape=100)但是,我不知道如何在PYMC3中编码季节变量(tau)。我是否需要创建一个自定义的随机漫游类,或者是否有其他技巧?
发布于 2017-08-22 17:42:07
您可以使用
w = pm.Normal('w', sd=sigma_tau, shape=S)
tau = w - tt.concatenate([[0.], w.cumsum()[:-1]])根据数据的不同,使用cumsum进行其他随机漫步也可能更快,这通常会避免后验中的相关性,这使得采样器的工作更容易。
https://stackoverflow.com/questions/45806799
复制相似问题