亚马逊最新时序大模型:将时间序列完全转换成文本
亚马逊发布了新版的时间序列大模型Chronos,用来进行时间序列概率预测的统一框架。这个模型的核心点是通过细致的数据处理,完全将时间序列数据转换成token,再结合NLP中的T5等模型结构,以交叉熵为目标,训练时间序列模型,在多个数据集上取得了SOTA效果。下面给大家详细介绍Chronos的实现原理。
论文标题:Chronos: Learning the Language of Time Series
下载地址:https://arxiv.org/pdf/2403.07815v1.pdf
1.时间序列Tokenize
这一步需要将时间序列转换成离散化的token,方便后续类似于语言模型的建模。主要分为Scaling和Quantization两个步骤。
Scaling:对时间序列值进行缩放,本文使用的方法是用历史窗口的时间序列均值作为分母,标准化整个时间序列,这种做法也是亚马逊的时间序列相关论文中常用的一种处理方法;
Quantization:将scaling后的时间序列数据离散化,做法也很简单,定义一些分桶边界值,落入各个分桶的就被离散化成相应的桶号。
此外,文中还引入了两种特殊符号,<PAD>用来进行时间序列的填充,<EOS>用来加到整个序列末尾,标识时间序列的结束。
2.优化目标
Chronos的优化目标也和传统的时间序列预测模型不同,传统的时间序列模型一般采用MSE这种回归loss进行优化,而Chronos直接使用和语言模型相同的优化目标交叉熵进行优化,将回归问题转换成了分类问题,预测目标也变成了根据前序的token,预测下一个token为各个结果的概率。
最终的预测结果,根据预测的桶号ID,反离散化成对应的值,再进行反scale,得到最终预测结果。
3.数据增强
数据增强是Chronos中的核心一环,用来提升模型效果。主要采用了TSMix和KernelSynth两种数据增强方法。
TSMix:借鉴了CV中的Mixup方法,对多个时间序列按权重做差值,生成新的时间序列;
KernelSynth:使用高斯过程直接生成人造时间序列。
4.实验效果
下图为Chronos和其他SOTA时间序列预测方法的效果对比,从图中可以看出,使用T5作为base,且模型尺寸为Large的模型取得了最优的效果。从图中可以看出,模型的尺寸对于最终效果的影响比较大,越大的Chronos效果越好。
本文转载自 圆圆的算法笔记,作者: Fareise