VisionTS:基于时间序列的图形构建高性能时间序列预测模型,利用图像信息进行时间序列预测

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 构建预训练时间序列模型的主要挑战在于获取高质量、多样化的时间序列数据。目前有两种方法:迁移学习LLM(如GPT-4或Llama)和从零训练。尽管迁移学习可行,但效果有限;从零训练则依赖大量数据,如MOIRAI、TimesFM和TTM等模型所示。为解决这一难题,研究人员提出利用图像数据进行时间序列预测。

构建预训练时间序列模型时面临的主要挑战是什么?获取高质量、多样化的时间序列数据。目前构建基础预测模型主要有两种方法:

  1. 迁移学习LLM:通过针对时间序列任务定制的微调或分词策略,重新利用预训练的大型语言模型(LLM),如GPT-4Llama
  2. 从零训练:构建大规模时间序列数据集,并从头开始预训练模型,以期望其能泛化到新数据。

尽管第一种方法可行(因为Transformer是通用计算引擎)但其效果并不理想。第二种方法已经取得了更显著的成功,如MOIRAI、TimesFM、TTM等模型所示。

然而这些模型似乎遵循扩展定律,其性能很大程度上依赖于大量时间序列数据的可用性——这又将我们带回到最初的挑战。

那么如果我们能够利用不同的数据模态,比如图像呢?这种思路可能看似反直觉,但一些研究人员探索了这个假设并取得了突破性的结果。本文将讨论以下几个方面:

  • 图像如何在内部编码序列信息?
  • 利用预训练计算机视觉模型进行时间序列分析的概念
  • VisionTS:一种适用于时间序列数据的预训练Vision Transformer模型。

为什么选择图像?

图像本质上是像素的2D序列。因此图像可以被视为一个数值像素矩阵——展现了真实世界时间序列的典型特征,如趋势、季节性和平稳性。(参见图1

图1:*来自ImageNet数据集的图像示例,展示了时间序列的典型特征*

如前所述,预训练文本模型(迁移学习LLM)已被应用于时间序列任务,但效果有限。

那么,图像模态具有哪些优势?

  • 连续性:时间序列和图像都是连续的数据形式,而文本是离散的。
  • 相似的数据来源:时间序列和图像都直接捕捉环境观测,而文本是认知加工的产物。
  • 可比的信息密度:文本通常意义密集,而图像和时间序列数据作为自然信号具有更多的冗余信息。
  • 序列信息编码:与文本不同,图像本身就包含了时间序列的多种特征(参见图1)。

基于这些原因,图像似乎是一个具有潜力的数据模态。正如Yann LeCun在Lex Fridman的播客中所指出的,仅依靠文本是不足以构建强大的通用人工智能(AGI)的。图像作为更丰富、高维度的数据形式,可能提供对世界更深入的理解。

此外,图像数据的丰富程度远超其他模态——例如,考虑自动驾驶汽车中的激光雷达(LIDAR)每秒捕获和处理的大量数据。

所以关键问题就变成了如何创建一个利用图像进行预测的基础时间序列模型?

论文提出了一个方法是重新利用预训练的计算机视觉模型,将图像重构任务转化为时间序列预测任务——这正是VisionTS所实现的。

掩码自编码视觉Transformer

在介绍VisionTS之前,我们需要先解释其核心机制:视觉掩码自编码器MAE)。

简而言之,MAE的任务是重构一个被部分遮蔽的分块图像(图2):

图2:*MAE的图像重构任务示意图*

MAE的工作原理如下:

  • 将输入图像分割成块,随机遮蔽约75%的块。
  • 仅将可见的块输入编码器——通常是一个Vision TransformerViT)。
  • 编码后的tokens与遮蔽tokens一起输入解码器。
  • 模型通过优化来重构原始图像。
  • 预训练完成后,解码器被移除。

这个过程创建了一个基础视觉模型,能够执行各种下游图像识别任务。

