wwrechard/pydlm

A python library for Bayesian time series modeling

解决的问题

PyDLM 是一个专为时间序列建模设计的 Python 库。它通过将时间序列分解为趋势、季节性等不同成分,提供了一个灵活的框架,用于分析和预测时间序列数据,使用户能够处理复杂模式并提高预测准确性。

工作原理

该库基于贝叶斯动态线性模型(DLM)。它采用状态空间方法,将时间序列建模为多个成分的和。用户可以通过组合以下不同成分来构建模型:

  • 线性/二次趋势:用于捕捉数据的整体运动方向。
  • 季节性:用于捕捉特定周期(如周或年)内的重复模式。
  • 动态回归:使用 dynamic 成分来纳入随时间变化的外部预测变量(特征)。

模型定义后,通过前向滤波和后向平滑对数据进行拟合,生成滤波结果、未来一天的预测以及置信区间。

适用人群

需要在 Python 中进行贝叶斯时间序列分析、分解和预测的数据科学家和分析师,特别是寻找 R 包 bsts 替代方案的人。

主要亮点

  • 灵活的模型构建:通过 + 操作符将趋势、季节性、动态回归等成分组合起来构建模型。
  • 支持 Pandas 输入dlmdynamic 类支持 Pandas 输入。
  • 快速推断:针对快速模型拟合和推断进行了优化。
  • 全面的可视化:内置绘图函数,可可视化拟合结果、预测值和各个成分。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目