type
status
date
slug
summary
tags
category
icon
password
论文评分:6星,整体文章还是比较通顺,比较有启发性。
评分理由:大多数将LLM和TimeSeries结合起来的工作,其实是将高度重复的信息分别输入LLM 和 TimeSeries Model,然后再魔改Fusion,进行预测输出,总感觉同样的信息被利用了两次(点名TimeCMA,GPT4TS等工作)。很难证实引入LLM真正帮助了什么。这篇文章尝试建立数据集,让LLM对一些TimeSeries的context信息进行问答。可惜工作的广度和深度不够,可解释性的讨论也不够。
基本信息
作者及机构
- Chengsen Wang、Qi Qi、Jingyu Wang 等人
- 北京邮电大学、鹏城实验室、中国联通网络通信有限公司
项目地址

研究背景
时间序列数据在金融、交通、能源、医疗和气候等领域中非常常见,准确预测时间序列对于这些领域的决策支持至关重要。传统的时间序列预测方法主要依赖单一模态的数值数据,缺乏对不同场景的适应性,并且无法处理文本信息。近年来,预训练大语言模型(LLM)的发展为时间序列分析带来了新的机遇,但现有方法要么训练效率低下,要么无法处理文本信息,要么缺乏零样本预测能力。
研究动机
- 人类专家在分析时间序列时,通常会结合数值和文本信息(例如经济学家结合历史金融数据和政策报告预测市场趋势)。
- 现有的深度学习方法大多基于固定长度的窗口进行训练和预测,缺乏对不同场景的适应性。
- 预训练大语言模型(LLM)在自然语言处理领域取得了巨大成功,但将其应用于时间序列分析时,面临训练成本高、无法处理文本信息或缺乏零样本学习能力等问题。
贡献
论文提出了 ChatTime,一个创新的多模态时间序列基础模型,主要贡献包括:
- 模型框架:将时间序列建模为一种“外语”【这里只是一个强行的概念引入,没有什么针对“外语”做什么别的新东西,只是扩充了词表】,通过归一化、离散化和添加标记字符,将连续的时间序列转换为离散值,并将其嵌入到预训练语言模型的词汇表中。
- 零样本预测能力:通过持续预训练和指令微调,ChatTime能够进行零样本预测,支持时间序列和文本的双模态输入和输出。
- 实验验证:设计了一系列实验,包括零样本时间序列预测、上下文引导的时间序列预测和时间序列问答任务,并创建了四个多模态数据集(只共享了三个)来填补数据空白。

方法
1. 模型架构
ChatTime的核心思想是将时间序列视为一种“外语”,通过以下步骤实现:
- 归一化和离散化:将时间序列的连续值通过最小-最大归一化映射到[-1, 1]区间,然后通过分箱技术将其量化为离散值。
- 词汇扩展:在预训练语言模型的词汇表中添加“外语单词”,每个离散值对应一个单词。
- 时间序列数据的离散化:ChatTime将时间序列数据通过归一化和分箱技术转换为离散值。具体来说,它将-1到1的区间均匀划分为10,000个分箱,每个分箱的中心值被用作量化后的离散值。
- 词表扩充:为了将时间序列数据嵌入到预训练语言模型中,ChatTime扩展了词表,将上述离散值对应的“外语单词”加入到词表中。此外,还额外添加了一个
###Nan###标记用于处理缺失值。
- 编码和解码:通过扩展的分词器将时间序列和文本转换为标记索引,经过LLM处理后,再通过解码器将标记索引转换回时间序列和文本。
训练部分
持续预训练
- 使用1M高质量时间序列切片对LLaMA-2-7B-Base进行预训练,生成ChatTime-1-7B-Base。
- 预训练任务是自回归预测,通过滑动窗口技术生成不同长度的历史和预测窗口数据。
- 使用K-means聚类从10M原始时间序列切片中选择高质量样本,以减少计算资源消耗。
As the vocabulary of the tokenizer is expanded, the embedding layer and output header
also require training alongside the Transformer layer.

