前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何选择时间序列模型?

如何选择时间序列模型?

作者头像
算法进阶
发布2024-07-10 19:14:25
950
发布2024-07-10 19:14:25
举报
文章被收录于专栏:算法进阶

前言

我们时常会面临这样的困境:时序算法发展已久,随着时序预测&检测算法模型越来越丰富,当新时序预测需求来临时,我应该如何从十几种模型中选择最适合该业务的模型?

本文介绍一篇 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 下游子任务的精度。

整体框架主要分为两个部分:离线训练部分和在线预测部分。框架结构如下图所示:

整体的模型选择任务执行流程如下:

01、离线训练

1. 对数据进行预处理(缺失值补充、冗余清洗等)后,均衡采样10%-20%的数据用于模型的线下训练,预先构建时序表征学习 TS2Vec 模型和深度学习模型;

2. 基于表征学习抽取的时序数据特征,遍历执行时序任务(如预测、异常检测)baseline 方法,并对采样数据集进行评估&最优方法打标,保存标注结果到数据库中;

3. 对标注的数据提取每个 baseline 方法执行结果的量化指标:包括一系列衡量 baseline 方法的有效性和精度的特征,如 y_pred 与 y_true 偏差均值,偏差最大值,偏差方差等,通过这些指标对 baseline 方法进行聚类,将方法按照有效性和精度分成K类,并在配置文件中记录每一类里面表现最好的模型;

4. 使用基于 shapelet 的加权表征学习对最初的时序数据进行 embedding,然后根据最终聚类后的的最优方法选择结果,将数据进行分类,由此训练一个分类器。

02、在线推理

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

关键技术点

在这个框架中主要涉及到比较关键的技术点有以下2点:

01、加权表征学习

设i为输入时间序列样本 X 的实例索引,t 为时间戳;而设

表示同一时间戳 t,但来自

的两个增强的上下文。第i时间序列在时间戳 t 的时间对比损失函数可以表述为:

其中,Ω 是两个子系列重叠部分的时间戳集合,

是指示器函数。

那么此时实例级对比损失函数可以计算为:

其中,B 表示 Batch 大小。它使用时间戳t的其他时间序列的表示作为负样本。

那么其实,这两个损失函数是互补的。例如,假设有一组来自多个用户的电力消耗数据,实例级对比损失函数用于学习各个用户的特定特征,而时间对比损失函数旨在挖掘随时间变化的动态趋势。因此,定义的整体损失为:

其中 NT 表示迭代次数,直到序列长度小于或等于0。

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

02、平滑标签和聚类

随着针对时间序列数据的预测方法数量不断增加,许多方法在相同类型的时间序列上表现出相似性能,这会降低分类器的表现。

为了避免这一问题,研究者引入了平滑标签技术,结合了标签分布的信息,并用加权向量替代传统的 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,其采用聚类和自开发的软标签,使得预测精度几乎不受候选预测模型数量的影响。此外,该论文的研究者还提出了一种加权表示学习策略,以进一步提高分类器的准确性。

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

本文分享自 算法进阶 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 内部实验结果
  • 外部实验结果
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档