unit8co/darts

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

Darts – Pythonによる時系列予測と異常検知

概要 – Dartsは、時系列データを簡単に扱うためのオープンソースのPythonライブラリです。古典的な統計手法(ARIMA、指数平滑法)から最新のディープラーニングアーキテクチャ(N-BEATS、TCN、Transformerベースのモデル)まで、幅広いモデルに対して統一されたscikit-learnスタイルのAPI(fit、predict)を提供します。また、異常検知、バックテスト、確率的予測、データ前処理のためのツールもバンドルされています。

重要性 – 時系列分析は、多くの業界(金融、エネルギー、小売、IoT)における中核的な問題です。Dartsは、異なるモデルファミリーやデータ形式間の切り替えの手間をなくし、モデルのプロトタイピング、比較、デプロイを迅速に行えるようにします。さらに、多系列トレーニング、共変量、階層的リコンシリエーション、コンフォーマル予測などの高度な機能もサポートしています。


クイックスタート(READMEより)

import pandas as pd
from darts import TimeSeries
from darts.models import ExponentialSmoothing

# CSVをpandas DataFrameに読み込む
df = pd.read_csv("AirPassengers.csv")
# Darts TimeSeriesに変換(時間列と値列を指定)
series = TimeSeries.from_dataframe(df, "Month", "#Passengers")

# トレーニング/バリデーション分割
train, val = series[:-36], series[-36:]

# 単純な指数平滑モデルを適合
model = ExponentialSmoothing()
model.fit(train)
# バリデーション期間の確率的予測(1000サンプル)
forecast = model.predict(len(val), num_samples=1000)

# 結果をプロット
import matplotlib.pyplot as plt
series.plot()
forecast.plot(label="forecast", low_quantile=0.05, high_quantile=0.95)
plt.legend()
plt.show()

主な機能(READMEに記載)

カテゴリ ハイライト
予測モデル 古典的(ARIMA、VARIMA、指数平滑法)、ベースライン(Naïve、移動平均)、ディープラーニング(N-BEATS、TCN、Transformer、RNN)
多変量サポート TimeSeries は複数の列を保持できます。多くのモデルが多変量入力をサポート
グローバルモデルのトレーニング ニューラルネットワークモデルは、数十から数千の系列を同時にトレーニング可能
確率的出力 サンプルベースの予測またはパラメトリック分布。信頼区間に有用
共変量 過去観測、未来既知、静的外部データをモデルに供給可能
異常検知 darts.ad モジュールは、PyODスコアラー、K-means、分位数検出器、および任意の予測モデルをラップして異常スコアを生成
バックテストと評価 ローリングウィンドウ予測のためのユーティリティ、メトリクス一式(R²、MASEなど)
説明可能性 互換性のあるモデル向けのSHAPベースの説明
階層的リコンシリエーション 予測に階層的な一貫性を強制するトランスフォーマー
統合 PyTorch Lightningバックエンド、オプションのMLflowトラッキング、Dockerイメージ、Condaパッケージ、およびpandas、polars、numpy、pyarrow、xarrayとの互換性
データユーティリティ 組み込みデータセット、スケーリング、欠損値処理、差分、Box-Coxなど

典型的なユースケース

  • ビジネス需要予測 – 多くの製品レベル系列でグローバルモデルをトレーニングし、価格やプロモーションの共変量を組み込み、確率的な需要区間を取得。
  • エネルギー負荷/価格予測 – 過去の気象データ(過去共変量)と既知のカレンダー効果(未来共変量)を使用して、電力消費量を予測。
  • センサーストリームの異常検知 – darts.ad で予測モデルやPyOD検出器をラップして、分布外の動作をフラグ。
  • 階層的プランニング – SKUレベルで予測し、カテゴリや総売上レベルに調整。
  • 研究と教育 – 統一APIによる新しい時系列アーキテクチャの迅速なプロトタイピング。

インストール

# 推奨: 新しいPython 3.11以上の環境(conda/venv/virtualenv)
pip install darts   # すべてのコア依存関係を取得

GPU/TPUサポートやスリムなインストールについては、リポジトリ内の完全な INSTALL.md を参照してください。


さらに学ぶには


TL;DR

Dartsは、時系列予測と異常検知のための本番環境対応のPythonicなツールボックスです。古典的な統計手法と最新のディープラーニングモデルを単一のscikit-learn風インターフェースで統合し、多変量および多系列トレーニングをサポートし、確率的出力を提供し、人気のMLツール(PyTorch Lightning、MLflow)と統合します。複数のライブラリを切り替えることなく、時系列データから信頼できる予測を生成する必要がある人に最適です。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト