如何指定GP依赖于非obsereved随机游走

时间:2017-08-31 18:12:35

标签: pymc3

我有一个想要建模的周期性信号。我想让信号能够及时拉伸和压缩,我不知道确切的轮廓。

目前,我正在将相位进展建模为随机游走,并通过将平均似然定义为相位上的正弦和余弦之和来捕捉周期性,其中余弦上的权重是要拟合的参数

即。

y = N(f(phase),sigma) =  N(sum_i(a_i*sin(phase) + b_i*cos(phase)),sigma)

(即latex image of above

这似乎在某种程度上有效,但我想改变f的定义,使其不依赖于罪和余额的总和。

我正在研究高斯过程,并认为可以在那里找到解决方案 - 但我无法弄清楚如何(如果可能的话)在相位方面定义y使用GP。

pymc github网站上有一个例子:

y_obs = pm.gp.GP('y_obs', cov_func=f_cov, sigma=s2_n, observed={'X':X, 'Y':y})

这里的问题是X被定义为观察到的,而我需要将其建模为随机变量。

我试过这个表格:

y_obs = pm.gp.GP('y_obs', X = phase , cov_func=f_cov, sigma=s2_n, observed={ 'Y':y})

但这会导致错误:

 File "/home/person/.conda/envs/mcmcx/lib/python3.6/site-packages/pymc3/distributions/distribution.py", line 56, in __init__
    raise TypeError("Expected int elements in shape")

我是HB/GP/pymc3的新手......甚至是stackoverflow。如果问题已经解决,请道歉。

0 个答案:

没有答案