VisionTS利用预训练的MAE作为其核心模型。接下来,我们将详细说明如何将这个模型适配用于时间序列预测任务。

VisionTS模型概述

VisionTS是一种创新的预训练掩码视觉Transformer模型,它巧妙地将图像重构任务转化为时间序列预测。

由于MAE原本是设计用于处理图像的,我们需要将时间序列数据转换为分块图像作为输入。在模型推理后,输出再被转换回时间序列形式,从而生成预测结果。这个过程如图3所示:

图3:*使用MAE将时间序列转换为图像并生成预测的详细流程*

让我们详细分析这个过程:

  1. 首先为时间序列选择一个回溯窗口(L),然后根据其周期性(P)将序列分割成块。这产生了[L/P]个块,它们被堆叠形成一个P × [L/P]大小的2D矩阵。本质上,这个矩阵可以被视为一个灰度图像。
  2. 图像形成后,进行归一化处理。这里存在一个技术挑战:MAE模型是在固定大小为224 × 224像素的ImageNet图像上预训练的,而我们生成的矩阵大小是P × [L/P]。
  3. 为了解决这个尺寸不匹配的问题,采用双线性插值将矩阵调整为(N S, n S),其中N是水平块的数量,n代表可见块的数量。n的值由上下文长度(L)与预测长度(H)的比率决定。调整后的图像由(N × n)个可见块和N × (N-n)个遮蔽块组成。例如在图3中,图像包含7×6个可见块和7×1个遮蔽块。
  4. 这些遮蔽块随后被输入到MAE模型中进行解码和重构。
  5. 一旦解码完成,整个过程被反向执行。解码后的块经过双线性插值、反归一化和扁平化处理,将图像转换回一维序列,作为最终的预测输出。

总的来说,在ImageNet上预训练MAE是相对直接的过程。VisionTS的创新之处在于它巧妙地利用MAE进行时间序列预测。

性能评估

作者对VisionTS进行了全面的性能评估。他们将VisionTS与其他基础模型、深度学习模型、机器学习模型以及统计模型进行了比较。评估包括测试VisionTS作为零样本预测器(预测未见数据)的能力,以及探索少样本微调(如何通过在小规模数据上训练来提高性能)的效果。

Monash基准测试

首先使用Monash数据集对VisionTS与其他模型进行了比较。

