Étiquette | Explication | Type de données |
Données de série chronologique en entrée | Le cube netCDF contient la variable utilisée pour prévoir les intervalles temporels futurs. Le fichier doit comporter l’extension de fichier .nc et doit avoir été créé avec l’outil Create Space Time Cube By Aggregating Points (Créer un cube spatio-temporel en agrégeant des points), Create Space Time Cube From Defined Locations (Créer un cube spatio-temporel à partir d’emplacements définis) ou Create Space Time Cube From Multidimensional Raster Layer (Créer un cube spatio-temporel à partir d’une couche raster multidimensionnelle). | File |
Modèle en sortie | Emplacement du dossier en sortie qui va contenir le modèle entraîné. Le modèle entraîné est enregistré comme fichier de paquetage Deep Learning (.dlpk). | Folder |
Variable d'analyse | Variable numérique du jeu de données prévue pour les futurs intervalles temporels. | String |
Sequence Length (Longueur de séquence) | Nombre d’intervalles temporels précédents utilisés lors de l’entraînement du modèle. Si les données sont saisonnières (cycles répétitifs), indiquez la durée correspondant à une saison.
| Long |
Variables d’entraînement explicatives (Facultatif) | Variables indépendantes des données utilisées pour entraîner le modèle. Cochez la case Categorical (Catégoriel) des variables qui représentent des classes ou des catégories. | Value Table |
Nombre maximal d’époques (Facultatif) | Nombre maximal d’époques pour lequel le modèle sera entraîné. La valeur par défaut est 20. | Long |
Number Of Time Steps to Exclude for Validation (Nombre d’intervalles temporels à exclure pour la validation) (Facultatif) | Nombre d’intervalles temporels exclus pour la validation. Par exemple, si une valeur de 14 est spécifiée, les 14 dernières lignes du bloc de données sont utilisées comme données de validation. La valeur par défaut est de 10 % du nombre total d’intervalles temporels. Idéalement, elle ne doit pas être inférieure à 5 % du nombre total d’intervalles temporels dans le cube temporel en entrée
| Long |
Type de modèle (Facultatif) | Spécifie l’architecture de modèle utilisée pour entraîner le modèle.
| String |
Taille de lot (Facultatif) | Nombre d’échantillons traités simultanément. La valeur par défaut est de 64. Selon le processeur graphique de l’ordinateur, ce nombre peut devenir 8, 16, 32, 64, etc. | Long |
Arguments du modèle (Facultatif) | Arguments de modèle supplémentaires utilisés en fonction de chaque modèle. Ces arguments peuvent être utilisés pour ajuster la complexité et la taille du modèle. Pour comprendre l’architecture du modèle, les arguments de modèle pris en charge et leur valeur par défaut, reportez-vous à la rubrique Fonctionnement des modèles de prévision de séries chronologiques. | Value Table |
Stop training when model no longer improves (Terminer l’entraînement lorsque le modèle ne s’améliore plus) (Facultatif) | Indique si l’entraînement du modèle s’arrête lorsque la perte de validation n’enregistre pas d’amélioration après cinq époques consécutives.
| Boolean |
Classe d’entités en sortie (Facultatif) | Classe d’entités en sortie de tous les emplacements du cube spatio-temporel avec les valeurs prévues stockées sous forme de champs. La classe d’entités est créée à l’aide de la prévision du modèle entraîné sur le jeu de données de validation. La sortie affiche la prévision de l’intervalle temporel final et contient des diagrammes contextuels représentant la prévision de séries chronologiques sur le jeu de validation. | Feature Class |
Cube en sortie (Facultatif) | Cube spatio-temporel en sortie (fichier .nc) contenant les valeurs du cube spatio-temporel en entrée avec les valeurs prévues pour les intervalles temporels de validation correspondants remplacés. | File |
Multi-Step (Plusieurs étapes) (Facultatif) | Indique si une approche en une ou plusieurs étapes est utilisée pour entraîner le modèle de prévision de séries chronologiques multivariées.
| Boolean |
Synthèse
Entraîne un modèle de prévision de séries chronologiques basé sur le Deep Learning avec des données chronologiques issues d’un cube spatio-temporel. Le modèle entraîné peut être utilisé pour prévoir les valeurs de chaque emplacement d’un cube spatio-temporel à l’aide de l’outil Forecast Using Time Series Model (Prévision avec un modèle de série chronologique).
Les données des séries chronologiques peuvent suivre diverses tendances et avoir plusieurs niveaux de saisonnalité. Les modèles traditionnels de prévision des séries chronologiques basés sur des approches statistiques fonctionnent différemment selon les tendances et modèles de saisonnalité des données. Les modèles de Deep Learning sont parfaitement capables d’apprendre et peuvent fournir des résultats pour différents types de séries chronologiques, à condition que le volume de données d’entraînement soit suffisant.
Cet outil entraîne les modèles de prévision des séries chronologiques à l’aide de divers modèles basés sur le Deep Learning, tels que Fully Connected Network (FCN), Long Short-Term Memory (LSTM), InceptionTime, ResNet et ResCNN. Ces modèles prennent en charge les séries chronologiques multivariées, dans lesquelles le modèle apprend à prévoir les valeurs futures à partir de plusieurs variables dépendantes. Le modèle entraîné est enregistré sous forme de fichier de paquetage Deep Learning (.dlpk) et peut être utilisé pour prévoir les valeurs futures à l’aide de l’outil Forecast Using Time Series Model (Prévision avec un modèle de série chronologique).
En savoir plus sur le fonctionnement des modèles de prévision de séries chronologiques
Utilisation
Vous devez installer la structure de Deep Learning correcte pour Python dans ArcGIS AllSource.
Découvrez comment installer des structures de Deep Learning pour ArcGIS
Cet outil accepte les données netCDF créées par les outils Create Space Time Cube By Aggregating Points (Créer un cube spatio-temporel en agrégeant des points), Create Space Time Cube From Defined Locations (Créer un cube spatio-temporel à partir d’emplacements définis), Create Space Time Cube from Multidimensional Raster Layer (Créer un cube spatio-temporel à partir d’une couche raster multidimensionnelle) et Subset Space Time Cube (Subdiviser un cube spatio-temporel).
Par rapport aux autres outils de prévision du jeu d’outils de prévision des séries chronologiques, cet outil utilise des modèles de prévision des séries chronologiques basés sur le Deep Learning. Les modèles de Deep Learning sont parfaitement capables d’apprendre et conviennent aux séries chronologiques qui suivent des tendances complexes et sont difficiles à modéliser avec de simples fonctions mathématiques. Toutefois, ils requièrent un volume de données d’entraînement plus important pour apprendre de telles tendances complexes et utilisent davantage de ressources de calcul pour l’entraînement et l’inférence. Un processeur graphique est recommandé pour utiliser cet outil.
-
Pour exécuter cet outil avec un processeur graphique, définissez l’environnement Processor Type (Type de processeur) sur GPU (GPU). Si vous disposez de plusieurs GPU, indiquez l’ID de GPU.
Cet outil permet de modéliser les séries aussi bien univariées que multivariées. Si le cube spatio-temporel possède d’autres variables associées à la variable en cours de prévision, ces variables peuvent être incluses comme variables explicatives pour améliorer la prévision.
La prévision de séries chronologiques univariées est estimée exclusivement à l’aide de la méthode en une étape, qui est également la méthode par défaut.
La prévision de séries chronologiques multivariées peut être utilisée avec deux approches différentes ; la prévision en une étape et la prévision en plusieurs étapes. Le paramètre Multi-Step (Plusieurs étapes) devient actif si plusieurs variables d’entraînement explicatives sont sélectionnées.
Lors de la méthode en une étape, le modèle peut être mis à jour avec de nouvelles données à chaque intervalle temporel, ce qui est particulièrement adapté aux applications en temps réel. Toutefois, le modèle étant mis à jour à chaque intervalle temporel, les erreurs de prévision peuvent s’accumuler dans le temps et les prévisions à long termes, devenir moins précises. Si une prévision en plusieurs étapes est utilisée, le modèle prévoit plusieurs points de données futurs au-delà de l’intervalle temporel actuel. Par exemple, si l’objectif est de prévoir les 20 prochains intervalles temporels, le modèle génère immédiatement 20 prévisions consécutives. La prévision en plusieurs étapes permet au modèle de prendre en compte une vue plus vaste des séries chronologiques et de capturer ainsi des tendances et modèles à long terme de manière plus efficace. Le modèle prévoyant plusieurs intervalles temporels d’avance, le potentiel d’accumulation des erreurs est réduit et les prévisions à long terme sont donc plus précises. Toutefois, comme le modèle prévoit immédiatement plusieurs intervalles temporels, il risque de ne pas être aussi agile pour s’adapter aux modifications de données en temps réel. Le choix entre ces deux approches dépend des exigences spécifiques et des caractéristiques de la tâche de prévision des séries chronologiques.
Le paramètre Sequence Length (Longueur de séquence) a un impact sur le résultat d’un modèle de prévision de séries chronologiques et peut être défini comme le nombre d’intervalles temporels passés à utiliser en entrée pour prévoir le prochain intervalle temporel. Si la longueur de séquence est n, le modèle utilise les n derniers intervalles temporels en entrée pour prévoir le prochain intervalle temporel. La valeur de ce paramètre ne peut pas être supérieure au nombre total d’intervalles temporels en entrée qui restent après l’exclusion des intervalles temporels de validation.
Plutôt que de créer un modèle de prévision indépendant à chaque emplacement du cube spatio-temporel, cet outil entraîne un unique modèle de prévision global qui utilise les données d’entraînement de chaque emplacement. Ce modèle global est utilisé pour prévoir les valeurs futures à chacun des emplacements à l’aide de l’outil Forecast Using Time Series Model (Prévision avec un modèle de série chronologique).
La valeur du paramètre Output Features (Entités en sortie) est ajoutée à la fenêtre Contents (Contenu) avec un rendu en fonction du dernier intervalle temporel prévu.
Des exemples de cas d’utilisation de cet outil incluent l’entraînement d’un modèle pour prévoir la demande de produits de détail en fonction des données de vente historiques, l’entraînement d’un modèle pour prévoir la propagation des maladies ou l’entraînement d’un modèle pour prévoir la génération d’énergie éolienne en fonction des données météorologiques et de production historiques.
Il est important de décider du nombre de pas de temps à exclure pour la validation. Plus le nombre d’intervalles temporels exclus est élevé, moins il en reste pour estimer l’EQM de validation. Si trop peu d’intervalles temporels sont exclus, l’estimation de l’EQM de validation utilise une petite quantité de données et peut être trompeuse. Excluez autant d’intervalles temporels que possible tout en en conservant un nombre suffisant pour estimer l’EQM de validation. Conservez au moins autant d’intervalles temporels pour la validation que le nombre d’intervalles temporels que vous avez l’intention de prévoir si le cube spatio-temporel a suffisamment d’intervalles temporels pour le permettre.
Pour en savoir plus sur les exigences relatives à l’exécution de cet outil ainsi que sur les problèmes que vous pouvez rencontrer, consultez la FAQ sur le Deep Learning.
Paramètres
arcpy.geoai.TrainTimeSeriesForecastingModel(in_cube, out_model, analysis_variable, sequence_length, {explanatory_variables}, {max_epochs}, {validation_timesteps}, {model_type}, {batch_size}, {arguments}, {early_stopping}, {out_features}, {out_cube}, {multistep})
Nom | Explication | Type de données |
in_cube | Le cube netCDF contient la variable utilisée pour prévoir les intervalles temporels futurs. Le fichier doit comporter l’extension de fichier .nc et doit avoir été créé avec l’outil Create Space Time Cube By Aggregating Points (Créer un cube spatio-temporel en agrégeant des points), Create Space Time Cube From Defined Locations (Créer un cube spatio-temporel à partir d’emplacements définis) ou Create Space Time Cube From Multidimensional Raster Layer (Créer un cube spatio-temporel à partir d’une couche raster multidimensionnelle). | File |
out_model | Emplacement du dossier en sortie qui va contenir le modèle entraîné. Le modèle entraîné est enregistré comme fichier de paquetage Deep Learning (.dlpk). | Folder |
analysis_variable | Variable numérique du jeu de données prévue pour les futurs intervalles temporels. | String |
sequence_length | Nombre d’intervalles temporels précédents utilisés lors de l’entraînement du modèle. Si les données sont saisonnières (cycles répétitifs), indiquez la durée correspondant à une saison.
| Long |
explanatory_variables [explanatory_variables,...] (Facultatif) | Variables indépendantes des données utilisées pour entraîner le modèle. Utilisez une valeur True après les variables qui représentent des classes ou des catégories. | Value Table |
max_epochs (Facultatif) | Nombre maximal d’époques pour lequel le modèle sera entraîné. La valeur par défaut est 20. | Long |
validation_timesteps (Facultatif) | Nombre d’intervalles temporels exclus pour la validation. Par exemple, si une valeur de 14 est spécifiée, les 14 dernières lignes du bloc de données sont utilisées comme données de validation. La valeur par défaut est de 10 % du nombre total d’intervalles temporels. Idéalement, elle ne doit pas être inférieure à 5 % du nombre total d’intervalles temporels dans le cube temporel en entrée
| Long |
model_type (Facultatif) | Spécifie l’architecture de modèle utilisée pour entraîner le modèle.
| String |
batch_size (Facultatif) | Nombre d’échantillons traités simultanément. La valeur par défaut est de 64. Selon le processeur graphique de l’ordinateur, ce nombre peut devenir 8, 16, 32, 64, etc. | Long |
arguments [arguments,...] (Facultatif) | Arguments de modèle supplémentaires utilisés en fonction de chaque modèle. Ces arguments peuvent être utilisés pour ajuster la complexité et la taille du modèle. Pour comprendre l’architecture du modèle, les arguments de modèle pris en charge et leur valeur par défaut, reportez-vous à la rubrique Fonctionnement des modèles de prévision de séries chronologiques. | Value Table |
early_stopping (Facultatif) | Indique si l’entraînement du modèle s’arrête lorsque la perte de validation n’enregistre pas d’amélioration après cinq époques consécutives.
| Boolean |
out_features (Facultatif) | Classe d’entités en sortie de tous les emplacements du cube spatio-temporel avec les valeurs prévues stockées sous forme de champs. La classe d’entités est créée à l’aide de la prévision du modèle entraîné sur le jeu de données de validation. La sortie affiche la prévision de l’intervalle temporel final et contient des diagrammes contextuels représentant la prévision de séries chronologiques sur le jeu de validation. | Feature Class |
out_cube (Facultatif) | Cube spatio-temporel en sortie (fichier .nc) contenant les valeurs du cube spatio-temporel en entrée avec les valeurs prévues pour les intervalles temporels de validation correspondants remplacés. | File |
multistep (Facultatif) | Indique si une approche en une ou plusieurs étapes est utilisée pour entraîner le modèle de prévision de séries chronologiques multivariées.
| Boolean |
Exemple de code
Cet exemple montre comment utiliser la fonction TrainTimeSeriesForecastingModel.
# Name: TrainTimeSeriesForecastingModel.py
# Description: Train a time series model on space-time cube data with
# different AI models.
# Import system modules
import arcpy
import os
# Set local variables
datapath = "path_to_data_for_forecasting"
out_path = "path_to_gdb_for_forecasting"
model_path = os.path.join(out_path, "model")
in_cube = os.path.join(datapath, "test_data")
out_features = os.path.join(out_path, "forecasted_feature.gdb", "forecasted")
# Run TrainTimeSeriesForecastingModel
arcpy.geoai.TrainTimeSeriesForecastingModel(
in_cube,
model_path,
"CONSUMPTION",
12,
None,
20,
2,
"InceptionTime",
64,
None,
True,
out_features
)
Environnements
Vous avez un commentaire à formuler concernant cette rubrique ?