CrossGNN: Confronting Noisy Multivariate Time Series Via Cross Interaction Refinement【时序预测】
原文地址
本文发表于NeurIPS 2023
CrossGNN: Confronting Noisy Multivariate Time Series Via Cross Interaction Refinement
背景
多变量时间序列预测技术可以被应用于多个领域(比如天气,交通,能源,金融等),其本质是基于历史时间序列,预测未来。
一个简单的线性模型凭借其显著优于现有先进模型的性能获得了作者的关注,为了弄清楚性能好的原因,作者对现实数据进行了分析。
而经过作者的分析,发现真实世界的多变量时间序列数据存在一些意想不到的噪声(由人为或传感器失真等造成),从而导致现有的先进模型的性能受到影响。基于Transformer的模型严重依赖输入的时间序列,即使是很小的噪声也会导致时间依赖性的显著变化。作者分析得出自注意力机制倾向于给异常点赋高分,导致虚假的跨时间相关性(时间序列上不同时间点的相关性?)。
主要思路
图(a)表示基于Transformer的模型严重依赖输入的时间序列来生成注意力图,受噪声影响较大。
图(b)明确表示了现实时间序列数据集中意外噪声所占比例很高。(这里的意外噪声由离群点检测算法检测得出)
图(c)表示随着提取的尺度越粗糙,噪声强度越低。(这里的时间序列的尺度应该指的是时间序列数据的单位间隔或时间间隔的大小,越粗糙表示提取的时间间隔越长)
图(d)表明不同变量具有同质性和异质性。(在这里同质性应该表示不同变量之间具有相似的变化模式和趋势,在图中对应Positively correlated;异质性表示不同变量之间具有不同的变化模式和趋势,在图中对应Negatively correlated。)
作者基于对图(c)和图(d)现象的分析,认为学习不同尺度之间的依赖关系,以及不同变量间的同质性与异质性的不变关系,有助于提高模型对噪声的鲁棒性。
基于这些思路,作者
- 首先,设计一个自适应多尺度识别器(adaptive multi-scale identifier, AMSI)用于构建多种尺度的时间序列(具有不同噪声水平)
- 然后,提出Cross-Scale GNN用于模拟多种尺度序列,而且趋势更清晰,噪声更弱的序列被赋予更大的边权(也就是捕获这种序列)
- 然后,提出Cross-Variable GNN来模拟不同变量的时间序列,捕获它们之间的动态关系
- 最后,采用DMS对未来时间序列进行预测。
模型设计
多变量时间序列在本文中表示为
X
=
{
X
1
t
,
…
,
X
D
t
}
t
=
1
L
∈
R
L
×
D
\mathcal{X}=\{X^t_1,…,X^t_D\}^L_{t=1} \in \mathbb{R}^{L×D}
X={X1t,…,XDt}t=1L∈RL×D。
D
D
D表示变量数量,
L
L
L表示回望窗口长度(事实上指
L
L
L个不同的观测时间点),
X
i
t
X^t_i
Xit中的
i
i
i和
t
t
t表示第
i
i
i个变量和第
t
t
t个时间步。
AMSL
首先采用快速傅里叶变换FFT计算所有变量的平均振幅,Amp代表振幅(这里应该代表一个时间序列最高点和最低点之间的差值),得到
A
∈
R
L
A \in \mathbb{R}^L
A∈RL。
值得注意的是,傅里叶变换可以将一个信号分解为不同频率的正弦和余弦成分,而这些成分的振幅就对应了在原信号中这些频率上的贡献,因此
A
∈
R
L
A \in \mathbb{R}^L
A∈RL对应下图。
从中选取
S
S
S个振幅最大频率
{
f
1
,
…
,
f
S
}
\{f_1,…,f_S\}
{f1,…,fS},计算得到各个时间长度
{
p
1
,
…
,
p
S
}
\{p_1,…,p_S\}
{p1,…,pS},以获取多个尺度(
S
S
S个尺度)。
对每个时间序列进行池化,捕捉粗尺度到细尺度的特征。
连接所有尺度的时间序列,得到
X
′
∈
R
L
′
×
D
\mathcal{X'}\in \mathbb{R}^{L'×D}
X′∈RL′×D。
Cross-Scale GNN
Cross-Scale GNN最核心的目的是学习对噪声干扰不敏感的跨尺度时间相关权值
E
s
c
a
l
e
E^{scale}
Escale。
AMSL输出的
X
′
∈
R
L
′
×
D
\mathcal{X'}\in \mathbb{R}^{L'×D}
X′∈RL′×D经过扩展,变换为
X
′
∈
R
L
′
×
D
×
C
\mathcal{X'}\in \mathbb{R}^{L'×D×C}
X′∈RL′×D×C后输入Cross-Scale GNN。跨尺度图Cross-scale graph的定义如下。
跨尺度图
G
s
c
a
l
e
=
(
V
s
c
a
l
e
,
E
s
c
a
l
e
)
G^{scale}=(V^{scale},E^{scale})
Gscale=(Vscale,Escale)中,
V
s
c
a
l
e
V^{scale}
Vscale代表一个时间节点集合,而
v
i
s
c
a
l
e
v^{scale}_i
viscale应该指的是这一时间点上所有变量一起构成的一个时间节点。
同时,为了减少噪声对相关权值的影响,作者通过生成两个可学习向量
v
e
c
1
s
c
a
l
e
vec^{scale}_1
vec1scale和
v
e
c
2
s
c
a
l
e
vec^{scale}_2
vec2scale来初始化
E
s
c
a
l
e
E^{scale}
Escale,以保持独立性,确保
E
s
c
a
l
e
E^{scale}
Escale不受隐藏在输入中的噪声的影响。
同时在这一模块中还存在几个重要步骤:
- Scale-sensitive Restriction(规模敏感限制)
在这里,作者认为对于任何时间节点,其在精细尺度上的相关时间节点数应该大于在粗尺度上的相关时间节点数,确保更细尺度的时间序列贡献更多的时间节点关联。并基于权值矩阵 E s c a l e E^{scale} Escale来限制不同尺度下相邻节点的数量。
- Trend-aware Selection(趋势感知选择)
这个设置保留了时间节点与其前节点和后节点之间的关联,确保能够捕获时间趋势。
- Correlation Weight Re-normalization(相关权重重新归一化)
该步骤过滤掉不重要的相关性,并保留每个节点的有限相邻节点 N ( v i s c a l e ) \mathcal{N}(v^{scale}_i) N(viscale)集。
此外,对保留的相关性重新归一化。然后,构建不同尺度下时间节点间的跨尺度相关图。 - Cross-scale interaction(跨尺度交互)
得到跨尺度时间相关图后,作者基于GNN在时间维度上进行跨尺度交互,将信息传播过程堆叠N层
Cross-Variable GNN
交叉变量GNN用于提取由同质关系和异质关系组成的不变相关性。
跨变量图表示为
G
v
a
r
=
(
V
v
a
r
,
E
v
a
r
)
G^{var}=(V^{var},E^{var})
Gvar=(Vvar,Evar),
E
v
a
r
E^{var}
Evar同样通过生成两个潜在向量
v
e
c
1
v
a
r
vec^{var}_1
vec1var和
v
e
c
2
v
a
r
vec^{var}_2
vec2var来初始化:
这一模块同样有几个重要步骤:
- Heterogeneity Disentanglement(异质解开)
也就是分解同质节点与异质节点集。权重高的为同质节点,低的为异质节点。 - Correlation Weight Re-normalization(相关权重重新归一化)
此步骤过滤除均匀和非均匀边缘以外的边缘。
- 同质边的权值与其相关分数呈正相关,也就是说如果两个节点之间有很强的关联,对应同质边的权重增加。
- 异质边的权值与其相关分数呈负相关,也就是说如果两个节点之间有很强的关联,但是它们是异质的,那么异质边的权重将会减少。
- Cross-variable Interaction(跨变量交互)
类似于Cross-scale interaction,同样堆叠N层。
Direct Multi-step forecasting
对输出特征,直接利用DMS进行一次多步MTS预测。