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
点赞收藏本文,关注项目更新,不错过最新的时序模型进展!
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
请把这个活动推给顶尖程序员😎本次活动专为懂行的顶尖程序员量身打造,聚焦AtomGit首发开源模型的实际应用与深度测评,拒绝大众化浅层体验,邀请具备扎实技术功底、开源经验或模型测评能力的顶尖开发者,深度参与模型体验、性能测评,通过发布技术帖子、提交测评报告、上传实践项目成果等形式,挖掘模型核心价值,共建AtomGit开源模型生态,彰显顶尖程序员的技术洞察力与实践能力。00
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00
MiniMax-M2.5MiniMax-M2.5开源模型,经数十万复杂环境强化训练,在代码生成、工具调用、办公自动化等经济价值任务中表现卓越。SWE-Bench Verified得分80.2%,Multi-SWE-Bench达51.3%,BrowseComp获76.3%。推理速度比M2.1快37%,与Claude Opus 4.6相当,每小时仅需0.3-1美元,成本仅为同类模型1/10-1/20,为智能应用开发提供高效经济选择。【此简介由AI生成】Python00
Qwen3.5Qwen3.5 昇腾 vLLM 部署教程。Qwen3.5 是 Qwen 系列最新的旗舰多模态模型,采用 MoE(混合专家)架构,在保持强大模型能力的同时显著降低了推理成本。00- RRing-2.5-1TRing-2.5-1T:全球首个基于混合线性注意力架构的开源万亿参数思考模型。Python00

