我正在尝试应用高斯过程来估计传感器读数的值。我有几年的传感器读数(每小时节奏的时间序列),所以我的数据是一个由两列组成的数组,第一列是时间,另一列是当时的传感器读数。我试图编写高斯过程的代码,但我不知道如何对时间进行建模,因为它是模型的输入,我是否应该只使用小时作为数字,所以我最终得到了一系列重复的0 到 23 之间的数字?我应该使用整数的 UNIX 时间戳,但我最终会得到一个不断增加的数字系列吗?处理此问题的最佳做法是什么?换句话说,当我们处理时间序列时,高斯过程模型的输入是什么。如果您能提供一些 python 或 MATLAB 中的代码片段,将不胜感激。还有一个问题,你能推荐一个 Python 包来处理使用高斯过程预测时间序列的问题吗?
具有时间序列的高斯过程
机器算法验证
时间序列
预测
Python
matlab
高斯过程
2022-03-27 19:24:36
1个回答
逆序有许多不错的 GP 库,例如 SKLearn、GPy、pyGPs、GPflow 等。
其次,您的输入显然是时间,您可以根据需要对其进行预处理,但您应该了解高级问题,例如我只关心一天中的时间吗?(在这种情况下,您可以删除日期并仅保留 0-23 小时)或者您是否还想模拟季节性趋势?(在这种情况下,unix 时间戳可能很有用)
重要的是要了解 GPS 不仅仅是一种平滑的外推技术 - 因此您可以通过您选择的内核来编码时间点的相似程度。因此,例如,每日趋势可能被编码为周期为一天的周期性内核。然后,您可以添加并乘以它来调整周期性内核,也许添加一些噪音等等。这种核算法的组合在函数空间的总和和乘积上创建了分布。查看例如http://www.cs.toronto.edu/~duvenaud/cookbook/和https://github.com/jkfitzsimons/IPyNotebook_MachineLearning/blob/master/Just%20Another%20Kernel%20Cookbook....ipynb .