首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >TimesCLIP | CLIP助力时间序列预测,大道至简,提升明显

TimesCLIP | CLIP助力时间序列预测,大道至简,提升明显

作者头像
时空探索之旅
发布2025-10-11 13:35:09
发布2025-10-11 13:35:09
5590
举报
文章被收录于专栏:时空探索之旅时空探索之旅

论文标题:Teaching Time Series to See and Speak: Forecasting with Aligned Visual and Textual Perspectives

作者:Sixun Dong(董思勋),Wei Fan(范玮),Teresa Wu,Yanjie Fu(傅衍杰)

关键词:多模态对比学习,时间序列预测,CLIP,

机构:亚利桑那州立大学 (Arizona State University),牛津大学(Oxford)

论文链接https://arxiv.org/abs/2506.24124

代码: • Githubhttps://github.com/Ironieser/TimesCLIP 项目主页https://project.ironieser.cc/timesclip

点击文末阅读原文跳转本文arXiv链接

Overview

现有的通用时间序列预测的工作尽管取得了优异性能,然而而这些方法大多依赖于单一模态输入,即时序数据的数值,忽略了人感知时序数据是通过视觉模式,如基于波形图(折线图),例如股票投资。本文将分享我们对于时序预测的另一个视角:如何让模型折线图的角度理解时序数据和预测时序数据?。据作者所知,该工作是第一个把图文多模态对比学习的思想用在时序数据预测,方法及其简单,但是极其有效。

TL;DRCLIP is ALL you NEED,把精心搜参得到的Transformer Layer换成CLIP-Text,将直接在16个短期时序预测数据集上SoTA,再使用我们提出的多模态框架(Follow CLIP,CoCa[1]),性能再得到进一步的提升,我们推测是因为CLIP-Text align多模态空间,可以很好的捕捉了时序数据中的数值PatternVisual Pattern

1. 核心动机

现有的基于Transformer的时间序列预测模型有两个显著的缺点:

(1)精心搜参导致模型无法Scale Up:有很多的Transformer-based model 通过大量的搜索模型的参数,得到了不错的性能,但这样的模型完全无法Scale Up 模型参数量,这也完全破坏了Transformer的灵魂特性,无需改动模型,直接follow之前的模型结构就可遵循Scaling Law, 实现轻易scale up,如ViT-S,ViT-B,ViT-L。

(2)单一模态:现有的时序预测完全依赖于数值输入,实际上,专业人士(如炒股, 脑电图,心电图等)是依靠走势(visual pattern)来预测未来的变化。

对此,我们对应提出了两个解决方案:

1)找一个合适的Pretrain model作为Backbone,然后完全不动模型结构 => CLIP is ALL you NEED

2)探索如何将视觉先验应用在时序预测 => Mutlimodal Contrastive Learning is ALL you NEED

Figure 1-时间序列中的视觉模式
Figure 1-时间序列中的视觉模式

Figure 1-基于多模态对比学习的时序预测

Figure 2 — 专业人士依赖的视觉模式预测
Figure 2 — 专业人士依赖的视觉模式预测

Figure 2 — 之前的方法多依靠单一模态

2. 提出的模型 TimesCLIP

正如前文的motivation,我们尝试使用不同的模型(CLIP,BERT,GPT-2, T5) 作为backbone,同样尝试将多模态对比学习的框架应用到时间序列预测。

实验结果极其惊人

1) 仅仅把CLIP-Text 作为backbone,替换iTranformer或者PatchTST的Encoder,即各种魔改的transformer layer,就可以实现更好的性能。

2) 此外,我们也参考CoCa的框架(2022年的工作,好像仍是ImageNet的SoTA),将应用于图文对比学习的框架应用到时序预测,效果也极其显著。

不过仍然后两个缺点需要解决:

• 多变量预测:对于变量之间有依赖关系的;单变量预测:对于变量内的依赖极强的。然而iTransformer 只关注到了变量间,而PatchTST又仅关注了变量内

如何更好的把time series 转成图片? 数值的折线图(波形图)? 频谱图?

Figure 3 — TimesCLIP框架
Figure 3 — TimesCLIP框架

Figure 3 — TimesCLIP框架

对此,我们提出了两个方案:

1) 对于变量内和变量间: 我们认为变量内比变量间重要,因此主干网络为PatchTST-style,而变量间关系也需要,因此设计了变量选择模块(Variate Selection),引入了可以学到变量特征的[CLS]token(类别标签),通过视觉和语言的对比学习进行约束,进而从变量间找到相关变量,来作为补充的变量间信息(协变量),指导最终预测。

2)经验很容易得知,现有的视觉模型训练数据来自互联网,是显然无法处理频谱图的,而折线图则有大量的训练数据,(如英语考试看图写作文),并且GPT这样的LLM显然能看懂折线图,因此我们直接把数值转为折线图。更进一步,由于不同变量之间的数值差异比较大,我们设计了三个策略来提升折线图的可视化效果

  • 使用了Max-Min Normlize来调整分别调整每一个变量,让其具有合理的数值范围,并通过在windows内的局部Normlize以缓解异常值的影响。
  • 每一个变量单独的可视化在一个224 x 224的图片中,以保留充足的时序数据的细节变化。存储时多个小图拼成一张大图以节省IO时间和存储空间。
  • 更重要,我们通过对于每一个变量使用不同的颜色绘制,保证了即使不同变量可能在某个时间段具有类似的Shape,视觉编码器也能通过颜色区分这些是来自不同的变量。
Figure 4 — 时序数据可视化
Figure 4 — 时序数据可视化

