如何约束PYMC中高斯过程的输出?

时间:2015-09-21 14:17:13

标签: pymc

所以我想在PyMC中进行非常具有挑战性的MCMC运行,我之前已经运行了几次以进行更简单的分析。然而,我最新的挑战要求我以非常具体的方式组合许多不同的高斯过程,我对一般的高斯过程或者如何在PyMC中实现它们以设计我需要的代码知之甚少。

以下是我要解决的问题:

我的数据是五个时间序列(我们称之为A(t),B(t),C(t),D(t)和E(t)),每个时间序列都有高斯/正常的不确定性。这些中的每一个都可以被建模为一个系列特定效率函数和所有五个时间序列之间共享的一个基础函数的乘积,因此A(t)= a(t)* f(t),B(t)= b( t)* f(t),C(t)= c(t)* f(t)等...我需要测量f(t)的后验,或者更具体地说,f的积分的后验(t)dt over a domain。

所以我已经阅读了一些关于在PyMC中实现高斯过程的文档,但是在我开始编写模型之前,我的效率函数还有一些额外的问题需要特别解决。主要是 -

1)我对效率函数a(t),b(t)等的形状没有强烈的先验......只要它们平滑变化,就没有强烈禁止的形状。

2)这些效率函数在物理上一直在0到1之间。因此,虽然我没有先前的曲线形状,但它必须落在这些界限之间。我确实有一些关于其典型值的事先知识,但由于我需要对其进行边缘化,所以我不能对此施加太多其他限制。

之前有没有人解决过类似的问题,有什么可能是保证我的效率先验在这个复杂的MCMC运行中得到实施的最优雅方式?我对高斯过程/协方差函数知之甚少,不知道如何对数据强制这些约束。

0 个答案:

没有答案