メインコンテンツへスキップ
ToolPotion

N-BEATS

N-BEATSは、単変量時系列予測のためのニューラルネットワークベースのモデルです。ServiceNow Researchによって開発され、再現性のある実験結果を実現するためにN-BEATSアルゴリズムを実装しています。このリポジトリは、高度な時系列分析のためのPyTorch実装、データセットローダー、および実験設定を提供します。

URLを訪問

説明

N-BEATSは、単変量時系列予測に特化して設計された洗練されたニューラルネットワークベースのモデルです。ServiceNow Researchからの重要な貢献であり、その起源はElement AIに遡ります。このプロジェクトは、N-BEATSアルゴリズムの堅牢な実装を提供し、研究者や実務家が関連論文で提示された実験結果を再現できるようにすることを目的としています。

リポジトリは、容易なアクセスと利用を促進するように構造化されています。N-BEATSモデルのコアとなるPyTorch実装は、`models/nbeats.py`ファイル内にあります。データ処理のため、論文で使用された様々なデータセットのデータセットローダーは、`datasets/*.py`ディレクトリに配置されています。`experiments/*`ディレクトリには、論文の結果を再現するために必要な実験設定が格納されており、それぞれにトレーニングと予測ロジック用の`main.py`スクリプトと、汎用モデルおよび解釈可能なモデルの両方の設定ファイルが含まれています。

結果とパフォーマンスメトリックは、`notebooks`ディレクトリに文書化されており、各実験には専用のノートブックがあります。これらのノートブックは、最終スコアと異なるアンサンブルサイズの有効性に関する洞察を示しており、小さいアンサンブルでも大きいアンサンブルと同等の結果が得られることが多いことに注意してください。この実装は、オリジナルのN-BEATSの「軽量版」として説明されており、一般的に同じ最先端レベルのパフォーマンスを提供し、結果には時折ばらつきが見られます。

このプロジェクトはDockerによる再現性を重視しており、NVIDIA GPUの有無にかかわらずユーザーが利用できるようにしています。`Makefile`には、Dockerイメージの初期化、データセットのダウンロード、テストの実行、実験のビルド、CPUおよびGPUでの予測の実行のためのコマンドが用意されています。環境設定、Dockerイメージのビルド、データセットのダウンロード、およびリピート数やルックバック期間などのカスタマイズ可能なパラメータを使用した実験の実行に関する詳細な手順が提供されています。実験の出力(ログ、損失、スナップショット、最終予測など)は、`storage/experiments`ディレクトリに保存されます。

N-BEATSは、時系列分析、予測、および予測モデリングに関わるデータサイエンティスト、機械学習エンジニア、および研究者にとって特に価値があります。その解釈可能性と最先端のパフォーマンスは、様々な分野の単変量データにおける将来のトレンドを理解し予測するための強力なツールとなります。

N-BEATSのハイライト

  • 単変量時系列予測のためのニューラルネットワークベースのモデル

  • N-BEATSアルゴリズムの実装

  • 再現性のある実験結果

  • 利用可能なPyTorch実装

  • 様々なデータセットのためのデータセットローダー

  • 汎用モデルおよび解釈可能なモデルの設定ファイル

  • 環境設定のためのDockerサポート

  • CPUおよびGPU実行サポート

  • 再現のための詳細な手順

  • 実験ログ、損失、予測のためのストレージ

N-BEATSをはじめる

  1. 環境設定: Dockerがインストールされていることを確認し、環境に合わせてMakefileを調整してください。

  2. Dockerイメージのビルド: `make init`を実行してDockerイメージをビルドします。

  3. データセットのダウンロード: `make dataset`を実行して必要なデータセットをダウンロードします。

  4. 実験のビルド: `make build config=<path_to_config.gin>`を使用して実験設定を生成します。

  5. 実験の実行: CPUの場合は`make run command=<path_to_command>`、GPUの場合は`make run command=<path_to_command> gpu=<gpu-id>`を使用します。

  6. 実験統計の取得: `make notebook port=<port>`を介してJupyterLabノートブックを実行し、パフォーマンスを分析します。

N-BEATSの使用例

  • 時系列予測
  • 予測分析
  • 需要予測
  • 金融予測
  • リソース計画

N-BEATSのFAQ

N-BEATS のレビュー

読み込み中...

N-BEATS に似た人気のAIツール

GluonTSは、PyTorchおよびMXNet上に構築されたディープラーニングモデルを活用する、確率的時系列モデリングのためのPythonパッケージです。予測を確率分布の形式で生成し、予測区間を含めることで、複雑な時系列分析に適した正確な予測を可能にします。

AIモデルとLLM

AI モデル

PatchTSTは、Transformerベースのモデルの公式実装であり、長期時系列予測に特化しています。時系列データをパッチに分割し、それらを独立して処理することで、効率的かつ効果的な予測を実現します。本プロジェクトは、教師あり学習と自己教師あり学習の両方のアプローチに対応したコードを提供し、堅牢な予測能力を可能にします。

AIモデルとLLM

AI モデル

LSTNetは、時系列予測のために設計されたディープラーニングモデルです。リカレントニューラルネットワークと畳み込みニューラルネットワークを組み合わせることで、長期および短期の時間的パターンを効果的にモデル化します。このモデルは、特に複雑な時系列データに有用です。

AIモデルとLLM

AI モデル

FEDformerは、効率的な長期時系列予測のために設計されたFrequency Enhanced Decomposed Transformerです。系列長に対して線形計算量で動作し、多変量および単変量データセットの両方で予測誤差を大幅に削減することで、最先端の手法を上回ります。このモデルはオープンソースコードとして利用可能です。

AIモデルとLLM

AI モデル

Autoformerは、分解トランスフォーマーと自己相関メカニズムを活用した長期時系列予測のためのAIモデルです。様々なベンチマークで最先端の結果を達成し、実用的なアプリケーションにおける予測精度の向上に向けたシリーズ間の接続に関する新しいアプローチを提供します。

AIモデルとLLM

AI モデル

LTSF-Linearは、「Are Transformers Effective for Time Series Forecasting?」の公式PyTorch実装です。長期時系列予測タスクにおいてトランスフォーマーを上回る性能を発揮する線形モデルファミリー(Linear, DLinear, NLinear)を導入し、高い効率性と解釈可能性を提供します。

AIモデルとLLM

Prophetは、RとPythonで実装されたオープンソースの予測手順です。高速で調整可能なモデルにより、時系列予測を自動化します。データサイエンティストやアナリスト向けに設計されており、季節性、変化する成長率、特別なイベントを処理し、不確実性区間を伴う正確な予測を提供します。

予測と予測分析

このリポジトリは、「Simple and Deep Graph Convolutional Networks」(GCNII)モデルのPyTorch実装を提供します。ベンチマークグラフデータセットでの半教師あり学習および全教師あり学習の結果を再現するためのコードと、PyTorch Geometricの参照実装が含まれています。

AIモデルとLLM