时间序列预测,广泛用于能源、金融、交通等诸多行业,传统的统计模型,例如ARIMA、GARCH等因其简单高效而被广泛使用,近年来,随着深度学习的兴起,基于神经网络的预测模型也备受关注,表现出强大的预测能力。
ARIMA(自回归积分滑动平均模型 Autoregressive integrated moving average model)特别适用于显示出明显线性趋势或季节性模式的数据序列。
结合了自回归(AR)、差分(I)和移动平均(MA)三个部分,主要用于分析和预测具有时间依赖的数据序列。
1、自回归:表明当前的时间序列值可以表示为前一期或多期的函数,即时间序列的当前值与其过去值之间存在线性关系。
2、差分:是为了使非平稳时间序列变为平稳序列的处理方法,通过对原始数据进行一次或多次差分,消除数据的季节性和趋势性,从而稳定序列的方差和均值。
3、移动平均:涉及将模型的误差项表达为观测点的线性组合,可以帮助模型更好地适应时间序列中的随机波动。
GARCH(广义自回归条件异方差模型 Generalized Autoergressive Conditional Heteroskedasticity Model)
一种用于分析时间序列数据中波动性的模型,特别是在金融时间序列中,该模型能够捕捉到时间序列的波动性的自回归和条件异方差性,从而更好地描述和预测金融资产的波动率。
transformer模型因其出色的捕捉长期以来关系的能力,一度被认为是解决时间序列预测问题的利器,但是研究发现,transformer模型在处理长期预测任务中, 反而效果不如一些简单的线性模型。
TiDE:Time-series Dense encoder
摒弃了目前流行的转化器(transformer)结构,采用了编码器-解码器的框架,使用简单的多层感知器(MLP)网络来完成编码和解码的工作。
工作流程:编码器会将历史的时间序列数据和相关的学变量(如节假日、促销活动等)输入进去,学习一个紧凑的表示向量,捕捉数据内在模式,接下来,解码器会根据这个向量,结合已知的未来时间步的协变量,生成相应的预测值。
巧妙之处:在于利用MLP的非线性映射能力来提取复杂特征,同时避免了转化器的注意力计算,大幅提高了模型的训练和预测速度。
框架图:
模型将每个序列视为一个独立通道,每次只传递一个序列及其协变量,模型由三个主要组成成分:编码器、解码器和时序解码器,它们都依赖于残差块结构。
探索残差块:TiDE架构的基础层
是一个具有一个隐藏层和ReLU激活的MLP,然后是一个丢弃层,一个跳转连接和最后的归一化步骤,这个组件会在整个网络中重复使用,以进行编码、解码和预测。
编码器:模型会将时间序列的过去和协变因素映射到一个密集的表示中
第一步:特征投影,利用残差块将动态协变量(随时间变化的外生变量)映射到低维投影中,在进行多元预测时,需要特征的未来值,因此模型必须处理回望窗口和水平序列,这些序列可能会很长,因此,通向低维空间投影,可以保持长度可控,并允许模型处理更长的序列,包括历史窗口和预测范围。
第二步:将序列的过去与其属性以及过去和未来协变量的投影连接起来,然后将其发送给编码器,编码器就是一叠残差块。
所以,编码器负责学习输入的表示,可以看做是一种学习嵌入,完成后,嵌入将被发送到解码器。
解码器:负责接受编码器的学习表示生成预测
第一步:密集解码器,由一叠残差块做成,它获取编码信息并输出一个矩阵,然后输入时序解码器。解码输出与预测特征堆叠,以捕捉未来协变量的直接影响。例如,节假日是准时事件,会对某些事件序列产生重要影响,有了这种残差联系,模型就能捕捉并利用这些信息。
第二步:时空解码器,在此生成预测结果,在这里,它只是一个输出大小为1的残差块,这样就能得到给定时间序列的预测结果。
使用TiDE进行预测
数据:Etth1数据集
ETT(变压器温度)电力变压器温度是电力长期部署的关键指标,该数据集由中国两个独立县的2年数据组成,每个数据点由目标油温和6个电源负载特征组成。
特征:
HUFL:高有效负载
HULL:高无效负载
MUFL:中有效负载
MULL:中无效负载
LUFL:低有效负载
LULL:低无效负载
OT:油温
论文《Long-term Forecasting with TiDE: Time-series Dense Encoder》
提出一种基于多层感知器的编码器-解码器模型——时间序列密集编码器,用于长时间序列预测,具有线性模型的简单性和速度,同事能够处理协变量和非线性依赖关系。
本文的模型使用mini_batch梯度下降进行训练,每个批次包含一定数量的时间序列及其对应的回溯期和预测期数量。使用均方误差(MSE)作为训练损失函数
本文使用了7个常用的长期预测基准数据集:天气、交通、电力和4个ETT数据集。交通和电力是最大的数据集,分别有>800和>300个时间序列,每个时间序列都有数万个时间点。
look-back windows:指的是模型用于预测未来值的时间序列过去值的长度
对于每个方法,look-back windows在{24, 48, 96, 192, 336, 720}中进行了调优。训练、验证、测试的比例是7:1:2,所有实验都是在标准归一化数据集上进行的。
使用批大小为8的电力数据集,即每个批的形状为8*321*L,因为电力数据集由321个时间序列,对于每个时间序列,使用前1640个步骤进行训练,接下来740个步骤进行验证,最后740个步骤进行测试,结果是由4000个示例用于训练,400个示例用于验证,400个示例用于测试。