- 数据来源和排除规则
- 来源: 连续预训练的数据来自两个大规模开源时间序列存储库:
- Monash(由Godahewa等人于2021年提出):包含多个领域的时间序列数据集(如金融、能源等)。
- TFB(由Qiu等人于2024年提出):专注于时间序列预测的综合基准数据集。
两者合计包含约 100个子数据集,覆盖丰富的时间序列场景。
- 排除规则:
为避免训练数据与测试数据重叠导致 信息泄漏(即模型在训练阶段提前接触到测试数据),作者特别排除了用于评估 ZSTSF(零样本时间序列预测)和 CGTSF(上下文引导时间序列预测)任务的 11个子数据集(见论文4.2和4.3节)。
2. 自回归预测策略与窗口切片
- 自回归 forecasting 策略: ChatTime采用自回归机制(即基于历史序列预测未来),允许支持 任意大小的历史窗口(History Window)和预测窗口(Prediction Window),无需固定窗口长度,增强模型灵活性。
- 滑动窗口切片方法: 作者使用 5种不同的窗口大小和步长 对原始时间序列进行滑动切片,具体设置如下表(Table 3):
窗口总长度 | 历史长度 | 预测长度 | 滑动步长 |
576 | 512 | 64 | 32 |
288 | 256 | 32 | 16 |
144 | 128 | 16 | 8 |
72 | 64 | 8 | 4 |
36 | 32 | 4 | 2 |
操作逻辑
- 通过不同尺度的窗口(如512+64、256+32等)捕捉时间序列的多分辨率特征。
- 滑动步长(如32、16)确保切片之间部分重叠,避免遗漏时序依赖关系。
- 优先切分更大的片段:大窗口能保留更完整的长期趋势,适合自回归模型学习全局模式。
3. 数据聚类与高质量样本筛选
- 问题背景:
原始时间序列切片数量庞大(**1000万片,10M slices**),且存在大量重复模式(如周期性波动),直接训练会导致计算资源浪费和过拟合风险。
- K-means聚类筛选:
对10M切片进行 K-means聚类(使用Pedregosa等人2011年提出的算法),将相似模式的切片分组。
聚类后分为 100万组(用于预训练) 和 2.5万组(用于微调),每组随机选择一个代表性样本。
- **结果**:
- **预训练数据集**:100万(1M)个高质量切片,覆盖多样化的时序模式,去除冗余。
- **微调数据集**:2.5万(25K)个切片,用于指令微调阶段,平衡数据多样性与计算效率。
- 核心目标: 通过聚类压缩数据规模,保留最具代表性的时序模式,提升模型训练效率,同时避免因数据重复导致的泛化能力下降。
指令微调

- 在指令微调阶段,使用四个任务数据集对ChatTime-1-7B-Base进行微调,生成最终的ChatTime-1-7B-Chat。
- 包括文本问答、单模态时间序列预测、上下文引导的时间序列预测和时间序列问答任务。
- 每个任务使用25K样本进行微调,总共100K样本。
实验
1. 零样本时间序列预测
- 数据集:使用8个真实世界的数据集,涵盖电力、金融、交通和气候等领域。
- 评估指标:使用平均绝对误差(MAE)作为评估指标。
- 结果:ChatTime在零样本预测任务中表现出色,仅使用4%的预训练数据就达到了与现有最佳方法Chronos相当的预测精度。
2. 上下文引导的时间序列预测
- 数据集:使用3个多模态数据集,包括墨尔本太阳能发电(MSPG)、伦敦电力使用(LEU)和巴黎交通流量(PTF)。
- 结果:ChatTime在上下文引导的时间序列预测任务中表现优于其他基线模型,尤其是结合文本信息后,预测精度显著提高。
3. 时间序列问答
- 数据集:使用合成的多模态问答数据集,涵盖趋势、波动性、季节性和异常值等典型时间序列特征。
- 评估指标:使用准确率(Acc)作为评估指标。
- 结果:ChatTime在时间序列问答任务中表现优于通用预训练语言模型,如GPT4、GPT3.5、GLM4和LLaMA3。
结论
ChatTime通过将时间序列建模为“外语”,并利用预训练语言模型的词汇扩展技术,成功实现了多模态时间序列分析。它不仅支持零样本预测,还能处理时间序列和文本的双模态输入和输出。实验结果表明,ChatTime在多个时间序列任务中表现出色,为未来的时间序列分析提供了新的视角和解决方案。
- Author:Yixin Huang
- URL:https://yixinhuang.cn/article/1ded1582-2d17-80d2-8831-dec712f41f44
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!