图4展示了来自29个Monash数据集(在其测试集上)的聚合结果。研究者计算了归一化MAE(。值得注意的是在这个测试中,只有llmtime和VisionTS是作为零样本预测器进行评估的,其他模型都经过了完整的训练。

MOIRAI(另一个预训练模型)在这里没有被归类为零样本预测器,因为它是在除了2个Monash数据集之外的所有数据集上进行了训练。

图4:*VisionTS与其他主流时间序列模型的性能比较。只有VisionTS和LLMtime是零样本预测器*

关键发现:

  • VisionTS在所有模型中排名第二,这充分证明了利用计算机视觉模型进行时间序列分析的潜力。
  • MOIRAI-small模型表现最佳,尽管从技术上讲,它经过了微调。
  • 研究者仅使用了MOIRAI-small版本——如果能包括更大版本的MOIRAI模型进行比较,可能会得到更全面的结果。
  • 无论如何,这些结果都显示了预训练时间序列模型的巨大潜力。

长期预测基准测试

接下来,研究者使用Informer基准测试评估了VisionTS在长期预测任务中的性能。

在这个测试中,VisionTS(作为零样本预测器)与其他深度学习/机器学习模型(这些模型在目标数据集的10%上进行了微调)进行了比较。性能指标包括MAE和MSE(见表1):

表1: VisionTS与ML/DL模型在长期预测任务中的性能比较

重要发现:

  1. VisionTS在总体评分中表现最佳,赢得了最多的胜利。
  2. 预训练模型(无论是在图像还是时间序列上预训练)通常表现优于其他模型。
  3. 这里使用的Monash数据集(Weather和Electricity)并不包含在MOIRAI的预训练数据中,这使得MOIRAI在这种情况下也可以被视为零样本预测器。
  4. Informer、Autoformer和DLinear并非基础模型。如果对这些模型进行完整训练,可能会提高基准测试的竞争性。研究者在后续实验中提供了这些模型完整训练后的结果(见表2)。

研究者还对VisionTS进行了微调后的测试。实验设置保持不变,但所有模型都在目标数据集上进行了完整训练。VisionTS仅进行了轻微的微调(平均1个epoch,只更新层归一化参数)。

结果如表2所示:

表2:*VisionTS与其他模型在完整训练(full-shot)条件下的预测结果,包括每个预测时间范围的MAE和MSE*

从这两个表中得出的关键结论:

  1. VisionTS再次在总体排名中位居第一,获得最多胜利。
  2. 微调显著提升了VisionTS的性能,除了在ETTh1和ETTh2数据集上的改善较小,可能是由于这些数据集的频率较低。
  3. 零样本VisionTS虽然不能超越所有在每个数据集上单独训练的模型,但通过最小程度的微调就能带来显著的性能提升。

作者还分析了上下文长度如何影响模型性能(见图5)。结果表明,随着上下文长度的增加,模型性能普遍得到改善,尤其是在高频数据集中。这一发现与其他预训练模型(如MOIRAI)的结果一致。一般来说,超过1000的上下文长度通常能带来性能提升:

图5:*不同数据集的最优上下文长度分析。高频数据集(如10分钟间隔的Weather和15分钟间隔的ETTm1)从更长的上下文长度中获益更多*

模型参数规模的影响分析

研究者对模型参数规模如何影响性能进行了深入分析。

一般而言,较大的Transformer模型往往能从规模扩展中获益,这一点在早期的研究中已有广泛讨论。对于VisionTS,研究者对不同规模的MAE模型进行了性能基准测试:

表3: *不同规模MAE模型在零样本预测任务中的性能基准

研究者测试了以下三种模型规模:

  • Base:122M参数
  • Large:330M参数
  • Huge:657M参数

有趣的是,Base模型在测试中表现最佳。这可能是因为较大的模型在图像特定特征上出现了过拟合,从而降低了它们在时间序列任务上的迁移能力。值得注意的是MAE是在Imagenet-1k数据集上预训练的,按当前标准来看,这是一个相对较小的数据集。

与传统统计模型的比较

许多现代时间序列模型在评估中往往忽略了与传统统计模型的比较,认为这些传统模型已不具有竞争力。

其实统计基线模型仍然具有重要价值,在某些情况下甚至可能优于更复杂的模型。因此研究者在评估中纳入了几个代表性的统计模型进行比较(见表4):

表4VisionTS与传统统计模型的性能比较。VisionTS的结果基于零样本预测

结果显示,VisionTS在性能上明显优于这些传统统计模型。尽管论文中没有详细说明这些统计模型的具体配置,但如果能包括一些更具竞争力的现代统计方法,如Nixtla库中的AutoARIMA、AutoETS、AutoCES和DynamicOptimizedTheta,或者统计集成方法,比较结果可能会更具说服力和全面性。

尽管如此,VisionTS在零样本预测任务中展现出的性能仍然令人印象深刻。

总结

VisionTS作为一种创新的时间序列基础模型,在预测任务中展现出了卓越的性能。

该模型仍有进一步改进的空间。比如VisionTS仅限于处理单变量时间序列,其可扩展性——即模型如何随着数据规模、训练时间和参数数量的增加而表现——尚未得到充分探索。研究者已经认识到这些局限性,并将其列为未来研究的重点方向。

尽管存在这些限制,VisionTS仍然有力地证明了图像数据可以成为时间序列预测的有效信息来源,在某些方面可能even superior to文本为that我们能够构建更高效、 better performance 的时间序列预测模型。

基于当前的研究成果,我们可以清晰地看到几个有 promising的未来研究方向:

  1. 在更大规模、更多样化的图像数据集上预训练MAE模型
  2. 在时间序列数据上进一步预训练或微调MAE模型
  3. 探索除Vision Transformer之外的其他网络架构

我们将持续关注这一创新时间序列建模方法的发展,期待看到更多突破性的研究成果。

参考文献:https://arxiv.org/pdf/2408.17253
VisionTS:基于时间序列的图形构建高性能时间序列预测模型,利用图像信息进行时间序列预测

目录
相关文章
|
7月前
|
数据建模 计算机视觉
SiMBA:基于Mamba的跨图像和多元时间序列的预测模型
微软研究者提出了SiMBA,一种融合Mamba与EinFFT的新架构,用于高效处理图像和时间序列。SiMBA解决了Mamba在大型网络中的不稳定性,结合了卷积、Transformer、频谱方法和状态空间模型的优点。在ImageNet 1K上表现优越,达到84.0%的Top-1准确率,并在多变量长期预测中超越SOTA,降低了MSE和MAE。代码开源,适用于复杂任务的高性能建模。[[论文链接]](https//avoid.overfit.cn/post/c21aa5ca480b47198ee3daefdc7254bb)
1146 3
|
7月前
|
vr&ar
时间序列分析实战(十):ARIMAX时序的协整动态模型
时间序列分析实战(十):ARIMAX时序的协整动态模型
【R语言实战】——带有新息为标准学生t分布的金融时序的GARCH模型拟合预测
【R语言实战】——带有新息为标准学生t分布的金融时序的GARCH模型拟合预测
|
4月前
|
机器学习/深度学习 人工智能 运维
将VAE用于时间序列:生成时间序列的合成数据
变分自编码器(VAEs)是一种生成式人工智能,因其能够创建逼真的图像而备受关注,它们不仅可以应用在图像上,也可以创建时间序列数据。标准VAE可以被改编以捕捉时间序列数据的周期性和顺序模式,然后用于生成合成数据。本文将使用**一维卷积层**、**策略性的步幅选择**、**灵活的时间维度**和**季节性依赖的先验**来模拟温度数据。
65 2
将VAE用于时间序列:生成时间序列的合成数据
|
4月前
|
数据采集 存储 数据可视化
R语言时间序列分析:处理与建模时间序列数据的深度探索
【8月更文挑战第31天】R语言作为一款功能强大的数据分析工具,为处理时间序列数据提供了丰富的函数和包。从数据读取、预处理、建模到可视化,R语言都提供了灵活且强大的解决方案。然而,时间序列数据的处理和分析是一个复杂的过程,需要结合具体的应用场景和需求来选择合适的方法和模型。希望本文能为读者在R语言中进行时间序列分析提供一些有益的参考和启示。
|
机器学习/深度学习 运维 计算机视觉
TimesNet:时间序列预测的最新模型
2023年4月发表了一个新的模型,它在时间序列分析的多个任务中实现了最先进的结果,如预测、imputation、分类和异常检测:TimesNet。
827 0
|
7月前
R语言多元时间序列滚动预测:ARIMA、回归、ARIMAX模型分析
R语言多元时间序列滚动预测:ARIMA、回归、ARIMAX模型分析
|
7月前
|
数据可视化 数据处理 索引
Python用GARCH对ADBL股票价格时间序列趋势滚动预测、损失、可视化分析
Python用GARCH对ADBL股票价格时间序列趋势滚动预测、损失、可视化分析
|
7月前
R语言混合时间模型预测对时间序列进行点估计
R语言混合时间模型预测对时间序列进行点估计
|
7月前
|
数据可视化
ARIMA模型、随机游走模型RW模拟和预测时间序列趋势可视化
ARIMA模型、随机游走模型RW模拟和预测时间序列趋势可视化
下一篇
DataWorks