我正在尝试使用“机器学习的高斯过程”第 5.4.3 节中的 Mauna Loa 示例中的函数方法来预测具有高斯过程的各种时间序列。(X = 时间,y = 在时间点的观察值)。
除了那个特定的例子,我几乎总是以预测作为训练数据的平均值而告终。尽管使用 Periodic Kernel 并将周期性设置为 7 以获得清晰的每周模式,但预测保持平稳,训练集的拟合值也接近均值,几乎没有变化。通过一些手动网格搜索,我得到训练数据以更好地匹配训练数据,但大多数时间预测再次保持平稳。
我已经尝试了许多不同的内核(RBF、Periodic 等)和组合,尝试了超参数的不同起点(尤其是方差和长度尺度),对观察使用了不同的时间尺度和不同的缩放技术(减去平均值,除以 std,两者都没有缩放)。然而,预测几乎总是持平。
现在我知道内核和超参数的选择应该是合理的,但我认为获得有意义的输出并不那么难,而且我在这里做错了什么。
我尝试的包是 Python 3.6 上的 gpflow 和 sklearn ,并且正在通过边际似然优化参数(没有稀疏 GP 或变分近似)
我的问题是:有没有人知道我在这里做错了什么或者如何更容易获得合理的预测?