数据来源:https://github.com/zhouhaoyi/ETDataset
https://archive.ics.uci.edu/ml/datasets/ElectricityLoadDiagrams20112014
https://github.com/laiguokun/multivariate-time-series-data
http://pems.dot.ca.gov
https://www.bgc-jena.mpg.de/wetter/
https://gis.cdc.gov/grasp/fluview/fluportaldashboard.html
https://github.com/cure-lab/LTSF-Linear
https://github.com/cure-lab/SCINet
创新点
【为克服】 使用不适当的统计量进行归一化 【导致的】 输入序列的每个切片的本能模式被破坏,以及未来统计量的不良估计而导致最终预测结果的预测偏移。
【提出了】 一个用于非平稳时间序列预测的通用归一化框架- -切片自适应归一化 (Slicing Adaptive Normalization SAN)
【导致】 不适当统计量的 【原因】:
【一方面】 现有的大多数方法忽略了输入序列和 horizon series 之间的分布差异,简单地利用输入序列的统计特性来非正则处理输出结果。
【此外】先前的研究假设在归一化过程中,同一实例内的所有时间点具有相同的统计特性,全局实例归一化被广泛应用。
例:
尽管在时间上相关,但输入序列的均值与 horizon series 的显著( 075 ~ 1 . 5)不同,表明存在潜在的普遍分布差异。
方法简述
【首先】 将输入序列分割成互不重叠的等大小切片
【然后】 根据其统计特性对切片进行归一化处理,并将其输入到预测模型中。
【同时】 使用一个统计量预测模块,根据输入的统计量来预测未来切片的分布。
【最后】 利用估计良好的统计量将非平稳信息还原为预测模型的输出。
方法总结
统计量预测模块独立地模拟统计量的演化趋势,SAN采用了更精确的统计量进行自适应的非正规化。
【因此】 非平稳预测任务实际上被简化为统计预测和平稳预测。
【此外】 SAN是一个模型无关的框架,可以应用于任意的预测模型。在一个广泛使用的基准数据集上进行了充分的实验。
【实验结果表明】SAN优于先进的归一化方法,大幅度地提高了各种主流预测模型的性能。
流程
对输入序列的每个切片进行归一化去除非平稳因子,通过非归一化以去除非平稳因子,再通过归一化将其恢复到输出序列
基于间跨度T 将输入序列 xi 分成 M 个 非重叠切片 {xi j}M j=1
每个切片的均值和标准差计算如下:
其中μi j ,σi j ∈ RV*l , xi j,t 是 切片xi j 在t时间步长的值。
通过原始输出谢列的每个切片的单独统计信息进行归一化,公式如下:
ε 是一个小常数
将每个切片归一化后,再按其原始时间顺序回复所有切片,并让没有非平稳因子的处理序列成为模型的新输入
统计预测模块
SAN为两阶段模型
第一阶段:它首先将统计量预测模块优化为收敛( lsp ),它根据切片输入均值μi和标准差σi来学习预测未来的统计量。将预测的未来统计量用来训练网络,将得出的输出的
进行非规范化处理的得到
第二阶段 :传统的训练预测模型的过程( lfc ),其中统计预测模块被冻结并作为插件功能。
认为输入序列的总体均值ρi为目标序列的均值 的极大似然估计
输入序列的总体均值.jpg
目标序列的总体均值.jpg 基于上述假设 在该方法中引入残差学习技术,让模块学习未来切片均值( μi)与整体输入均值ρi之间的差值,而不是预测具体的值。这种方法降低了在事先知道未来趋势的情况下对均值建模的难度。此外为消除量纲的影响,设置W1,W2∈ RV 作为一维向量表示每个变量的权重。
统计预测过程可以表述为:
μi= [μi 1, μi 2… μi M]∈ RV*M 表示输入的M个切片的所有均值。
代表未来K个切片的预测均值。同样的记法对标准差起作用。预测统计量与真实值之间的均方误差( MSE )作为损失函数( lsp ),通过反向传播来训练网络。
根据预测模型得出输出
首先将其拆分为K个不重叠的切片:
进行非规范化处理,公式如下:
最后按时间顺序恢复所有切片,可以得到整个框架的最终预测
被用于之后的损耗计算(lfc)和性能评估、虽然整体框架明了,但培训过程需要仔细考虑,由于SAN的归一化流程是主干模型的约束,因此整个学习过程实际上是一个双层次优化问题。上层的目标是时间序列预测的性能,而下层的目标是非规范化输出和地面实况之间的分布相似性。从形式上讲,原始的整体培训过程可以描述为:
(为简洁起见,省略了数据的转换过程,只保留了计算所需的原始输入)
使用随机梯度下降法得出φ* 最优解
这将原来的非平稳预测任务解耦为统计预测任务和稳态预测任务。在实践中,统计预测模块首先被训练成收敛,然后在训练预测模型的第二阶段被冻结并被视为插件。
实验
使用多种数据。
按照时间顺序将每个数据集分为训练集、验证集和测试集。ETT数据集的分割比为6:2:2,其他数据集的分割比为7:1:2。
SAN 是一个与模型无关的框架,可应用于任意时间序列预测模型。为了证明该框架的有效性,本文选择了一些基于不同架构的主流模型,并评估了它们在多变量和单变量设置下的性能:基于线性模型的DLinear ,基于Transformer的Autoformer 和FEDformer ,以及基于膨胀卷积的SCINet 。本文呢按照 DLinear9 和 SCINet10 官方代码中提供的实现和设置来实现这些模型。
实验细节
使用ADAM 作为所有实验的默认优化器,并报告均方误差(MSE)和平均绝对误差(MAE)作为评估指标。较低的 MSE/MAE 表示性能越好。对于SAN中的统计预测模块,为了简单起见,我们使用了一个简单的两层感知器网络,其隐藏大小与骨干模型的嵌入大小相同。
切片长度
切片长度的选择采用了启发式的方法,
即现实世界的时间序列数据在人为定义或实际时间段(每天、每周等)内表现出类似的变化模式。通过梳理基准数据集的频率,本文建立了一个 {6, 12, 24, 48} 的切片长度范围,以便大多数设置涵盖有意义的时间跨度。例如,本文为 ETTh1、电力和交通等数据集选择了 24 的切片长度,频率为 1 小时。这确保了每个时间片在一天内包含数据,并保证了候选人之间的最佳表现。在这里,我们承认我们方法的一个局限性是当前设计无法处理不可分割的长度,因此我们将切片长度设置为 6,这大约代表每周周期,而不是 Exchange 数据集中的 7。
实验结果
实验最佳结果用粗体表示
清楚地发现,在基准数据集的大多数情况下,SAN框架可以大大提升这些模型。
本文将这种改进归因于两个方面。
【首先】SAN减轻了非平稳因素的影响,正如三个典型的非平稳数据集(Exchange、ILI和ETTh2,由ADF测试结果确定)的性能所证明的那样。
【其次】 即使在长期预测场景中,预测的难度随着预测时间的延长而显著增加,SAN 也会施加约束。
将SAN模型与的三种最先进的归一化方法:RevIN 、非平稳变压器 (NST) 和 Dish-TS ,根据相同的实验设置进行比较。将SAN模型归一化的方法和其他归一化方法运用到Autoformer和FEDformer模型上,对每个数据集的所有预测长度上的平均MSE评估以及相对改进。
【结论】 SAN在现有的归一化方法中实现了最佳性能。比较表明,SAN在从时间切片的角度去除非平稳因素方面可能更有效,而不是考虑整个实例。此外,提出的两阶段训练模式至关重要,因为它使 SAN 的性能大大优于 Dish-TS,而 Dish-TS 忽略了双级优化的性质。然而,SAN的这种特殊能力可能会导致过度平稳化问题[25],导致天气数据集的性能下降。
预测结果
下图显示了使用 FEDformer 作为主干的 ETTm2 数据集上的示例预测,并具有 SAN、RevIN、NST 或 Dish-TS 增强功能。
输入长度为 96,预测长度设置为 336。很明显,SAN 可以生成更现实的预测。
本文猜测 RevIN 和 NST 的质量差是由它们粗略的非规范化方式引起的。尽管输入序列的平均值可以被视为未来数据的最大似然估计,但与输入相比,非平稳数据集的分布可能会发生重大变化。
因此,简单地使用输入序列统计量对主干模型的输出进行非规范化处理可能会导致不匹配,就像在 RevIN 和 NST 预测中看到的那样,这两个量表相似。
至于Dish-TS,该方法虽然试图学习未来分布,但它忽略了双层优化的性质,其纠缠的学习模式限制了统计的估计精度,最终导致性能不佳。
【相反】SAN从切片的角度对时间序列的动态性质进行建模,并引入了一个独立的统计预测模块,以学习通过两阶段训练模式来预测未来非规范化的分布。通过这种方式,我们根据统计预测自适应地调整预测结果的规模和偏差,捕捉未来数据的趋势。因此,尽管输入的平均值相当低,但 SAN 仍会产生与实际情况一致的更高预测。