最近在研究基于paddlepaddle的PaddleTS深度时序建模库,想应用paddlets的主要原因是支持国产,同时paddlets提供的算法比较全面,并且集成了sklearn(机器学习库)、pyod([异常点检测算法工具库](mirrors / yzhao062 / pyod · GitCode))等第三方库。下面是官方的一些见解,之后会对每一部分的算法进行应用测试。
PaddleTS 是一个易用的深度时序建模的Python库,它基于飞桨深度学习框架PaddlePaddle,专注业界领先的深度模型,旨在为领域专家和行业用户提供可扩展的时序建模能力和便捷易用的用户体验。PaddleTS 的主要特性包括:
- 设计统一数据结构,实现对多样化时序数据的表达,支持单目标与多目标变量,支持多类型协变量
- 封装基础模型功能,如数据加载、回调设置、损失函数、训练过程控制等公共方法,帮助开发者在新模型开发过程中专注网络结构本身
- 内置业界领先的深度学习模型,包括NBEATS、NHiTS、LSTNet、TCN、Transformer, DeepAR(概率预测)、Informer等时序预测模型,以及TS2Vec等时序表征模型
- 内置多样化的数据转换算子,支持数据处理与转换,包括缺失值填充、异常值处理、归一化、时间相关的协变量提取等
- 内置经典的数据分析算子,帮助开发者便捷实现数据探索,包括数据统计量信息及数据摘要等功能
- 自动模型调优AutoTS,支持多类型HPO(Hyper Parameter Optimization)算法,在多个模型和数据集上展现显著调优效果
- 第三方机器学习模型及数据转换模块自动集成,支持包括sklearn等第三方库的时序应用
- 支持在GPU设备上运行基于PaddlePaddle的时序模型
最新更新:
- 支持时序异常检测,发布包括AE (Autoencoder)、VAE (Variational Autoencoder)、AnomalyTransformer深度学习模型
- 支持第三方时序异常检测库pyod自动集成
- 新增时序模型集成Ensemble功能。目前发布版本支持StackingEnsembleForecaster和WeightingEnsembleForecaster等2种时序预测集成学习方法
- RNN模型现在支持使用分类特征和静态协变量
- 新增基于表征模型的时序预测功能,支持使用时序表征模型解决时序预测任务
- 支持基于多时序数据集的组合训练
未来,更多的高级特性会进一步发布,包括但不限于:
- 更多时序异常检测模型
- 更多时序表征模型
- 更多概率预测模型
- 场景化Pipeline,支持端到端真实场景解决方案
项目 Github地址
https://github.com/PaddlePaddle/PaddleTS
使用教程
- 开始使用
- 安装
- 数据集定义、加载以及操作
- 数据转换
- 模型
- 评估指标
Pipeline
- 分析
- 回测
- AutoTS
- 集成学习
关于 PaddleTS API
具体来说,PaddleTS 时序库包含以下子模块:
模块 | 简述 |
---|---|
paddlets.datasets | 时序数据模块,统一的时序数据结构和预定义的数据处理方法 |
paddlets.autots | 自动超参寻优 |
paddlets.transform | 数据转换模块,提供数据预处理和特征工程相关能力 |
paddlets.models.forecasting | 时序模型模块,基于飞桨深度学习框架PaddlePaddle的时序预测模型 |
paddlets.models.representation | 时序模型模块,基于飞桨深度学习框架PaddlePaddle的时序表征模型 |
paddlets.models.anomaly | 时序模型模块,基于飞桨深度学习框架PaddlePaddle的时序异常检测模型 |
paddlets.pipeline | 建模任务流模块,支持特征工程、模型训练、模型评估的任务流实现 |
paddlets.metrics | 效果评估模块,提供多维度模型评估能力 |
paddlets.analysis | 数据分析模块,提供高效的时序特色数据分析能力 |
paddlets.ensemble | 时序集成学习模块,基于模型集成提供时序预测能力 |
paddlets.utils | 工具集模块,提供回测等基础功能 |
安装
前置条件
- python >= 3.7
- paddlepaddle >= 2.3
pip 安装 paddlets 命令如下:
pip install paddlets
更多安装方式请参考:环境安装
文档
文章出处登录后可见!
已经登录?立即刷新