TSLib-面向深度学习研究者的时间序列分析工具库


Time Series Library (TSLib) 仓库介绍

TSLib 是由清华大学机器学习实验室(THUML)开源的面向深度学习研究者的时间序列分析工具库,核心聚焦于深度时间序列模型的评测与研发,是一个功能全面、易扩展的代码基准库。

核心定位

提供整洁、统一的代码框架,支持长短期预测、缺失值插补、异常检测、分类五大主流时间序列任务,同时适配大型时间序列模型(LTSM)的零样本预测评估,既可以复现SOTA模型,也能快速开发自定义模型。

核心特性

1. 丰富的模型支持

覆盖数十种主流/前沿时间序列模型,且持续更新: - 经典基础模型:Transformer、Informer、Autoformer、FEDformer等; - SOTA预测模型:iTransformer、TimeMixer、TimeXer、TimesNet、PatchTST、DLinear等; - 新兴模型:Mamba、Chronos2、TiRex、Sundial等大型时间序列模型(LTSM); - 专项任务模型:KAN-AD(异常检测)、MSGNet(多变量预测)、FreTS(频域MLP)等。

所有模型均提供完整实现,文件位于 models/ 目录(如 iTransformer.pyFreTS.py),且配套可复现的实验脚本。

2. 标准化的任务体系

任务类型 核心场景 标杆模型
长期预测 长时序跨度预测(分Look-Back-96/搜索式回溯) TimeXer、iTransformer、TimeMixer
短期预测 短周期时序预测(如M4数据集) TimesNet、Non-stationary Transformer
缺失值插补 时序数据缺失值填充 TimesNet、Autoformer
异常检测 时序异常识别(SMD/SMAP等) TimesNet、FEDformer
分类 时序特征分类(UEA数据集) TimesNet、Informer
零样本预测(LTSM) 大型时序模型零样本评估 Chronos2、TiRex、Sundial

3. 模块化的代码结构

仓库采用高内聚、低耦合的设计,核心目录分工清晰:

Time-Series-Library/
├── run.py                # 实验单入口,解析参数并调度任务
├── exp/                  # 实验管线(训练/验证/测试逻辑)
│   ├── exp_long_term_forecasting.py  # 长期预测实验
│   ├── exp_zero_shot_forecasting.py  # LTSM零样本评估
│   └── ...(插补/异常检测/分类等)
├── data_provider/        # 数据载入与预处理(滑窗/格式适配)
├── models/               # 所有模型实现(文件名=模型名)
├── layers/               # 通用组件(注意力/卷积/嵌入层等)
│   ├── AutoCorrelation.py、Transformer_EncDec.py等
├── utils/                # 工具集(指标/早停/数据增强等)
├── scripts/              # 实验脚本(按任务/数据集分类)
└── tutorial/             # 新手教程(如TimesNet入门)

4. 易用的实验复现能力

  • 标准化数据:提供预处理好的公开数据集(Google Drive/百度网盘/Hugging Face),涵盖ETT、M4、SMD、UEA等;
  • 一键式实验:scripts目录下按任务/数据集提供bash脚本,直接运行即可复现论文结果;
  • 统一环境:配套requirements.txt和Docker部署方案,支持conda环境快速搭建(Python 3.11)。

5. 持续更新与社区支持

  • 定期更新SOTA模型与实验基准(如2025年新增零样本预测、Accuracy Law相关分析);
  • 支持贡献者提交PR,补充新模型/修复bug,团队会及时合并并更新排行榜;
  • 提供中英文双语文档,配套新手教程(如TimesNet教程),对入门者友好。

快速上手

  1. 克隆仓库并配置环境:
git clone https://github.com/thuml/Time-Series-Library.git
cd Time-Series-Library
conda create -n tslib python=3.11 && conda activate tslib
pip install -r requirements.txt
  1. 下载预处理数据集,放入./dataset目录;
  2. 运行脚本复现实验(如长期预测):
bash scripts/long_term_forecast/ETT_script/TimeMixer.sh

适用人群

  • 时间序列深度学习研究者(快速对比模型性能、验证新想法);
  • 工业界时序任务开发者(复用成熟模型解决预测/异常检测等问题);
  • 入门学习者(通过教程和模块化代码理解时序模型设计)。

该仓库是目前时间序列领域覆盖模型最全、任务最完整的基准库之一,且依托THUML的持续维护,保证了代码的时效性和科学性。

Gitbhub