wwrechard/pydlm
A python library for Bayesian time series modeling
解決的問題
PyDLM 是一個專為時間序列建模設計的 Python 庫。它提供一個靈活的框架,透過將時間序列分解為趨勢、季節性等不同成分,來分析與預測時間序列資料,讓使用者能處理複雜模式並提升預測準確度。
工作原理
該庫基於貝葉斯動態線性模型(DLM)。它採用狀態空間方法,將時間序列建模為多個成分的總和。使用者可以透過組合以下不同成分來建構模型:
- 線性/二次趨勢:用於捕捉資料的整體移動方向。
- 季節性:用於捕捉特定週期(例如週或年)內的重複模式。
- 動態回歸:使用
dynamic成分來納入隨時間變化的外部預測變數(特徵)。
模型定義後,透過前向濾波與後向平滑對資料進行擬合,產生濾波結果、未來一天的預測與信賴區間。
適用對象
需要在 Python 中進行貝葉斯時間序列分析、分解與預測的資料科學家與分析師,特別是尋找 R 套件 bsts 替代方案的人。
主要亮點
- 靈活的模型建構:透過
+運算子將趨勢、季節性、動態回歸等成分組合起來建構模型。 - 支援 Pandas 輸入:
dlm與dynamic類別支援 Pandas 輸入。 - 快速推論:針對快速模型擬合與推論進行優化。
- 全面的可視化:內建繪圖函數,可視化擬合結果、預測與各個成分。
相關
- 專案
- 專案
- 專案
- 專案
- 專案