Figure 4 — 时序数据可视化

3. 重要的实验结论

3.1 短期时序预测 (short-term forecasting)

实验结果表明:完全不需要改动任何模型结构和训练参数,就可以广泛的适用于22个数据集,尤其是对于短期时序预测的性能及其Rubust(评估了16个short term forecasting的数据集),另外我们的方法也比Time-VLM[3]有显著更好的性能(ICML 2025),实验结果进一步表明,单独的CLIP-Text就已经比Time-VLM在M4上的具有更好的性能。

Figure5 - 短期预测实验结果
Figure5 - 短期预测实验结果

Figure5 - 短期预测实验结果

Figure6 - 超参数设置
Figure6 - 超参数设置

Figure6 - 超参数设置

3.2 长期时序预测 (long-term forecasting)

TimesCLIP在6个数据集 (Exchange,Traffic,Weather,ETTm1,ETTm2,Solar Energy),取得了不错的性能

Figure 7 - 长期预测实验结果
Figure 7 - 长期预测实验结果

Figure 7 - 长期预测实验结果

:我们有意移除了所有的96 -> 336,720 的实验结果,尽管我们在这样的setting上性能优势更明显。Follow Dr. Christoph Bergmeir在 talk "Fundamental limitations of foundational forecasting models: The need for multimodality and rigorous evaluation"[2] 中的观点,我们认为这样的实验设置没有任何意义

例如:用16小时的数据预测未来5天的天气,用过去4天的交通预测未来30天,完全没有任何意义,并且方差均值都要大于0.5了,这可是归一化后的预测, 这样的结果也显然不具有对实际场景的指导意义。

作者吐槽:对于这个long-term forecasting任务的槽点很多,竟有工作在96预测2160。

3.3 消融试验

我们做了大量的实验,通过充分的排列组合来验证 1) 给变量不同的颜色 2) 变量选择模块(获取变量间的关系) 3) 多模态对比学习。另外也通过排列组合的验证不同的Vision Backbone和Language Backbone对于性能的影响,其中有意思的结果是ViT是比CLIP-ViT会有更好的效果,我们推测是目前domain差异大,视觉模型只是用来提取Pattern了,是否Pre-aligned with language model可能不那么重要,不过CLIP-Text作为预训练的骨干网络真的好用!我们推测可能其Feature Space是对齐到多模态空间的,同时具有了language 的特性和vision的特性。 另外实验也表明纯Vision在目前的setting上不work,这应该也是经验上很容易知道的。不过令人诧异的是,GPT-2也效果不好,或许一定程度align 了"Are Language Models Actually Useful for Time Series Forecasting? " 这个paper的观点。简单的LM可能对于时序预测不太有效, 然而T5又表现尚可,难道是因为参数量? (作者注:T5是时序序列预测基础模型Chronus[4]所采用的骨干网络)这个工作只是想探索多模态,对这样的深入分析就留在未来了。

Figure 8 - 消融实验
Figure 8 - 消融实验

Figure 8 - 消融实验

Figure 9 - 不同backbone性能对比
Figure 9 - 不同backbone性能对比

Figure 9 - 不同backbone性能对比

4. 方法局限性和未来工作

4.1 方法局限性

当然不能忘了告诉大家目前的局限性,大概分为三点

用在classifcation 效果不好,过拟合很严重,或许是由于TimesNet的分类数据集数据量实在太小了(某些数据集120条..)

和魔改的x-former比,训练速度显然慢很多,可以尝试一下lora, adapter 之类的Parameter Efficient Fine-Tuning(PEFT)方法.

目前没考虑如何处理多变量和长输入,可能会导致OOM,后续可以探索一下如何设计更好的tokenizer,但是我们完全不建议任何改动模型的行为...如果要用Transformer,请fix模型的结构...

4.2 未来工作

和VLM结合,像LLava的Vision Tower本身就是基于CLIP的,将本工作的框架与VLM集成那就很自然了, 还可以尝试Time Series to Text, 不过获取相关数据集可能是该问题的关键.

异常检测:Time Series的视觉Pattern做异常检测实在太合适了

| 5. 写在最后

希望这个工作给大家能带来一些insight,包括

多模态对于time series真的很有用

CLIP-Text 真的很有用

• 慎重考虑 TimesNet, iTransformer下的 Long-term forecasting的意义...

最后,欢迎任何提问,欢迎任何讨论,欢迎任何对该工作的批评意见!

Paper Link: Teaching Time Series to See and Speak: Forecasting with Aligned Visual and Textual Perspectives https://arxiv.org/pdf/2506.24124

Githubhttps://github.com/Ironieser/TimesCLIP 项目主页https://project.ironieser.cc/timesclip

如果你觉得这个工作有所帮助,欢迎引用

6. References

[1] CoCa: Contrastive Captioners are Image-Text Foundation Models

[2] Fundamental limitations of foundational forecasting models: The need for multimodality and rigorous evaluation

[3] Time-VLM: Exploring Multimodal Vision-Language Models for Augmented Time Series Forecasting

[4] Chronus: Understanding and Securing the Cutting-Edge Industry Solutions to DRAM Read Disturbance

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

本文分享自 时空探索之旅 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Overview
  • 1. 核心动机
  • 2. 提出的模型 TimesCLIP
  • 3. 重要的实验结论
    • 3.1 短期时序预测 (short-term forecasting)
    • 3.2 长期时序预测 (long-term forecasting)
    • 3.3 消融试验
  • 4. 方法局限性和未来工作
    • 4.1 方法局限性
    • 4.2 未来工作
  • | 5. 写在最后
  • 6. References
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档