Aller au contenu principal
ToolPotion

N-BEATS

N-BEATS est un modèle basé sur un réseau neuronal pour la prévision de séries temporelles univariées. Développé par ServiceNow Research, il implémente l'algorithme N-BEATS pour des résultats expérimentaux reproductibles. Ce dépôt fournit l'implémentation PyTorch, les chargeurs de jeux de données et les configurations d'expériences pour l'analyse avancée des séries temporelles.

Visiter l'URL

Description

N-BEATS est un modèle sophistiqué basé sur un réseau neuronal, spécifiquement conçu pour la prévision de séries temporelles univariées. Il représente une contribution significative de ServiceNow Research, ses origines remontant à Element AI. Le projet vise à fournir une implémentation robuste de l'algorithme N-BEATS, permettant aux chercheurs et aux praticiens de reproduire les résultats expérimentaux présentés dans l'article associé.

Le dépôt est structuré pour faciliter l'accès et l'utilisation. L'implémentation PyTorch principale du modèle N-BEATS se trouve dans le fichier `models/nbeats.py`. Pour la gestion des données, les chargeurs de jeux de données pour divers jeux de données utilisés dans l'article sont situés dans le répertoire `datasets/*.py`. Le répertoire `experiments/*` abrite les configurations expérimentales nécessaires pour reproduire les résultats de l'article, chacune contenant un script `main.py` pour la logique d'entraînement et de prévision, ainsi que des fichiers de configuration pour les variantes de modèles génériques et interprétables.

Les résultats et les métriques de performance sont documentés dans le répertoire `notebooks`, avec un notebook dédié pour chaque expérience. Ces notebooks présentent les scores finaux et des informations sur l'efficacité de différentes tailles d'ensembles, notant que les ensembles plus petits donnent souvent des résultats comparables aux plus grands. Cette implémentation est décrite comme une version 'plus légère' du N-BEATS original, offrant des performances généralement au même niveau de pointe, avec des variations occasionnelles dans les résultats.

Le projet met l'accent sur la reproductibilité grâce à Docker, le rendant accessible aux utilisateurs avec ou sans GPU NVIDIA. Le `Makefile` fournit des commandes pour initialiser l'image Docker, télécharger les jeux de données, exécuter les tests, construire les expériences et exécuter les prévisions sur CPU et GPU. Des instructions détaillées sont fournies pour configurer l'environnement, construire l'image Docker, télécharger les jeux de données et exécuter les expériences avec des paramètres personnalisables tels que les répétitions et les périodes de recul. La sortie des expériences, y compris les journaux, les pertes, les instantanés et les prévisions finales, est stockée dans le répertoire `storage/experiments`.

N-BEATS est particulièrement précieux pour les data scientists, les ingénieurs en apprentissage automatique et les chercheurs impliqués dans l'analyse des séries temporelles, la prévision et la modélisation prédictive. Sa nature interprétable et ses performances de pointe en font un outil puissant pour comprendre et prédire les tendances futures dans les données univariées à travers divers domaines.

Points forts de N-BEATS

  • Modèle basé sur un réseau neuronal pour la prévision de séries temporelles univariées

  • Implémentation de l'algorithme N-BEATS

  • Résultats expérimentaux reproductibles

  • Implémentation PyTorch disponible

  • Chargeurs de jeux de données pour divers jeux de données

  • Fichiers de configuration pour les modèles génériques et interprétables

  • Support Docker pour la configuration de l'environnement

  • Support d'exécution CPU et GPU

  • Instructions détaillées pour la reproduction

  • Stockage pour les journaux d'expériences, les pertes et les prévisions

Premiers pas avec N-BEATS

  1. Configurer l'environnement : Assurez-vous que Docker est installé et ajustez le Makefile pour votre environnement.

  2. Construire l'image Docker : Exécutez `make init` pour construire l'image Docker.

  3. Télécharger les jeux de données : Exécutez `make dataset` pour télécharger les jeux de données requis.

  4. Construire une expérience : Utilisez `make build config=<chemin_vers_config.gin>` pour générer les configurations d'expérience.

  5. Exécuter les expériences : Utilisez `make run command=<chemin_vers_commande>` pour CPU ou `make run command=<chemin_vers_commande> gpu=<id_gpu>` pour GPU.

  6. Obtenir les statistiques d'expérience : Exécutez un notebook JupyterLab via `make notebook port=<port>` pour analyser les performances.

Cas d'utilisation de N-BEATS

  • Prévision de séries temporelles
  • Analyse prédictive
  • Prévision de la demande
  • Prévision financière
  • Planification des ressources

FAQ de N-BEATS

Avis sur N-BEATS

Chargement...

Outils IA populaires comme N-BEATS

GluonTS est un package Python pour la modélisation probabiliste de séries temporelles, exploitant des modèles d'apprentissage profond basés sur PyTorch et MXNet. Il facilite des…

Modèles d'IA et LLM

Modèles IA

PatchTST est une implémentation officielle d'un modèle basé sur Transformer pour la prévision de séries temporelles à long terme. Il segmente les séries temporelles en "patches"…

Modèles d'IA et LLM

Modèles IA

LSTNet est un modèle d'apprentissage profond conçu pour la prévision de séries temporelles. Il modélise efficacement les tendances temporelles à long et court terme en combinant…

Modèles d'IA et LLM

Modèles IA

FEDformer est un Transformer décomposé à fréquence améliorée, conçu pour une prévision de séries temporelles à long terme efficace. Il atteint une complexité linéaire par rapport…

Modèles d'IA et LLM

Modèles IA

Autoformer est un modèle d'IA pour la prévision de séries temporelles à long terme, exploitant des transformeurs de décomposition et des mécanismes d'auto-corrélation. Il obtient…

Modèles d'IA et LLM

Modèles IA

LTSF-Linear est une implémentation PyTorch officielle pour "Are Transformers Effective for Time Series Forecasting?". Elle introduit une famille de modèles linéaires (Linear,…

Modèles d'IA et LLM

Prophet est une procédure de prévision open-source implémentée en R et Python. Il automatise la prévision de séries temporelles avec des modèles rapides et ajustables. Conçu pour…

Prévision et analyse prédictive

Ce dépôt fournit une implémentation PyTorch du modèle "Simple and Deep Graph Convolutional Networks" (GCNII). Il comprend du code pour reproduire les résultats semi-supervisés et…

Modèles d'IA et LLM