StatsForecast は、 numba
を使用して高パフォーマンス向けに最適化された自動ARIMA
、 ETS
、 CES
、およびTheta
モデリングなど、広く使用されている一変量時系列予測モデルのコレクションを提供します。また、ベンチマーク モデルの大規模なバッテリーも含まれています。
StatsForecast
は次のコマンドでインストールできます。
pip install statsforecast
または
conda install - c conda - forge statsforecast
詳細な手順については、インストール ガイドを参照してください。
最小限の例
from statsforecast import StatsForecast
from statsforecast . models import AutoARIMA
from statsforecast . utils import AirPassengersDF
df = AirPassengersDF
sf = StatsForecast (
models = [ AutoARIMA ( season_length = 12 )],
freq = 'ME' ,
)
sf . fit ( df )
sf . predict ( h = 12 , level = [ 95 ])
このクイックガイドを読んで始めてください。
ベスト プラクティスについては、このエンドツーエンドのチュートリアルに従ってください。
現在の統計モデルの Python 代替手段は遅く、不正確で、拡張性も高くありません。そこで、実稼働環境での予測やベンチマークとして使用できるライブラリを作成しました。 StatsForecast
には、数百万の時系列を効率的に適合できる広範なモデルが含まれています。
AutoARIMA
、 AutoETS
、 AutoCES
、 MSTL
、およびTheta
の最速かつ最も正確な実装。.fit
および.predict
。 exogenous variables
とprediction intervals
の組み込み。pmdarima
よりも 20 倍高速です。R
よりも 1.5 倍高速です。Prophet
よりも 500 倍高速です。statsmodels
よりも 4 倍高速です。numba
を通じて高性能マシンコードにコンパイルされます。何か足りない?問題を開いていただくか、ご連絡ください
エンドツーエンドのウォークスルー: 複数の時系列に対するモデルのトレーニング、評価、選択
?異常検出: サンプル内予測間隔を使用して時系列の異常を検出します。
??相互検証: 堅牢なモデルのパフォーマンス評価。
❄️ 複数の季節性: MSTL を使用して複数の季節性を持つデータを予測する方法。
?需要ピークの予測: 毎日のピークを検出し、電気料金を削減するための電力負荷予測。
?断続的な需要: ゼロ以外の観測値がほとんどない予測シリーズ。
⁉️ 外因性リグレッサー: 天気や価格など
自動予測ツールは、最適なパラメーターを検索し、時系列のグループに対して可能な限り最適なモデルを選択します。これらのツールは、一変量時系列の大規模なコレクションに役立ちます。
モデル | ポイント予想 | 確率的予測 | 適合値のサンプル | 確率的近似値 | 外因性の特徴 |
---|---|---|---|---|---|
AutoARIMA | ✅ | ✅ | ✅ | ✅ | ✅ |
オートETS | ✅ | ✅ | ✅ | ✅ | |
AutoCES | ✅ | ✅ | ✅ | ✅ | |
オートシータ | ✅ | ✅ | ✅ | ✅ | |
AutoMFLES | ✅ | ✅ | ✅ | ✅ | ✅ |
AutoTBATS | ✅ | ✅ | ✅ | ✅ |
これらのモデルは、時系列における既存の自己相関を利用します。
モデル | ポイント予想 | 確率的予測 | 適合値のサンプル | 確率的近似値 | 外因性の特徴 |
---|---|---|---|---|---|
有馬 | ✅ | ✅ | ✅ | ✅ | ✅ |
自動回帰 | ✅ | ✅ | ✅ | ✅ | ✅ |
さまざまな手法を使用して 2 つのシータ ラインを非季節化時系列に適合させ、2 つのシータ ラインを取得して結合し、最終的な予測を生成します。
モデル | ポイント予想 | 確率的予測 | 適合値のサンプル | 確率的近似値 | 外因性の特徴 |
---|---|---|---|---|---|
シータ | ✅ | ✅ | ✅ | ✅ | |
最適化されたシータ | ✅ | ✅ | ✅ | ✅ | |
ダイナミックシータ | ✅ | ✅ | ✅ | ✅ | |
動的に最適化されたシータ | ✅ | ✅ | ✅ | ✅ |
複数の明確な季節性を持つ信号に適しています。電気やログなどの低頻度データに役立ちます。
モデル | ポイント予想 | 確率的予測 | 適合値のサンプル | 確率的近似値 | 外因性の特徴 |
---|---|---|---|---|---|
MSTL | ✅ | ✅ | ✅ | ✅ | トレンド予測担当者がサポートする場合 |
MFLES | ✅ | ✅ | ✅ | ✅ | ✅ |
TBAT | ✅ | ✅ | ✅ | ✅ |
時間の経過とともに非定常な変動を示す時系列のモデリングに適しています。 ARCH モデルは GARCH の特殊なケースです。
モデル | ポイント予想 | 確率的予測 | 適合値のサンプル | 確率的近似値 | 外因性の特徴 |
---|---|---|---|---|---|
ガーチ | ✅ | ✅ | ✅ | ✅ | |
アーチ | ✅ | ✅ | ✅ | ✅ |
ベースラインを確立するための古典的なモデル。
モデル | ポイント予想 | 確率的予測 | 適合値のサンプル | 確率的近似値 | 外因性の特徴 |
---|---|---|---|---|---|
歴史的平均 | ✅ | ✅ | ✅ | ✅ | |
ナイーブ | ✅ | ✅ | ✅ | ✅ | |
ランダムウォークウィズドリフト | ✅ | ✅ | ✅ | ✅ | |
季節のナイーブ | ✅ | ✅ | ✅ | ✅ | |
ウィンドウ平均 | ✅ | ||||
季節ウィンドウ平均 | ✅ |
過去のすべての観測値の加重平均を使用します。重みは過去に向かって指数関数的に減少します。明確な傾向や季節性のあるデータに適しています。 SimpleExponential
ファミリは、明確な傾向や季節性のないデータに使用します。
モデル | ポイント予想 | 確率的予測 | 適合値のサンプル | 確率的近似値 | 外因性の特徴 |
---|---|---|---|---|---|
単純な指数平滑化 | ✅ | ||||
シンプル指数平滑化最適化 | ✅ | ||||
季節指数平滑化 | ✅ | ||||
季節指数平滑化最適化 | ✅ | ||||
ホルト | ✅ | ✅ | ✅ | ✅ | |
ホルトウィンターズ | ✅ | ✅ | ✅ | ✅ |
ゼロ以外の観測値がほとんどない系列に適しています
モデル | ポイント予想 | 確率的予測 | 適合値のサンプル | 確率的近似値 | 外因性の特徴 |
---|---|---|---|---|---|
アディダス | ✅ | ✅ | ✅ | ||
クロストンクラシック | ✅ | ✅ | ✅ | ||
Croston最適化 | ✅ | ✅ | ✅ | ||
クロストンSBA | ✅ | ✅ | ✅ | ||
イマパ | ✅ | ✅ | ✅ | ||
TSB | ✅ | ✅ | ✅ |
CONTRIBUTING.md を参照してください。
@misc { garza2022statsforecast ,
author = { Azul Garza, Max Mergenthaler Canseco, Cristian Challú, Kin G. Olivares } ,
title = { {StatsForecast}: Lightning fast forecasting with statistical and econometric models } ,
year = { 2022 } ,
howpublished = { {PyCon} Salt Lake City, Utah, US 2022 } ,
url = { https://github.com/Nixtla/statsforecast }
}
これらの素晴らしい人々に感謝します (絵文字キー):
アズール ? | ホセ・モラレス ? | スガト・レイ | ジェフ・タックス ? | ダークキスト ? | アレック・ヘリヤル | デイブ・ハーシュフェルド |
マーゲンターラー | 金武 | ヤスライト90 ? | 活動中 ? | フィリップ・ギリセン | セバスチャン・ハーン ? | ワン・ハン |
ベン・ジェフリー ? | ベリアフスキー | マリアナ・メンチェロ・ガルシア | ニキル・グプタ ? | JD ? | ジョシュ・アッテンバーグ | ジェロンピーターボス |
ジェローン・ファン・デル・ドンクト | ロイムプログ | ネルソン・カルデナス・ボラーニョ | カイル・シュマウス | アクマル・ソリエフ | ニック・トー | ケビン・コー |
黄宜本 | アンドリュー・グロス | タニシカア | マヌエル・カルソラリ |
このプロジェクトは、全員参加者の仕様に従っています。あらゆる種類の貢献を歓迎します!