描述
PatchTST 是论文 "A Time Series is Worth 64 Words: Long-term Forecasting with Transformers" 的官方实现。该 AI 模型专为长时序预测而设计,利用了 Transformer 架构的强大功能。其核心创新在于“分块”(patching)机制,将时间序列分割成子序列级别的块,然后将这些块作为 Transformer 的输入 token。
阅读更多
关键设计原则包括通道独立性,其中每个通道代表一个单一的单变量时间序列。这些序列在所有输入中共享相同的嵌入和 Transformer 权重,从而促进了高效学习。该项目分为两个主要文件夹:PatchTST_supervised 和 PatchTST_self_supervised,以适应不同的学习范式。
对于监督学习,用户可以安装所需的依赖项,从 Autoformer 等来源下载数据集,并使用提供的脚本开始训练。可以调整诸如块长度、回看窗口和预测长度等超参数。该存储库还包含用于比较分析的基线模型代码。
在自监督学习领域,PatchTST 提供了预训练和微调功能。预训练脚本 `patchtst_pretrain.py` 使用指定的掩码比例(mask ratio)来训练模型。生成的预训练模型将保存以供下游任务使用。然后,`patchtst_finetune.py` 脚本可以对这些预训练模型进行线性探测(linear probing)或全网络微调。
该项目感谢多个 GitHub 存储库的宝贵贡献,包括 LTSF-Linear、Informer2020、Autoformer、FEDformer、Pyraformer、RevIN 和 tsai,这突显了其在更广泛的时间序列研究社区中的整合。这使得 PatchTST 成为研究人员和从业人员在准确且可扩展的长时序预测方面的强大工具。
- 类别AI 模型与大语言模型
- 定价模式开源
- 部署云端, 自托管
- 平台网页版
PatchTST亮点
基于 Transformer 的时间序列预测架构
将时间序列分割成子序列级别的块
通道独立性,实现高效的权重共享
PatchTST 论文的官方实现
支持监督学习
支持自监督学习(预训练和微调)
可调整的块长度、回看窗口和预测窗口超参数
包含用于比较的基线模型
代码库可在 GitHub 上获取
模型权重保存以供下游任务使用
线性探测和全网络微调选项
PatchTST入门
集成:访问 PatchTST 代码的 GitHub 存储库。
设置环境:使用 `pip install -r requirements.txt` 安装必要的 Python 包。
下载数据:获取时间序列数据集并将其放在 `./dataset` 文件夹中。
监督学习训练:从 `./scripts/PatchTST` 目录运行训练脚本,例如 `sh ./scripts/PatchTST/weather.sh`。
自监督预训练:使用数据集和掩码比例参数执行 `python patchtst_pretrain.py`。
自监督微调:使用预训练模型名称和数据集运行 `python patchtst_finetune.py`。
PatchTST的使用案例
- 长时序预测
- 时间序列分析
- 使用 Transformer 进行预测
- 自监督学习
- 监督学习
- 多变量预测













