darts: 一個用於時間序列預測與異常檢測的統一 Python 函式庫
darts: 一個用於時間序列預測與異常檢測的統一 Python 函式庫
它解決了什麼問題
Darts 是一個旨在簡化時間序列預測與異常檢測的 Python 函式庫。它為廣泛的模型提供了一個統一的介面,從經典的統計方法到現代的深度學習架構,讓使用者能夠輕鬆地在不同的預測方法之間進行切換、組合與評估。
運作原理
Darts 使用類似 scikit-learn 的 API,透過 fit() 與 predict() 函式來維持不同模型類型之間的一致性。它支援單變量與多變量時間序列,也支援整合過去觀測到且未來已知的外部數據(covariates)。深度學習模型是使用 PyTorch Lightning 實作的,能夠實現 GPU/TPU 加速與自定義訓練迴圈。該函式庫還包含用於數據處理、回測以及層級調節(hierarchical reconciliation)的工具,以確保預測結果在數據層級的不同層級之間保持一致。
對象是誰
它適用於需要對包含多個序列的潛在大型數據集進行時間序列分析、預測與異常檢測的數據科學家與 ML 工程師。
重點特色
- 統一 API: 為統計模型(如 ARIMA)與深度神經網路(如 N-BEATS)提供一致的介面。
- 多變量與全域模型: 支援多個隨時間變化的維度,並具備在多個時間序列上訓練單一模型的能力。
- 機率性預測: 能夠生成置信區間並估計參數分佈或分位數。
- 整合式異常檢測: 專門用於異常評分器與檢測器的模組 (
darts.ad),包含對 PyOD 模型的封裝。 - 外部數據支援: 支援過去觀測到、未來已知以及靜態的 covariates。
- 可擴展性: 能夠插入任何與 scikit-learn 相容的模型進行預測。
- 可解釋性: 支援使用 SHAP 值來解釋預測模型。
Sources
- undefinedunit8co/darts