LSC2204 / PaddleTS

PaddleTS - PaddlePaddle-based Time Series Modeling in Python

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

简体中文 | English



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,支持端到端真实场景解决方案

关于 PaddleTS

具体来说,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

更多安装方式请参考:环境安装

文档

社区

欢迎通过扫描下面的微信二维码加入PaddleTS开源社区,与PaddleTS维护者及社区成员随时进行技术讨论:

代码发布与贡献

我们非常感谢每一位代码贡献者。如果您发现任何Bug,请随时通过提交issue的方式告知我们。

如果您计划贡献涉及新功能、工具类函数、或者扩展PaddleTS的核心组件相关的代码,请您在提交代码之前先提交issue,并针对此次提交的功能与我们进行讨论。

如果在没有讨论的情况下直接发起的PR请求,可能会导致此次PR请求被拒绝。原因是对于您提交的PR涉及的模块,我们也许希望该模块朝着另一个不同的方向发展。

许可证

PaddleTS 使用Apache风格的许可证, 可参考 LICENSE 文件.

About

PaddleTS - PaddlePaddle-based Time Series Modeling in Python

License:Apache License 2.0


Languages

Language:Python 100.0%