论文标题 :TimesBERT: A BERT-Style Foundation Model for Time Series Understanding
作者 : Haoran Zhang, Yong Liu(刘雍), Yunzhong Qiu, Haixuan Liu, Zhongyi Pei(裴忠一), Jianmin Wang(王建民), Mingsheng Long(龙明盛)
机构 :清华大学
论文链接 :https://arxiv.org/abs/2502.21245
Cool Paper :https://papers.cool/arxiv/2502.21245
TL;DR :TimesBERT是基于BERT架构的时间序列基础模型,通过掩码块建模和功能词元预测任务进行预训练,学习时间序列的多粒度表示,在分类、插补、缺失值、异常检测和短期预测等任务上表现优异。
关键词 : 时间序列分析, BERT基础模型, 预训练模型,多粒度表示学习
点击文末阅读原文跳转本文arXiv链接
摘要 时间序列分析在各种场景中都至关重要。除了预测之外,现实世界中的大量任务被归类为分类、归纳和异常检测,强调了本文中称为时间序列理解的不同功能。虽然 GPT 风格的模型已被定位为时间序列预测的基础模型,但在自然语言理解方面取得重大进展的 BERT 风格的架构尚未完全解锁时间序列理解,这可能是由于 BERT 基本元素的不良丢失。在本文中,受多变量时间序列和多句子文档之间共享的多粒度结构的启发,设计了 TimesBERT 来学习时间序列的通用表示,包括时间模式和以变量为中心的特征。除了对掩码建模的自然适应之外,还提出了一个并行的功能性词元(token)预测任务,以体现重要的多粒度结构。模型在不同领域的 2600 亿个时间点上进行了预训练。 TimesBERT 利用多粒度表示,在四个典型的下游理解任务中实现了最先进的性能,超越了特定于任务的模型和语言预训练主干,使其成为时间序列理解的多功能基础模型。
TimeBert继承并扩展Bert范式
TimesBERT 继承并扩展了由 BERT 建立的预训练和微调范式,它通过在任意多元时间序列的大规模数据集上进行预训练来学习可泛化的表示,并使基础模型适应时间序列理解的各种任务。
Q: 这篇论文试图解决什么问题? A : 这篇论文试图解决时间序列分析中时间序列理解 (time series understanding)的问题,特别是对于分类、插补缺失值、异常检测 等任务的支持。尽管时间序列预测(forecasting)已经得到了广泛的研究,但上述这些任务在实际应用中同样重要,它们需要模型能够从时间序列数据中提取出多粒度(multi-granularity)的结构化表示 ,以支持对数据的全面理解。
论文指出,尽管基于GPT风格的模型已经在时间序列预测任务中取得了成功,但BERT风格的架构在时间序列理解任务中的潜力尚未被充分挖掘。这是因为BERT在自然语言处理领域已经证明了其在理解任务上的有效性,但在时间序列领域,BERT的一些关键特性(如多粒度结构学习)没有被充分利用。因此,论文提出了TimesBERT ,这是一个基于BERT风格的预训练模型,旨在学习时间序列的通用表示,包括时间模式和变量中心的特征,以支持多种时间序列理解任务。
多元时间序列相当于自然语言文档
建议完全重新利用 BERT 来学习时间序列的结构化表示。体现不同粒度的表示可以促进各种时间序列理解任务。
Q: 有哪些相关研究? A : 论文中提到的相关研究可以分为以下几个部分:
时间序列理解 经典方法 :如动态时间规整(Dynamic Time Warping, DTW)和孤立森林(Isolation Forests),这些方法利用基于统计的表示来识别时间序列中的时间模式。基于深度学习的方法 :早期基于卷积神经网络(CNN)的方法初步展示了深度学习模型在时间序列理解中的能力。随后,基于Transformer的模型通过注意力机制发现不同粒度之间的潜在相关性,但大多数模型最初是为预测任务设计的,对时间序列理解的适应性不足。BERT风格模型 自然语言处理中的BERT :BERT通过掩码语言建模(Masked Language Modeling, MLM)和下一句预测(Next Sentence Prediction, NSP)等任务,展示了双向信息对于数据理解的重要性,并引入了结构化和通用的视角来分析单词、句子和文档。其他模态中的BERT风格模型 :例如MAE(Masked Autoencoders)在图像分类任务中通过掩码建模实现了显著的预训练改进;BEiT(Bert pre-training of image transformers)使用VQVAE将图像转换为离散的语义表示;T5和GPT-3则是BERT风格架构的对应物,分别通过文本到文本的框架和解码器仅有的架构推动了可扩展模型的极限。预训练时间序列模型 任务特定的预训练模型 :如TST和PatchTST,它们分别在点级别和块级别采用BERT风格的掩码预训练。SimMTM尝试将邻域数据比较与掩码点建模结合起来。基础模型 :如TimesFM、Timer和Chronos,它们通过大规模预训练展示了零样本预测的优势,但这些模型主要关注基于预测的任务,缺乏对不同理解任务的通用性。BERT风格的预训练模型 :如MOMENT使用T5编码器进行预训练以实现下游多任务能力;Moirai实现多变量嵌入并通过预测未来块进行掩码建模;VisionTS展示了视觉掩码自编码器在不同模态之间的鲁棒迁移能力。然而,这些模型没有充分利用BERT中用于结构化表示学习的关键元素。其他相关研究 时间序列分类 :如Franceschi等人提出的无监督可扩展表示学习方法,以及基于深度学习的模型,如TimesNet等。时间序列异常检测 :如Xu等人提出的Anomaly Transformer,通过关联差异进行时间序列异常检测。时间序列插补缺失值 :如Liu等人提出的Timer模型,通过大规模预训练来处理时间序列中的缺失值问题。Q: 论文如何解决这个问题? A : 论文通过设计TimesBERT 来解决时间序列理解的问题,主要通过以下几个关键步骤和方法:
嵌入对比 GPT vs Bert vs TimeBert
嵌入对比 GPT vs Bert vs TimeBert
在嵌入、骨干和训练目标方面的比较。与 BERT 的句子形式化对(sentence pair formulation)不同,为具有任意数量变量的数据实现了一种嵌入方法,并设计了相应的功能标记,以适应时间序列变量的固有不规则性。
TimeBert
1. 时间序列嵌入(Time Series Embedding) 为了处理多变量时间序列的任意长度和变量数,论文设计了一个统一的时间序列嵌入机制。具体步骤如下:
分块(Patching) :将每个变量的时间序列分成固定长度的块(patch),每个块被视为一个“词元”(token)。位置编码(Position Embedding) :为每个块添加位置编码,以保留时间信息。掩码(Masking) :使用共享的可学习嵌入来替换被掩码的位置。功能词元(Functional Tokens) :引入和两个功能词元,分别用于表示变量和数据域。类似于BERT中的[SEP],用于分隔不同的变量;类似于[CLS],用于表示整个序列的域信息。2. 预训练任务(Pre-training Tasks) 为了学习时间序列的通用表示,论文设计了两个预训练任务:
任务1:掩码块建模(Masked Patch Modeling, MPM) 目标 :通过预测被掩码的块来学习局部时间模式。实现 :随机选择一定比例的块进行掩码,并使用替换。模型的目标是重构这些被掩码的块。任务2:功能词元预测(Functional Token Prediction, FTP) 目标 :通过预测功能词元来学习全局表示,包括变量间的相关性和数据域的特征。实现 :变量判别(Variate Discrimination) :随机替换一个变量为其他数据集中的变量,模型需要识别出被替换的变量。域分类(Domain Classification) :模型需要根据预测时间序列所属的数据域。3. 大规模预训练(Large-scale Pre-training) 数据集 :使用包含2600亿个时间点的大规模时间序列数据集进行预训练,这些数据来自多个领域,以确保模型能够学习到多样化的模式。模型架构 :采用编码器仅有的Transformer架构,与BERT保持一致,以支持双向上下文建模。4. 微调(Fine-tuning) 在预训练完成后,将模型应用于特定的下游任务,如时间序列分类、插补缺失值、异常检测和短时预测。通过在下游任务数据集上进行微调,模型能够适应特定任务的需求。
Q: 论文做了哪些实验? A : 论文进行了以下实验,以验证TimesBERT 在时间序列理解任务中的性能和有效性:
整体性能比较
1. 时间序列分类(Time Series Classification) 数据集 :使用了UEA Archive和UCR Archive中的多个数据集,涵盖了生物学、物理学、环境监测、人类活动识别和金融等多个领域。实验设置 :对每个数据集进行分类任务,评估模型的分类准确率(Accuracy)。结果 :TimesBERT在UEA和UCR数据集上的平均分类准确率分别为74.5%和85.6%,显著优于其他统计方法、深度学习模型和经典无监督表示学习方法。分类平均结果
2. 异常检测(Anomaly Detection) 数据集 :使用了SMD、MSL、SMAP、SWAT和PSM等广泛使用的异常检测基准数据集。实验设置 :按照无监督时间序列异常检测的逻辑,将数据集划分为非重叠的滑动窗口,并使用重构误差作为异常标准。结果 :TimesBERT在所有异常检测基准数据集上的表现均优于之前的最佳模型,平均F1分数为88.40%。异常检测
3. 插补缺失值(Imputation) 数据集 :使用了ETT、ECL和Weather等多变量基准数据集,这些数据集涵盖了电力、气象等领域。实验设置 :采用块级插补缺失值(patch-level imputation),评估模型在不同掩码比例下的性能,使用均方误差(MSE)作为评估指标。结果 :TimesBERT在插补缺失值任务上实现了7.7%的损失降低,显著优于其他先进模型。此外,论文还测试了在不同数据量(5%、20%、100%)下预训练模型的益处,结果表明预训练模型在数据稀缺时能够显著提高性能。插补平均结果
插补任务TimeBert预训练优势程度比较
4. 短时预测(Short-Term Forecasting) 数据集 :使用了M4数据集,该数据集包含多个不同频率变化的单变量序列,适用于评估模型在不同变化模式数据上的性能。实验设置 :按照短期时间序列预测的标准评估协议,使用平均绝对百分比误差(SMAPE)和整体加权平均(OWA)等指标进行评估。结果 :TimesBERT在所有评估指标上均优于之前的模型,平均SMAPE为11.648,OWA为0.837。短时预测
5. 模型分析(Model Analysis) 预训练任务的影响 :通过对比有无功能词元预测任务的模型性能,验证了功能词元在分类任务中的重要性。结果表明,使用功能词元可以显著提高分类性能。初始化方法的影响 :尝试使用预训练的BERT模型直接初始化TimesBERT,并与正常预训练的TimesBERT进行比较,结果表明直接使用BERT初始化效果不佳,强调了针对时间序列进行原生预训练的重要性。多变量建模能力 :通过在具有明确多变量特征的数据集上进行分类和插补缺失值任务的消融研究,验证了TimesBERT在多变量建模方面的能力,结果表明TimesBERT能够有效利用变量间的相关性来提升性能。这些实验全面验证了TimesBERT在时间序列理解任务中的有效性,证明了其在多种任务上的优越性能和广泛的适用性。
预训练任务消融
TimeBert初始化方法比较
消融实验(分类和插补,CI表示通道独立侧录了)
完整实验结果 数据集描述
分类 分类任务上t-SNE可视化
预训练的 TimesBERT 在来自 UEA 和 UCR 分类数据集的示例上的 t-SNE 表示可视化。可视化中的每种颜色代表示例数据集中的一个特定目标类别。
UEA完整分类结果
UCR分类完整结果
插补 插补100%样本训练
插补20%样本训练
插补5%样本训练
完整插补结果
短时预测 短时预测完整结果
异常检测 异常检测完整结果
具体例子 插补具体例子
短时预测具体例子