unit8co/darts

A python library for user-friendly forecasting and anomaly detection on time series.

What it solves

Darts 是一個旨在簡化時間序列預測與異常檢測的 Python 函式庫。它為廣泛的模型提供統一的介面,從傳統的統計方法到先進的深度學習架構,從而降低了實作與比較不同預測策略的複雜度。

How it works

該函式庫使用與 scikit-learn 類似的一致性 fit()predict() API,讓使用者可以輕鬆地更換模型。它支援單變量與多變量時間序列,並能處理外部數據(過去與未來的共變量)以及靜態共變量。深度學習模型是使用 PyTorch Lightning 實作的,可實現 GPU/TPU 加速與自定義訓練迴圈。對於異常檢測,Darts 提供專用的評分器與檢測器,或者允許使用者將現有的預測模型封裝起來,以識別預測值與實際值之間的差異。

Who it’s for

它適用於需要在包含多個時間序列的潛在大型數據集中進行時間序列分析、預測與異常檢測的數據科學家與 ML 工程師。

Highlights

  • Diverse Model Suite: 包括從 ARIMA 和 Exponential Smoothing 到 N-BEATS 和其他深度神經網路。
  • Multivariate & Global Models: 支援多變量序列與在多個不同時間序列上訓練單一模型的的能力。
  • Probabilistic Forecasting: 提供對置信區間、參數分佈或分位數估計的支持。
  • Comprehensive Tooling: 包括用於回測、數據處理(縮放、填補缺失值)以及層級預測一致性調整的內建工具。
  • Anomaly Detection: 整合了用於評分與檢測異常的工具,包括與 PyOD 的相容性。
  • Backend Compatibility: 與 pandas, polars, numpy, pyarrow, 和 xarray 無縫縫合。