前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >让时间序列预测结果更真实的损失函数

让时间序列预测结果更真实的损失函数

作者头像
圆圆的算法笔记
发布2022-12-19 21:01:11
1.8K0
发布2022-12-19 21:01:11
举报

时间序列预测中,我们经常使用的损失函数包括MSE、MAE等。这些损失函数的目标是预测结果和真实值每个点的差距最小。然而这样的点误差损失函数真的适用于所有时间序列预测任务吗?

点误差损失函数的问题在于,模型可能无法预测出准确的形状,而只是找到一种最简单的方法让点预测结果误差最小。例如,在一些时间序列任务中,数据经常出现高峰、低谷等极端的形状,点误差拟合可能会寻找一个中庸的值,而无法还原最真实的时间序列形状。MSE等这种只关注每个点预测值是否准确,而忽略了时间序列整体形状是否匹配的损失函数,天然就会造成这种问题。

今天介绍的在这篇文章就是为了解决这个问题,文中提出了一种新的时间序列预测损失函数,能够更加关注时间序列预测结果的形状和真实序列是否匹配,弥补了MSE等点误差损失函数的缺陷。

  • 论文标题:TILDE-Q: A TRANSFORMATION INVARIANT LOSS FUNCTION FOR TIME-SERIES FORECASTING
  • 下载地址:https://arxiv.org/pdf/2210.15050v1.pdf

1

现有损失函数和问题

最常见的时间序列预测损失函数是MSE、MAE等点误差函数,这类函数关注每个点的拟合是否准确。然而,这种损失函数完全忽略了不同点的关系,在时间序列中忽略了各个点的时序关系,导致了预测结果的形状和真实序列不匹配的问题。

针对MSE等损失函数的问题,业内提出一种针对时间序列预测问题的DTW损失函数。DTW损失函数的核心思路是,利用动态规划方法,对两个序列的点之间进行匹配,找到让两个序列相似度最高的匹配方式。在这种最相似的匹配结果下,两个时间序列的距离就是最终真正的差异,也就可以转换成损失函数。DTW充分考虑了两个序列各个点之间的关系,通过扭曲重整序列进行对齐,计算最短距离,实现形状上的匹配。后续也有很多工作针对DTW在时间序列预测中的应用进行优化。DTW也有其缺点,对齐过程容易受到噪声影响,且对齐过程一定程度上丢失了序列的时间位置信息,一般会影响MSE等评价指标。

2

设计思路

如何描述两个序列形状之间的关系呢?文中定义了6种类型的序列关系,如下图所示,分别是在值域维度和时间维度上。Shifting代表序列A相比序列B在取值上加一个常数,或者在时间轴维度进行一个平移。Uniform Scaling表示在时间轴或值域上进行一个常数k的乘法变换,在时间轴上可以看成对原始序列的拉长或者缩短。Dynamic Scaling指的是每个时刻额变换是由一个动态函数生成的,每个时刻是不确定的。

接下来作者分析了上述6种关系,哪些适合作为评价两个序列形状相似度的指标。如果能利用上述某种关系评价序列形状关系,就可以将其引入到损失函数中,让损失函数考虑预测结果和真实结果的形状关系,而不是像MSE一样只考虑点误差。

对于Amplitude Shifting,如果某个损失函数能满足所有时间点预测结果和真实结果距离为一个常数k,这个损失函数就可以支持Amplitude Shifting:

对于Phase Shifting,两个序列的形状相同,但是在时间轴上发生了平移,那么可以通过将时间序列转换到频域,获取dominant frequency,预测结果和真实结果的dominant frequency相同,就可以认为loss为0:

对于Uniform Amplification,也是类似的道理,预测结果和真实结果的比值都为k,那么两个序列的loss为0:

对于其他3种关系,并不适合用于度量两个序列形状的不变性。为了其他3种关系设计的损失函数会损害模型关注的序列信息。

3

TILDE-Q损失

基于上面的思考,本文提出了TILDE-Q损失函数,包括3个损失函数,分别对应上面3个不变性关系。

第一个损失函数是Amplitude Shifting Invariance with Softmax,目标是让所有时刻的预测结果和真实结果的距离是一个常数k。为了达成这个目标,文中使用了softmax函数。Softmax中传入各个时间点的预测结果和真实结果的距离,只有当所有距离都相同时候,这个函数才会得到最小值。

第二个损失函数是Invariances with Fourier Coefficients。通过对时间序列进行傅里叶变换,获取预测结果和真实结果的主成分,使用范数对比两个序列的主成分差异作为损失函数,主成分差异越小,对应的loss越小,以此引入了平移不变性。

第三个损失函数是Invariances with auto-correlation,计算真实序列的自相关系数,以及预测结果和真实序列的相关系数,比较二者的差异:

最终的TILDE-Q损失函数是上面3种衡量不变性损失函数的加权求和:

4

实验结果

下图给出了一个直观的预测结果图,对比了MSE、DTW和本文提出的TILDE-Q三种损失函数预测结果。MSE损失忽略了形状上的差异,而TILDE-Q预测的序列形状和真实结果更加契合。

文中也在Informer、Nbeats、Autoformer等主流时间序列预测模型上,对比了使用不同损失函数的效果。使用本文提出的损失函数,可以实现MSE这种点误差损失,以及描述形状的DTW等损失同时最小,在不影响传统MSE误差的情况下让模型预测出形状更接近真实序列的结果。

END

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-11-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 圆圆的算法笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档