2023 ICLR (未中)
1 intro
- 最常见的时间序列预测损失函数是MSE、MAE等点误差函数,这类函数关注每个点的拟合是否准确。
- 然而,这种损失函数完全忽略了不同点的关系,在时间序列中忽略了各个点的时序关系,导致了预测结果的形状和真实序列不匹配的问题。
- 针对MSE等损失函数的问题,业内提出一种针对时间序列预测问题的DTW损失函数。
- DTW也有其缺点,对齐过程容易受到噪声影响,且对齐过程一定程度上丢失了序列的时间位置信息,一般会影响MSE等评价指标。
2 论文思路
2.1 6种类型的时间序列关系
- 文中定义了6种类型的序列关系,分别是在值域维度和时间维度上。
- Shifting代表序列A相比序列B在取值上加一个常数,或者在时间轴维度进行一个平移。
- Uniform Scaling表示在时间轴或值域上进行一个常数k的乘法变换,在时间轴上可以看成对原始序列的拉长或者缩短。
- Dynamic Scaling指的是每个时刻额变换是由一个动态函数生成的,每个时刻是不确定的。
- 接下来论文分析了上述6种关系,哪些适合作为评价两个序列形状相似度的指标。
- 如果能利用上述某种关系评价序列形状关系,就可以将其引入到损失函数中,让损失函数考虑预测结果和真实结果的形状关系,而不是像MSE一样只考虑点误差。
2.1.1 Amplitude Shifting
对于Amplitude Shifting,如果某个损失函数能满足所有时间点预测结果和真实结果距离为一个常数k,这个损失函数就可以支持Amplitude Shifting:
2.1.2 Phase Shifting
对于Phase Shifting,两个序列的形状相同,但是在时间轴上发生了平移,那么可以通过将时间序列转换到频域,获取dominant frequency(振幅最大的几个频率),预测结果和真实结果的dominant frequency相同,就可以认为loss为0:
2.1.3 Uniform Amplification
对于Uniform Amplification,也是类似的道理,预测结果和真实结果的比值都为k,那么两个序列的loss为0:
2.1.4 其他三种关系
对于其他3种关系,并不适合用于度量两个序列形状的不变性。为了其他3种关系设计的损失函数会损害模型关注的序列信息。
2.2 TILDE-Q损失
基于上面的思考,本文提出了TILDE-Q损失函数,包括3个损失函数,分别对应上面3个不变性关系。
2.2.1 Amplitude Shifting Invariance with Softmax
目标是让所有时刻的预测结果和真实结果的距离是一个常数k
loss 最小的时候,就是每个softmax都是一样的时候,也就是每个距离都一样的时候
2.2.2 Invariances with Fourier Coefficients
- 通过对时间序列进行傅里叶变换,获取预测结果和真实结果的主成分,使用范数对比两个序列的主成分差异作为损失函数,主成分差异越小,对应的loss越小,以此引入了平移不变性
主成分是振幅最大的几个频率
2.2.3 Invariances with auto-correlation
- 计算真实序列的自相关系数,以及预测结果和真实序列的相关系数,比较二者的差异
如果预测结果 y 和真实结果 y′ 的比值都为 k,即对于所有的时间点 t,都有
,
那么,尽管两个序列可能会在绝对数值上存在差异,但在它们的相对变化和动态性上是一致的。这是因为它们都是按照同一个比例 k 变化的。
但是,单纯地比较这两个序列的值并不能给我们提供关于它们动态关系的信息,这时我们需要采用其他的分析方法:
- 如果真实序列 y′ 的自相关系数与 y 和 y′ 之间的相关系数相同,这意味着预测 y 完美地捕捉了真实序列 y′ 的动态性。
- 如果这两个系数有所不同,那么这可能意味着预测 y 没有完全捕捉到真实序列 y′ 的某些动态变化。
2.2.4 最终的损失函数
4 实验
4.1 预测结果可视化
4.2 主流预测模型的效果
使用本文提出的损失函数,可以实现MSE这种点误差损失,以及描述形状的DTW等损失同时最小,在不影响传统MSE误差的情况下让模型预测出形状更接近真实序列的结果