频率是期间序列的一个关键消息。给定一个期间序列,可以经过依照不同频率的聚合,取得不同粒度的期间序列。比如,给定的原始期间序列是以小时为粒度的,那么经过将24个点加和成1个点,就可以构成以天为粒度的期间序列数据。不同的粒度,蕴含的消息也不同。粒度越细,越能表现期间序列的部分特色,同时噪声也更大;粒度越粗,序列愈加平滑,反响了期间序列的全局特性,噪声较少,然而也损失了很多消息。
因为粒度的粗粒,一切含的消息不同,因此业内针对这个现象,提出了一系列的多频率建模方法,将不同频率的聚合序列同时引入到模型中,成功消息的互补。 这篇文章就给大家汇总一下单变量期间序列预测中,成功多频率建模的**理路。
多频率建模**方法
关于原始的期间序列,须要将其转换为模型输入。这其中目前经常出现的有2种方法:第一种是每个期间步的数值间接输入模型中,也就是每个期间步的值经常使用一个MLP映射成embedding,输入到模型中;第二种方法是将期间序列划分红patch,每个patch蕴含多个期间步,patch内经过MLP映射成一个embedding,再输入到模型中。
多频率建模的**优化也就在这个环节中表现。关于第一种输入方式,可以经过不同尺度的average pooling操作,对期间序列先启动一步聚合,再将不同尺度average pooling的会聚结果输入到模型中。关于第二种输入方式,经过控制不同的patch尺寸,成功不同粒度的数据组织方式,再输入到模型中。
在此技术上,还有更进一步的优化。例如,模型由多层组成,在不同的层中,输入不同的粒度;又比如,让模型智能的去学习一个最优的粒度划分方法,优化多粒度建模的成果。
上方汇总一些多粒度建模的代表性上班和方法。
Patch Transformer引入多频率
很多上班将PatchTST中的输入改为多尺度的patch划分方式,成功多粒度的patch建模,每种粒度的patch提取不同频率的消息。
Multi-resolution Time-Series Transformer for Long-term Forecasting 提出了一种多尺寸patch transformer建模方法。关于每一层网络,会有多个分支,每个分支输入不同尺度patch处置的期间序列。每种patch处置方式由窗口长度和步长组成。每个分支独立的经常使用Transformer对该patch启动编码,将各个branch的结果拼接到一同,经过线性层映射后输入到下一层。
Average Pooling引入多频率
TIMEMIXER: DECOMPOSABLE MULTISCALE MIXING FOR TIME SERIES FORECASTING 经过不同尺寸的average pooling,在模型中引入多粒度的消息。首先,结构原始期间序列的多粒度方式,最细粒度就是原始的期间序列,上一层经常使用窗口average pooling启动下采样,逐层构建更粗粒度的序列,构成多粒度期间序列。接上去,因为趋向项和节令项在不同的scale下法令性不同,因此文中在每个细分scale上进一步启动趋向项节令项合成,启动区分建模。
关于节令项,文中指出,粗粒度的节令项消息是由细粒度节令项消息会聚而成,因此细粒度的节令项消息关于粗粒度的节令项建模十分关键。基于这个思考,本文的节令项多粒度建模驳回了一种从下到上的方式,第N层粒度的表征,会用到上方更细粒度表征的消息。
关于趋向项,和节令项刚好同样,粗粒度反而更能反响趋向项的消息。因此在多粒度趋向项建模中,文中经常使用了从上到下的建模方法,高层的表征由层的趋向项加上上一层趋向项输入编码器的结果获取。
在获取历史多粒度表征后,另一个模块是依据表征启动预测。文中驳回了一种相似ensemble的打算,每种粒度的编码,区分过MLP映射到预测结果的维度,不同粒度的预测结果相加,获取最终的预测结果。
不同网络层引入不同频率
在一些上班中,关于模型的不同层引入不同粒度,让每层网络专一于一个粒度的消息提取。
A Multi-Scale Decomposition MLP-Mixer for Time Series Analysis 提出一种多粒度的patch划分期间序列模型,能够在网络的不同层,依据不同的patch尺寸自顺应的启动patch划分,成功不同维度的建模。全体的建模思绪和Nbeats比拟像,每一层拟合上一层的残差。在一层的MSD-Mixer网络中,首先将期间序列启动patch处置,经常使用一个Patch Encoder编码,生成层期间序列的示动向量。这个示动向量会再经过一个Decoder + Unpatching的反向处置,生成层的约结果,而后经常使用层的输入减去这个预测结果获取残差,作为下一层的输入和预测指标。最终经常使用各个层的预测结果加到一同,获取最终的预测结果。
Multi-resolution Time-Series Transformer for Long-term Forecasting 则是在建模环节中,每层Transformer都启动不同频率的merge操作,成功不同层的不同分辨率数据输入。模型的输入序列驳回patch的方式,将期间序列分红多个patch。在每层Transformer之后,会将patch启动Merge操作,也就是从细粒度patch转换成粗粒度patch,从底层到高层patch的粒度逐突变粗。
灵活多频率Patch
MultiResFormer: Transformer with Adaptive Multi-Resolution Modeling for General Time Series Forecasting 提出了一种自顺应的多尺度建模方法。这篇文章成功了一种自顺应分辨率的设定,即依据期间序列自身的特性,智能选用用什么样的分辨率对期间序列启动patch宰割。
成功自顺应多粒度建模的**是Salient Periodicity Detection模块,这个模块用来识别期间序列中最关键的周期消息,关键是经过极速傅里叶变换将期间序列映射到频域,选用频域中幅度最大的topK个主成为作为期间序列的关键周期。接上去,依据这些周期长度,对期间序列启动分patch,每个patch经常使用一个独立的Transformer分支启动建模,这些Transformer共享参数。每种分辨率的patch会加上一个相应分辨率的可学习embedding启动消息增强。
在各个尺寸patch的建模中,不同patch尺寸的序列长度不同,文中经过差值的方式,将各个尺寸patch的长度对齐,而后在对应时辰启动各个patch表征的融合,获取每层的输入。各个层的输入都坚持和输入序列长度分歧的方式。
本文转载自,作者: