À propos du projet

PyTorch Forecasting est un package open source sous licence MIT destiné à la prévision de séries temporelles à l'aide d'architectures d'apprentissage profond de pointe. Il est construit sur PyTorch et PyTorch Lightning, de sorte que l'entraînement peut s'exécuter sur CPU, sur un seul GPU ou sur plusieurs GPU avec journalisation automatique. Le projet cible à la fois les applications réelles et la recherche. Son objectif déclaré est une API de haut niveau offrant une flexibilité maximale aux professionnels et des valeurs par défaut raisonnables aux débutants. Composants clés décrits dans le README : - Une classe de jeu de données de séries temporelles qui abstrait les transformations de variables, les valeurs manquantes, le sous-échantillonnage aléatoire et les longueurs d'historique multiples. - Une classe de modèle de base fournissant l'entraînement de base des modèles de séries temporelles, la journalisation TensorBoard et des visualisations génériques telles que les valeurs réelles vs les prédictions et les graphiques de dépendance. - Plusieurs architectures de réseaux de neurones améliorées pour le déploiement en conditions réelles, avec des capacités d'interprétation intégrées. - Des métriques de séries temporelles multi-horizons. - Le réglage des hyperparamètres avec optuna. Les modèles disponibles incluent Temporal Fusion Transformer, N-BEATS, N-HiTS, DeepAR et PatchTST, ainsi que des baselines simples comme LSTM, GRU, un décodeur MLP et un prédicteur naïf de dernière valeur. La documentation fournit une comparaison des modèles. Un tutoriel explique comment implémenter de nouveaux modèles et des composants personnalisés. L'installation se fait via pip (`pip install pytorch-forecasting`) ou conda depuis conda-forge. Sous Windows, PyTorch doit être installé au préalable. Une extension optionnelle installe la perte quantile multivariée MQF2. L'utilisation repose sur la conversion de DataFrames pandas en un TimeSeriesDataSet, ce qui nécessite des colonnes pour la cible, un identifiant de série temporelle et un index temporel strictement croissant. Le jeu de données définit les longueurs d'encodage et de prédiction ainsi que les covariables statiques, connues et inconnues. Des jeux de données de validation peuvent être créés à partir du jeu de données d'entraînement afin de réutiliser la normalisation. Les jeux de données sont convertis en dataloaders, et les modèles sont entraînés avec le Trainer de PyTorch Lightning, y compris l'arrêt précoce, la surveillance du taux d'apprentissage et la recherche du taux d'apprentissage via le Tuner de Lightning. Le README renvoie vers la documentation, les tutoriels, les notes de version, une communauté Discord et un article de Towards Data Science. Le projet est décrit comme un projet sponsorisé par GC.OS.