5大任务全解析:2025年时序预测模型TOP3排行榜及实战指南
你是否还在为选择合适的时序分析模型而烦恼?面对数十种深度学习模型不知如何下手?本文将带你一文读懂当前最先进的时序分析模型排行榜,并通过实战案例教你如何快速上手这些模型。读完本文,你将能够:
- 了解5大时序任务的SOTA模型排名及适用场景
- 掌握TimesNet等顶尖模型的核心原理与实现
- 使用Time-Series-Library快速复现论文实验结果
- 根据实际需求选择最适合的时序模型
时序分析模型全景图
Time-Series-Library(TSLib)是一个专注于深度时序分析的开源库,涵盖五大主流任务:长短期预测、缺失值填补、异常检测和分类。该库提供了统一的代码框架,方便研究者评估先进模型或开发新模型。
五大任务SOTA模型排行榜
截至2024年3月,五大时序任务的前三甲模型如下:
| 模型排名 | 长期预测(Look-Back-96) | 长期预测(Look-Back-Searching) | 短期预测 | 缺失值填补 | 分类 | 异常检测 |
|---|---|---|---|---|---|---|
| 🥇 1st | TimeXer | TimeMixer | TimesNet | TimesNet | TimesNet | TimesNet |
| 🥈 2nd | iTransformer | PatchTST | Non-stationary Transformer | Non-stationary Transformer | Non-stationary Transformer | FEDformer |
| 🥉 3rd | TimeMixer | DLinear | FEDformer | Autoformer | Informer | Autoformer |
官方排行榜:README.md
冠军模型深度解析:TimesNet
TimesNet是当前综合性能最佳的时序分析模型,在预测、填补、异常检测和分类四大任务中均排名第一。其核心创新在于TimesBlock结构,通过傅里叶变换提取序列的周期特征,并使用2D卷积捕获周期内和周期间的依赖关系。
TimesBlock工作原理
TimesBlock的核心步骤包括:
- 周期检测:通过FFT分析提取序列的主要周期成分
- 序列重塑:将时序数据转换为2D周期矩阵
- 2D卷积:捕获周期内和周期间的依赖关系
- 自适应聚合:加权聚合多个周期的特征
class TimesBlock(nn.Module):
def __init__(self, configs):
super(TimesBlock, self).__init__()
self.seq_len = configs.seq_len
self.pred_len = configs.pred_len
self.k = configs.top_k # 提取的主要周期数
# 2D卷积块
self.conv = nn.Sequential(
Inception_Block_V1(configs.d_model, configs.d_ff, num_kernels=configs.num_kernels),
nn.GELU(),
Inception_Block_V1(configs.d_ff, configs.d_model, num_kernels=configs.num_kernels)
)
def forward(self, x):
B, T, N = x.size()
# 提取周期特征
period_list, period_weight = FFT_for_Period(x, self.k)
res = []
for i in range(self.k):
period = period_list[i]
# 序列填充以适应周期长度
if (self.seq_len + self.pred_len) % period != 0:
length = ((self.seq_len + self.pred_len) // period + 1) * period
padding = torch.zeros([x.shape[0], (length - (self.seq_len + self.pred_len)), x.shape[2]]).to(x.device)
out = torch.cat([x, padding], dim=1)
else:
length = self.seq_len + self.pred_len
out = x
# 重塑为2D周期矩阵
out = out.reshape(B, length // period, period, N).permute(0, 3, 1, 2).contiguous()
# 2D卷积操作
out = self.conv(out)
# 重塑回原始形状
out = out.permute(0, 2, 3, 1).reshape(B, -1, N)
res.append(out[:, :(self.seq_len + self.pred_len), :])
# 加权聚合多个周期特征
res = torch.stack(res, dim=-1)
period_weight = F.softmax(period_weight, dim=1).unsqueeze(1).unsqueeze(1).repeat(1, T, N, 1)
res = torch.sum(res * period_weight, -1)
# 残差连接
res = res + x
return res
多任务统一框架
TimesNet通过统一的架构支持多种时序任务,只需修改输出层和损失函数:
- 预测任务:添加预测线性层和投影层
- 填补任务:使用掩码处理缺失值
- 异常检测:重构输入序列并计算重构误差
- 分类任务:添加分类头和softmax层
详细实现:tutorial/TimesNet_tutorial.ipynb
实战指南:快速上手TimesNet
环境准备
- 克隆仓库:
git clone https://gitcode.com/GitHub_Trending/ti/Time-Series-Library
cd Time-Series-Library
- 安装依赖:
pip install -r requirements.txt
数据准备
从Google Drive或百度网盘下载预处理数据集,放置在./dataset目录下。
训练模型
TSLib提供了所有基准测试的实验脚本,位于./scripts/目录下。以下是使用TimesNet进行长期预测的示例:
# 长期预测
bash ./scripts/long_term_forecast/ETT_script/TimesNet_ETTh1.sh
# 短期预测
bash ./scripts/short_term_forecast/TimesNet_M4.sh
# 缺失值填补
bash ./scripts/imputation/ETT_script/TimesNet_ETTh1.sh
# 异常检测
bash ./scripts/anomaly_detection/PSM/TimesNet.sh
# 分类
bash ./scripts/classification/TimesNet.sh
脚本示例:scripts/long_term_forecast/ETT_script/TimesNet_ETTh1.sh
关键参数说明
以长期预测脚本为例,关键参数包括:
# 任务设置
--task_name long_term_forecast # 任务类型
--is_training 1 # 训练模式
--model TimesNet # 模型名称
# 数据设置
--root_path ./dataset/ETT-small/ # 数据根目录
--data_path ETTh1.csv # 数据文件名
--data ETTh1 # 数据集名称
--features M # 特征类型(M:多变量预测多变量)
# 序列长度设置
--seq_len 96 # 输入序列长度
--label_len 48 # 标签序列长度
--pred_len 96 # 预测序列长度
# 模型参数
--e_layers 2 # 编码器层数
--d_model 16 # 嵌入维度
--d_ff 32 # 前馈网络维度
--top_k 5 # 提取的主要周期数
模型选择指南
根据不同任务和数据特点,选择合适的模型:
按任务选择
- 长期预测:优先选择TimeXer、iTransformer、TimeMixer
- 短期预测:推荐TimesNet、Non-stationary Transformer、FEDformer
- 缺失值填补:TimesNet、Non-stationary Transformer、Autoformer表现最佳
- 异常检测:TimesNet、FEDformer、Autoformer效果较好
- 分类任务:TimesNet、Non-stationary Transformer、Informer性能领先
按数据特点选择
- 高维数据:优先选择线性模型如DLinear、LightTS
- 长周期数据:推荐使用TimesNet、FEDformer(傅里叶变换)
- 非平稳数据:Non-stationary Transformer、Koopa更有优势
- 实时性要求高:Mamba、TSMixer等高效模型
扩展与定制
TSLib设计灵活,方便添加新模型。要开发自己的模型,只需:
- 在
./models/目录下添加模型文件,参考models/Transformer.py - 在
./exp/exp_basic.py的Exp_Basic.model_dict中注册新模型 - 在
./scripts/目录下创建相应的实验脚本
模型开发指南:tutorial/TimesNet_tutorial.ipynb
总结与展望
Time-Series-Library为时序分析研究者提供了全面的模型库和统一的实验框架。通过本文介绍的排行榜和实战指南,你可以快速找到适合自己任务的模型并上手使用。
随着深度学习的发展,时序模型正朝着更高效、更鲁棒的方向演进。TSLib将持续更新最新模型和基准测试结果,助力时序分析领域的研究与应用。
如果你有优秀的模型想要加入排行榜,欢迎提交PR或联系维护团队。
项目地址:GitHub_Trending/ti/Time-Series-Library
点赞收藏本文,关注项目更新,不错过最新的时序模型进展!
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00- QQwen3-Coder-Next2026年2月4日,正式发布的Qwen3-Coder-Next,一款专为编码智能体和本地开发场景设计的开源语言模型。Python00
xw-cli实现国产算力大模型零门槛部署,一键跑通 Qwen、GLM-4.7、Minimax-2.1、DeepSeek-OCR 等模型Go06
PaddleOCR-VL-1.5PaddleOCR-VL-1.5 是 PaddleOCR-VL 的新一代进阶模型,在 OmniDocBench v1.5 上实现了 94.5% 的全新 state-of-the-art 准确率。 为了严格评估模型在真实物理畸变下的鲁棒性——包括扫描伪影、倾斜、扭曲、屏幕拍摄和光照变化——我们提出了 Real5-OmniDocBench 基准测试集。实验结果表明,该增强模型在新构建的基准测试集上达到了 SOTA 性能。此外,我们通过整合印章识别和文本检测识别(text spotting)任务扩展了模型的能力,同时保持 0.9B 的超紧凑 VLM 规模,具备高效率特性。Python00
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility. 注意:本仓库为Github仓库镜像,PR或Issue请移步至Github发起,感谢支持!Kotlin08
VLOOKVLOOK™ 是优雅好用的 Typora/Markdown 主题包和增强插件。 VLOOK™ is an elegant and practical THEME PACKAGE × ENHANCEMENT PLUGIN for Typora/Markdown.Less00

