问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

如何选择时间序列模型?——SimpleTS框架详解

创作时间:
作者:
@小白创作中心

如何选择时间序列模型?——SimpleTS框架详解

引用
1
来源
1.
https://www.bilibili.com/opus/961391539756466196

在时间序列预测领域,随着算法的不断发展,如何从众多模型中选择最适合特定业务需求的模型成为一个挑战。本文介绍了一篇发表在VLDB 2023的论文,该论文提出了一种名为SimpleTS的高效且通用的模型选择框架,通过加权表征学习和智能特征工程手段,解决了这一难题。

论文概述

论文标题:SimpleTS: An Efficient and Universal Model Selection Framework for Time Series Forecasting
论文地址:https://dl.acm.org/doi/abs/10.14778/3611540.3611561

SimpleTS是一种基于加权表征学习的时间序列模型选择框架,主要考虑了以下几个方面:

  1. 更先进的算法训练框架(灵活、可自由配置的Baseline与参数等)
  2. 更智能的特征工程手段(表征学习代替专家经验)
  3. 更高的精度(如加权表征、平滑标签等手段)

该框架设计了一个可以集成多种baseline方法的自动可配置模型训练系统,并在模型选择任务中采用了平滑标签、加权表征学习等技术手段,有效提高了下游子任务的精度。

整体框架

SimpleTS的整体框架主要分为两个部分:离线训练部分和在线预测部分。

离线训练

  1. 对数据进行预处理(缺失值补充、冗余清洗等)后,均衡采样10%-20%的数据用于模型的线下训练,预先构建时序表征学习TS2Vec模型和深度学习模型;
  2. 基于表征学习抽取的时序数据特征,遍历执行时序任务(如预测、异常检测)baseline方法,并对采样数据集进行评估&最优方法打标,保存标注结果到数据库中;
  3. 对标注的数据提取每个baseline方法执行结果的量化指标:包括一系列衡量baseline方法的有效性和精度的特征,如y_pred与y_true偏差均值,偏差最大值,偏差方差等,通过这些指标对baseline方法进行聚类,将方法按照有效性和精度分成K类,并在配置文件中记录每一类里面表现最好的模型;
  4. 使用基于shapelet的加权表征学习对最初的时序数据进行embedding,然后根据最终聚类后的的最优方法选择结果,将数据进行分类,由此训练一个分类器。

在线推理

在线上执行时序任务(Online Forecasting)的时候,首先通过表征学习训练的TS2Vec模型对数据进行向量化,然后加载离线训练好的分类器,预测得到最优方法聚类(簇),最后加载配置文件查找对应类中表现最好的模型,执行下游子时序任务。

关键技术点

加权表征学习

设i为输入时间序列样本X的实例索引,t为时间戳;而设和表示同一时间戳t,但来自的两个增强的上下文。第i时间序列在时间戳t的时间对比损失函数可以表述为:

其中,Ω是两个子系列重叠部分的时间戳集合,是指示器函数。那么此时实例级对比损失函数可以计算为:

其中,B表示Batch大小。它使用时间戳t的其他时间序列的表示作为负样本。那么其实,这两个损失函数是互补的。例如,假设有一组来自多个用户的电力消耗数据,实例级对比损失函数用于学习各个用户的特定特征,而时间对比损失函数旨在挖掘随时间变化的动态趋势。因此,定义的整体损失为:

其中NT表示迭代次数,直到序列长度小于或等于0。TS2Vec在时间轴上对学习到的表示进行最大池化操作,并递归地计算损失函数,在层次对比模型中,损失函数应用于所有粒度级别的数据。TS2Vec在三个与时间序列相关的任务上展示了其通用性和有效性,这包括时间序列分类、预测和异常检测。

平滑标签和聚类

随着针对时间序列数据的预测方法数量不断增加,许多方法在相同类型的时间序列上表现出相似性能,这会降低分类器的表现。为了避免这一问题,研究者引入了平滑标签技术,结合了标签分布的信息,并用加权向量替代传统的One-Hot编码标签向量,从而进一步提升了分类质量。标签的平滑分布等同于对真实分布添加噪声,阻止模型对正确标签过于自信,使得预测正负样本输出值之间的差距减小。研究表明,软标签能够促使训练集中同一类别的实例表示聚集成紧密的簇,从而避免过拟合,使模型更加稳健。

研究者还提出了一种新的加权平滑标签方案作为分类器增强组件,并重新设计了损失函数,该损失函数考虑了标签的相关性。定义的损失函数为:

其中K表示标签的数量,等于(所有标签precision的调和平均值)/precision,其中i表示采用独热编码表示的标签索引,而“target”表示目标分类类型的编码。

另外,聚类是一种有效的方法,能够进一步提升分类的准确性。这是因为同类的时间序列数据在不同的模型中表现出相似的行为。例如,在处理周期性时间序列数据时,Transformer和DeepAR模型往往得出较差的结果,而Prophet和Holt-Winters模型则展现出更为优越的表现。

实验效果

测试方案中挑选了目前业界基于统计与深度学习的不同种类的预测方法与框架,包括DeepAR, ETS,Hot-Winters,Linear,LSTM,ARIMA,NPTS,Period,Prophet,Transformer,DeepState,DeepFactor,GPForecaster,NBeats,Global Best,AutoForecast和AutoAI-TS。数据集选择:选择了阿里云数据库内部、外部公开数据集UCR等50多个综合时间序列数据集。测试指标:主要针对算法方案的执行效率&性能、精度等维度进行验证,因此提出以下五个测试指标:

内部实验结果

上表是基于数据库内部数据集,针对如CPU、磁盘使用率等核心KPIs指标,基于14个时间序列预测模型+3个模型选择框架在上述5个测试指标上的实验结果。

外部实验结果

下图是在50个公开数据集UCR上使用14个时间序列预测模型和3个模型选择框架在预测准确度上的排名对比热力图,可以看出SimpleTS总体获得的预测准确率排行也是最优的。

该论文提出了一种高效且通用的时序预测模型选择框架,SimpleTS,其采用聚类和自开发的软标签,使得预测精度几乎不受候选预测模型数量的影响。此外,该论文的研究者还提出了一种加权表示学习策略,以进一步提高分类器的准确性。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号