快速上手Time-Series-Library从零开始构建深度学习时间序列分析平台【免费下载链接】Time-Series-LibraryA Library for Advanced Deep Time Series Models for General Time Series Analysis.项目地址: https://gitcode.com/GitHub_Trending/ti/Time-Series-LibraryTime-Series-LibraryTSLib是一个专注于深度学习时间序列分析的综合性开源库为研究人员和开发者提供了统一的代码基准支持长短期预测、数据填补、异常检测和分类等五大核心任务。无论你是想评估现有SOTA模型性能还是开发自己的时间序列模型这个库都能提供完整的工具链和标准化的实验流程。 项目核心价值一站式时间序列分析解决方案TSLib的核心优势在于其统一性和完整性。相比于零散的时间序列模型实现该库将40个主流模型集成在统一的框架下包括预测类模型Autoformer、TimesNet、PatchTST、iTransformer、TimeMixer等异常检测模型KANAD、TimesNet、Autoformer等分类模型Informer、Transformer、TimesNet等数据填补模型Non-stationary Transformer、TimesNet等所有模型共享相同的数据接口、评估指标和训练流程让你能够公平地比较不同模型的性能避免因实现差异导致的评估偏差。 3步完成环境部署与安装第1步克隆仓库与准备环境# 克隆项目到本地 git clone https://gitcode.com/GitHub_Trending/ti/Time-Series-Library cd Time-Series-Library # 创建Python虚拟环境推荐Python 3.9 python -m venv venv source venv/bin/activate # Linux/Mac # venv\Scripts\activate # Windows第2步安装核心依赖# 安装基础依赖 pip install -r requirements.txt # 安装PyTorch根据你的CUDA版本选择 # CUDA 11.8版本 pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118 # 或CPU版本 # pip install torch torchvision第3步准备数据集项目支持多种标准数据集建议按以下结构组织数据dataset/ ├── ETT-small/ # 电力变压器温度数据集 ├── traffic/ # 交通流量数据集 ├── weather/ # 气象数据集 ├── electricity/ # 电力消耗数据集 └── exchange_rate/ # 汇率数据集你可以从项目提供的脚本或原始论文中下载这些数据集确保CSV文件放置在正确目录下。⚙️ 关键配置参数详解TSLib通过run.py脚本统一管理所有实验配置以下是必须掌握的核心参数基础配置参数参数说明常用值--task_name任务类型long_term_forecast长时序预测short_term_forecast短时序预测imputation数据填补classification分类anomaly_detection异常检测--model模型选择Autoformer、TimesNet、PatchTST、Mamba等--data数据集名称ETTh1、Traffic、Weather、Electricity等--features特征模式M多变量预测多变量S单变量预测单变量MS多变量预测单变量时序预测关键参数参数说明典型配置--seq_len输入序列长度964天小时数据--pred_len预测序列长度96、192、336、720--freq时间频率编码h小时、d天、m月--label_len起始标记长度通常为seq_len的一半模型架构参数参数说明典型值--enc_in编码器输入维度7ETT数据集--dec_in解码器输入维度7ETT数据集--c_out输出维度7ETT数据集--d_model模型隐藏维度512、1024--n_heads注意力头数8--e_layers编码器层数2--d_layers解码器层数1 时间序列任务与数据集概览TSLib支持五大核心时间序列分析任务每个任务都有相应的基准数据集和评估指标从上图可以看出TSLib覆盖了从长短期预测到异常检测的完整时间序列分析流程。对于长时序预测ETT、Electricity等数据集支持96~720的序列长度对于分类任务UEA数据集提供29~1751的变长序列异常检测则使用SMD、MSL等工业数据集。 实用操作示例从基础到进阶示例1基础长时序预测Autoformer模型# 使用Autoformer模型在ETTh1数据集上进行长时序预测 python run.py \ --task_name long_term_forecast \ --is_training 1 \ --model Autoformer \ --data ETTh1 \ --features M \ --seq_len 96 \ --label_len 48 \ --pred_len 96 \ --freq h \ --e_layers 2 \ --d_layers 1 \ --enc_in 7 \ --dec_in 7 \ --c_out 7 \ --train_epochs 10 \ --batch_size 32示例2批量运行实验脚本项目提供了丰富的预配置脚本位于scripts/目录下# 运行ETTh1数据集上的所有Autoformer实验 bash scripts/long_term_forecast/ETT_script/Autoformer_ETTh1.sh # 运行M4数据集上的短时序预测 bash scripts/short_term_forecast/Autoformer_M4.sh示例3使用最新Mamba模型# 安装Mamba依赖 pip install mamba_ssm # 运行Mamba模型 python run.py \ --task_name long_term_forecast \ --model Mamba \ --data ETTh1 \ --seq_len 96 \ --pred_len 192 \ --expand 2 \ --d_conv 4 核心原理时间序列的2D表示传统时间序列分析通常将数据视为一维序列但TSLib中的许多先进模型如TimesNet采用了创新的2D表示方法这张图展示了如何将一维时间序列转换为二维张量进行卷积处理。通过傅里叶变换识别主要周期然后将序列重塑为周期×频率的二维矩阵使得模型能够同时捕捉周期内变化Intraperiod-variation和跨周期变化Interperiod-variation。上图进一步展示了多周期分解的过程。时间序列被划分为多个周期每个周期内的变化和跨周期的趋势分别被提取和处理这种多尺度分析能力是许多SOTA模型性能优越的关键。️ 进阶技巧与最佳实践1. 模型选择指南任务类型推荐模型优势特点长时序预测PatchTST、TimeMixer高效处理长序列计算复杂度低实时预测Mamba、LightTS推理速度快内存占用少多变量预测TimesNet、Autoformer变量间依赖关系建模能力强零样本预测Chronos、Moirai无需训练数据直接推理2. 性能优化技巧# 使用混合精度训练加速 python run.py --use_amp 1 --batch_size 64 # 调整学习率策略 python run.py --lradj type3 --learning_rate 0.0005 # 使用梯度累积处理大batch python run.py --batch_size 16 --gradient_accumulation_steps 43. 自定义模型开发如果你想开发自己的时间序列模型可以继承基础实验类# 参考 models/ 目录下的现有实现 from exp.exp_basic import Exp_Basic class YourModel(Exp_Basic): def __init__(self, args): super().__init__(args) # 你的模型初始化代码 def _build_model(self): # 构建模型架构 pass def forward(self, x): # 前向传播逻辑 pass 结果可视化与评估训练完成后模型会在./checkpoints/目录下保存检查点并在./results/目录下生成评估结果上图展示了真实值GroundTruth与预测值Prediction的对比可以直观评估模型的预测性能。TSLib会自动计算MSE、MAE、SMAPE等多种评估指标并生成详细的日志文件。 常见问题与解决方案Q1CUDA内存不足# 方案1减小batch size python run.py --batch_size 16 # 方案2使用梯度累积 python run.py --batch_size 8 --gradient_accumulation_steps 2 # 方案3使用CPU模式 python run.py --use_gpu 0Q2依赖版本冲突# 创建干净环境重新安装 pip install --upgrade pip pip install numpy1.23.5 pandas1.5.3 scikit-learn1.2.2Q3数据集路径错误确保数据集按以下结构组织# 正确结构 ./dataset/ETT-small/ETTh1.csv ./dataset/traffic/traffic.csv 学习资源与下一步建议官方资源入门教程tutorial/TimesNet_tutorial.ipynb - TimesNet模型详细教程API文档README.md - 完整的项目文档和API说明模型实现models/目录 - 所有模型的源代码实现实验配置exp/目录 - 不同任务的实验类定义进阶学习路径基础掌握运行tutorial中的TimesNet示例理解基本流程模型对比使用scripts/目录下的脚本批量运行不同模型自定义实验修改exp_basic.py中的实验类添加自定义评估指标模型开发参考models/目录下的实现开发自己的时间序列模型论文复现结合原始论文深入理解各模型的设计思想下一步行动建议立即尝试选择ETTh1数据集和Autoformer模型运行第一个预测实验模型对比在同一数据集上运行TimesNet、PatchTST、Mamba等模型比较性能差异任务扩展尝试异常检测或分类任务了解不同任务的数据处理差异源码学习阅读models/TimesNet.py和layers/AutoCorrelation.py理解核心实现Time-Series-Library为时间序列分析研究提供了完整的工具链无论你是学术研究者还是工业实践者都能在这个统一的框架下快速验证想法、比较模型性能。现在就开始你的时间序列分析之旅吧【免费下载链接】Time-Series-LibraryA Library for Advanced Deep Time Series Models for General Time Series Analysis.项目地址: https://gitcode.com/GitHub_Trending/ti/Time-Series-Library创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
快速上手Time-Series-Library:从零开始构建深度学习时间序列分析平台
快速上手Time-Series-Library从零开始构建深度学习时间序列分析平台【免费下载链接】Time-Series-LibraryA Library for Advanced Deep Time Series Models for General Time Series Analysis.项目地址: https://gitcode.com/GitHub_Trending/ti/Time-Series-LibraryTime-Series-LibraryTSLib是一个专注于深度学习时间序列分析的综合性开源库为研究人员和开发者提供了统一的代码基准支持长短期预测、数据填补、异常检测和分类等五大核心任务。无论你是想评估现有SOTA模型性能还是开发自己的时间序列模型这个库都能提供完整的工具链和标准化的实验流程。 项目核心价值一站式时间序列分析解决方案TSLib的核心优势在于其统一性和完整性。相比于零散的时间序列模型实现该库将40个主流模型集成在统一的框架下包括预测类模型Autoformer、TimesNet、PatchTST、iTransformer、TimeMixer等异常检测模型KANAD、TimesNet、Autoformer等分类模型Informer、Transformer、TimesNet等数据填补模型Non-stationary Transformer、TimesNet等所有模型共享相同的数据接口、评估指标和训练流程让你能够公平地比较不同模型的性能避免因实现差异导致的评估偏差。 3步完成环境部署与安装第1步克隆仓库与准备环境# 克隆项目到本地 git clone https://gitcode.com/GitHub_Trending/ti/Time-Series-Library cd Time-Series-Library # 创建Python虚拟环境推荐Python 3.9 python -m venv venv source venv/bin/activate # Linux/Mac # venv\Scripts\activate # Windows第2步安装核心依赖# 安装基础依赖 pip install -r requirements.txt # 安装PyTorch根据你的CUDA版本选择 # CUDA 11.8版本 pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118 # 或CPU版本 # pip install torch torchvision第3步准备数据集项目支持多种标准数据集建议按以下结构组织数据dataset/ ├── ETT-small/ # 电力变压器温度数据集 ├── traffic/ # 交通流量数据集 ├── weather/ # 气象数据集 ├── electricity/ # 电力消耗数据集 └── exchange_rate/ # 汇率数据集你可以从项目提供的脚本或原始论文中下载这些数据集确保CSV文件放置在正确目录下。⚙️ 关键配置参数详解TSLib通过run.py脚本统一管理所有实验配置以下是必须掌握的核心参数基础配置参数参数说明常用值--task_name任务类型long_term_forecast长时序预测short_term_forecast短时序预测imputation数据填补classification分类anomaly_detection异常检测--model模型选择Autoformer、TimesNet、PatchTST、Mamba等--data数据集名称ETTh1、Traffic、Weather、Electricity等--features特征模式M多变量预测多变量S单变量预测单变量MS多变量预测单变量时序预测关键参数参数说明典型配置--seq_len输入序列长度964天小时数据--pred_len预测序列长度96、192、336、720--freq时间频率编码h小时、d天、m月--label_len起始标记长度通常为seq_len的一半模型架构参数参数说明典型值--enc_in编码器输入维度7ETT数据集--dec_in解码器输入维度7ETT数据集--c_out输出维度7ETT数据集--d_model模型隐藏维度512、1024--n_heads注意力头数8--e_layers编码器层数2--d_layers解码器层数1 时间序列任务与数据集概览TSLib支持五大核心时间序列分析任务每个任务都有相应的基准数据集和评估指标从上图可以看出TSLib覆盖了从长短期预测到异常检测的完整时间序列分析流程。对于长时序预测ETT、Electricity等数据集支持96~720的序列长度对于分类任务UEA数据集提供29~1751的变长序列异常检测则使用SMD、MSL等工业数据集。 实用操作示例从基础到进阶示例1基础长时序预测Autoformer模型# 使用Autoformer模型在ETTh1数据集上进行长时序预测 python run.py \ --task_name long_term_forecast \ --is_training 1 \ --model Autoformer \ --data ETTh1 \ --features M \ --seq_len 96 \ --label_len 48 \ --pred_len 96 \ --freq h \ --e_layers 2 \ --d_layers 1 \ --enc_in 7 \ --dec_in 7 \ --c_out 7 \ --train_epochs 10 \ --batch_size 32示例2批量运行实验脚本项目提供了丰富的预配置脚本位于scripts/目录下# 运行ETTh1数据集上的所有Autoformer实验 bash scripts/long_term_forecast/ETT_script/Autoformer_ETTh1.sh # 运行M4数据集上的短时序预测 bash scripts/short_term_forecast/Autoformer_M4.sh示例3使用最新Mamba模型# 安装Mamba依赖 pip install mamba_ssm # 运行Mamba模型 python run.py \ --task_name long_term_forecast \ --model Mamba \ --data ETTh1 \ --seq_len 96 \ --pred_len 192 \ --expand 2 \ --d_conv 4 核心原理时间序列的2D表示传统时间序列分析通常将数据视为一维序列但TSLib中的许多先进模型如TimesNet采用了创新的2D表示方法这张图展示了如何将一维时间序列转换为二维张量进行卷积处理。通过傅里叶变换识别主要周期然后将序列重塑为周期×频率的二维矩阵使得模型能够同时捕捉周期内变化Intraperiod-variation和跨周期变化Interperiod-variation。上图进一步展示了多周期分解的过程。时间序列被划分为多个周期每个周期内的变化和跨周期的趋势分别被提取和处理这种多尺度分析能力是许多SOTA模型性能优越的关键。️ 进阶技巧与最佳实践1. 模型选择指南任务类型推荐模型优势特点长时序预测PatchTST、TimeMixer高效处理长序列计算复杂度低实时预测Mamba、LightTS推理速度快内存占用少多变量预测TimesNet、Autoformer变量间依赖关系建模能力强零样本预测Chronos、Moirai无需训练数据直接推理2. 性能优化技巧# 使用混合精度训练加速 python run.py --use_amp 1 --batch_size 64 # 调整学习率策略 python run.py --lradj type3 --learning_rate 0.0005 # 使用梯度累积处理大batch python run.py --batch_size 16 --gradient_accumulation_steps 43. 自定义模型开发如果你想开发自己的时间序列模型可以继承基础实验类# 参考 models/ 目录下的现有实现 from exp.exp_basic import Exp_Basic class YourModel(Exp_Basic): def __init__(self, args): super().__init__(args) # 你的模型初始化代码 def _build_model(self): # 构建模型架构 pass def forward(self, x): # 前向传播逻辑 pass 结果可视化与评估训练完成后模型会在./checkpoints/目录下保存检查点并在./results/目录下生成评估结果上图展示了真实值GroundTruth与预测值Prediction的对比可以直观评估模型的预测性能。TSLib会自动计算MSE、MAE、SMAPE等多种评估指标并生成详细的日志文件。 常见问题与解决方案Q1CUDA内存不足# 方案1减小batch size python run.py --batch_size 16 # 方案2使用梯度累积 python run.py --batch_size 8 --gradient_accumulation_steps 2 # 方案3使用CPU模式 python run.py --use_gpu 0Q2依赖版本冲突# 创建干净环境重新安装 pip install --upgrade pip pip install numpy1.23.5 pandas1.5.3 scikit-learn1.2.2Q3数据集路径错误确保数据集按以下结构组织# 正确结构 ./dataset/ETT-small/ETTh1.csv ./dataset/traffic/traffic.csv 学习资源与下一步建议官方资源入门教程tutorial/TimesNet_tutorial.ipynb - TimesNet模型详细教程API文档README.md - 完整的项目文档和API说明模型实现models/目录 - 所有模型的源代码实现实验配置exp/目录 - 不同任务的实验类定义进阶学习路径基础掌握运行tutorial中的TimesNet示例理解基本流程模型对比使用scripts/目录下的脚本批量运行不同模型自定义实验修改exp_basic.py中的实验类添加自定义评估指标模型开发参考models/目录下的实现开发自己的时间序列模型论文复现结合原始论文深入理解各模型的设计思想下一步行动建议立即尝试选择ETTh1数据集和Autoformer模型运行第一个预测实验模型对比在同一数据集上运行TimesNet、PatchTST、Mamba等模型比较性能差异任务扩展尝试异常检测或分类任务了解不同任务的数据处理差异源码学习阅读models/TimesNet.py和layers/AutoCorrelation.py理解核心实现Time-Series-Library为时间序列分析研究提供了完整的工具链无论你是学术研究者还是工业实践者都能在这个统一的框架下快速验证想法、比较模型性能。现在就开始你的时间序列分析之旅吧【免费下载链接】Time-Series-LibraryA Library for Advanced Deep Time Series Models for General Time Series Analysis.项目地址: https://gitcode.com/GitHub_Trending/ti/Time-Series-Library创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考