PYMC3季节变量

Pau*_*aul 6 python bayesian pymc pymc3

我是比较新的PYMC3,我试图实现贝叶斯结构时间序列(BSTS)没有回归系数,比如模型拟合这里在R.模型如下:

模型

我可以使用GaussianRandomWalk来实现局部线性趋势,如下所示:

delta = pymc3.GaussianRandomWalk('delta',mu=0,sd=1,shape=99)
mu = pymc3.GaussianRandomWalk('mu',mu=delta,sd=1,shape=100)
Run Code Online (Sandbox Code Playgroud)

但是,我对如何在PYMC3中编码季节性变量(tau)感到困惑。我是否需要参加自定义的随机游走课程,还是有其他技巧?

ase*_*ldt 0

您可以使用

w = pm.Normal('w', sd=sigma_tau, shape=S)
tau = w - tt.concatenate([[0.], w.cumsum()[:-1]])
Run Code Online (Sandbox Code Playgroud)

根据数据的不同,它也可能更快地用于cumsum其他随机游走,这通常可以避免后验中的相关性,这使采样器的工作更轻松。