如何在时间序列预测中充分利用时间戳信息?
如何在时间序列预测中充分利用时间戳信息?
本文介绍了一篇关于时间序列预测的学术论文《How Much Can Time-related Features Enhance Time Series Forecasting?》。研究发现,时间戳相关特征(如季节、月份、星期几、小时、分钟)是时间序列数据的重要组成部分,其缺失限制了模型捕捉周期性或季节性趋势的能力。因此,本文提出了一个名为TimeSter的模块,用于编码时间相关特征,并将其与线性层结合形成TimeLinear模型。
研究背景
长时序时间序列预测(LTSF)主要关注历史数据中跨时间和跨变量的依赖性捕捉。简单来说,时序任务能用的数据就这两样:时间戳和变量。但许多现有方法主要靠变量建模,却忽略了时间戳相关特征(如季节、月份、星期几、小时、分钟)。
这些时间相关特征是时间序列数据的重要组成部分,其缺失限制了模型捕捉周期性或季节性趋势的能力。本文作者做了一个非常大胆的实验,仅基于时间戳进行预测,结果如上图a所示,可以发现仅基于时间戳取得了最好的效果。其实在NIPS24的那篇文章也有类似消融实验结果,既去除时间戳不会对结果产生什么影响。本文提出了一个名为TimeSter的模块,用于编码时间相关特征,并将其与线性层结合形成TimeLinear模型。
本文模型
模型非常简单,看下图,下图是本文所提出的Time Linear,包含a和b两个模块。(a)TimeSter模块主要是对时间戳特征进行编码并预测未来值。(b) 骨干模型BonSter是可以替换的,主流的backbone都可以使用,该模块主要利用多变量时间序列的历史观测数据来生成预测。然后对两部分的输出被加权求和,得出最终预测。
Time Stamp Forecaster
这部分是本文的核心,通过时间戳进行序列预测。之所以能够通过时间戳进行预测是因为特征值随时间有相对稳定的分布。如下图所示,作者可视化了每周一中午后不同数据集上选定变量的概率密度分布,可以看出来,特征值的确存在一个时间依赖的分布模式。
有了稳定的分布,作者设计了一个编码器时间戳编码器,编码器由两个非线性隐藏层、一个一维卷积层和一个线性投影层组成,按照作者的描述“每个线性层沿着时间相关特征和多变量观测维度进行投影。卷积层融合与上述线性层同维度的特征,并在时间维度上混合通道以生成多样化的输出”,最后使用线性层预测未来的观测值。
Backbone Forecaster
骨干网络就不过多介绍了,这块适配主流的模型ITransformer、Patch TST等等。并且主要基于时序特征进行建模预测。最后通过加权参数对时间戳预测结果和骨干网络预测结果加权得到最终结果。
实验评估
在实验评估中,TimeLinear模型展示了其在多变量时间序列预测中的优越性能。通过与多种基线模型(包括线性、多层感知器、卷积和Transformer架构)的比较,TimeLinear在多个数据集上表现出色,特别是在电力和交通数据集上,其平均均方误差(MSE)减少了23%。TimeLinear不仅在参数数量上显著少于其他非线性模型,而且在训练速度上也表现出更高的效率。