Étiquette | Explication | Type de données |
Données de série chronologique en entrée | Cube netCDF contenant la variable à utiliser afin de prévoir pour les intervalles temporels futurs. Ce fichier doit comporter l’extension .nc et avoir été créé à l’aide de l’outil Créer un cube spatio-temporel en agrégeant des points, Créer un cube spatio-temporel à partir d’emplacements définis ou Créer un cube spatio-temporel à partir d’une couche raster multidimensionnelle. | File |
Modèle en sortie | Emplacement du dossier en sortie qui stocke le modèle entraîné. Le modèle entraîné est enregistré en tant que fichier de paquetage de Deep Learning (.dlpk). | Folder |
Variable d’analyse | La variable numérique dans le jeu de données à prévoir pour les intervalles temporels futurs. | String |
Longueur de séquence | Le nombre d’intervalles temporels précédents allant être utilisés lors de l’entraînement du modèle. Si les données contiennent la saisonnalité (cycles répétés), indiquez la longueur correspondant à une saison. La valeur du paramètre ne peut pas être supérieure au nombre total d’intervalles temporels en entrée restants après l’exclusion des intervalles temporels de validation. | Long |
Variables d’entraînement explicatives (Facultatif) | Les variables indépendantes des données à utiliser pour entraîner le modèle. Cochez la case 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 lesquelles le modèle est entraîné. La valeur par défaut est 20. | Long |
Nombre d’intervalles temporels à exclure pour la validation (Facultatif) | Le nombre d’intervalles temporels allant être exclus pour la validation. Si la valeur 14 est spécifiée, les 14 dernières lignes du bloc de données sont utilisées en tant que données de validation. Cette valeur ne doit pas être supérieure à 25 pour cent du nombre d’intervalles temporels en entrée. La valeur par défaut est 2. | Long |
Type de modèle (Facultatif) | Spécifie l’architecture de modèle à utiliser pour entraîner le modèle.
Le type de modèle par défaut est InceptionTime. En savoir plus sur le fonctionnement des modèles de prévision de séries chronologiques | String |
Taille de lot (Facultatif) | Le nombre d’échantillons d’entraînement qui seront traités en une fois. La valeur par défaut est 64. Selon l’unité de traitement graphique de l’ordinateur, cette valeur peut être redéfinie sur 8, 16, 32, 64, et ainsi de suite. | Long |
Arguments du modèle (Facultatif) | Les arguments supplémentaires du modèle allant être utilisés spécifiques à chaque modèle. Ces arguments peuvent être utilisés pour ajuster la complexité et la taille du modèle. Reportez-vous à la section Fonctionnement des modèles de prévision de séries chronologiques pour comprendre l’architecture de modèle ainsi que les arguments de modèle pris en charge et leurs valeurs par défaut. | Value Table |
Arrêter l’entraînement lorsque le modèle ne s’améliore plus (Facultatif) | Indique si l’entraînement du modèle doit ou non s’arrêter lorsque la perte de validation n’enregistre aucune 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 sera 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 illustrant la prévision de séries chronologiques sur le jeu de validation. | Feature Class |
Synthèse
Entraîne un modèle de prévision de séries chronologiques de Deep Learning à l’aide de données de série 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 Prévoir à l’aide d’un modèle de série chronologique.
Les données de série chronologique peuvent suivre diverses tendances et présenter plusieurs niveaux de saisonnalité. Les modèles de prévision de séries chronologiques traditionnels basés sur des approches statistiques agissent différemment selon la tendance et les modèles de saisonnalité dans les données. Les modèles basés sur le Deep Learning ont une capacité élevée à apprendre et peuvent produire des résultats dans différents types de série chronologique, à condition que les données d’entraînement existent en quantités suffisantes.
Cet outil entraîne les modèles de prévision de séries chronologiques à l’aide de divers modèles basés sur le Deep Learning, tels que les modèles FCN (Fully Connected Network), LSTM (Long Short-Term Memory), InceptionTime, ResNet et ResCNN. Ces modèles prennent en charge les séries chronologiques multivariées, dans lesquelles le modèle apprend à partir de plusieurs variables dépendantes du temps à prévoir les valeurs futures. Le modèle entraîné est enregistré en tant que paquetage de Deep Learning (.dlpk) et peut être utilisé pour prévoir les valeurs futures avec l’outil Prévoir à l’aide d’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 correspondant à Python dans AllSource.
Découvrir comment installer des structures de Deep Learning pour ArcGIS
Cet outil accepte les données netCDF créées par les outils Créer un cube spatio-temporel en agrégeant des points, Créer un cube spatio-temporel à partir d’emplacements définis, Créer un cube spatio-temporel à partir d’une couche raster multidimensionnelle et Subdiviser un cube spatio-temporel.
Par rapport aux autres outils de prévision du jeu d’outils Prévision de séries chronologiques, cet outil utilise des modèles de prévision de séries chronologiques basés sur le Deep Learning. Les modèles de Deep Learning sont parfaitement capables d’apprendre et sont adaptés aux séries chronologiques qui suivent des tendances complexes et sont difficiles à modéliser avec des fonctions mathématiques simples. Toutefois, ils nécessitent un plus gros volume de données d’entraînement pour apprendre ces tendances complexes et utilisent davantage de ressources de calcul pour l’entraînement et l’inférence. Une unité de traitement graphique est recommandée pour utiliser cet outil.
-
Pour exécuter cet outil avec une unité de traitement graphique, définissez le paramètre d’environnement Type de processeur sur GPU. Si vous avez plusieurs processeurs, spécifiez plutôt le paramètre d’environnement ID de GPU.
Cet outil peut être utilisé pour modéliser des séries chronologiques univariées et multivariées. Si le cube spatio-temporel comporte d’autres variables liées à la variable en cours de prévision, ces variables peuvent être incluses en tant que variables explicatives pour améliorer la prévision.
Au lieu de créer un modèle de prévision indépendant à chaque emplacement du cube spatio-temporel, cet outil entraîne un modèle de prévision global unique utilisant les données d’entraînement de chaque emplacement. Ce modèle global est utilisé pour prévoir les valeurs futures à chaque emplacement avec l’outil Prévoir à l’aide d’un modèle de série chronologique.
La valeur du paramètre Entités en sortie est ajoutée à la fenêtre Contenu avec un rendu dépendant de l’intervalle temporel final prévu.
Cet outil permet, par exemple, d’entraîner un modèle pour prévoir la demande en produits de détail selon les données commerciales historiques, d’entraîner un modèle pour prévoir la propagation des maladies ou de prévoir la production d’énergie éolienne selon les données de production et météorologiques historiques.
Il est important de bien déterminer le nombre d’intervalles temporels à exclure de la validation. Plus le nombre d’intervalles temporels exclus est important, moins il y a d’intervalles temporels 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. Retenez 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 comporte 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})
Nom | Explication | Type de données |
in_cube | Cube netCDF contenant la variable à utiliser afin de prévoir pour les intervalles temporels futurs. Ce fichier doit comporter l’extension .nc et avoir été créé à l’aide de l’outil Créer un cube spatio-temporel en agrégeant des points, Créer un cube spatio-temporel à partir d’emplacements définis ou Créer un cube spatio-temporel à partir d’une couche raster multidimensionnelle. | File |
out_model | Emplacement du dossier en sortie qui stocke le modèle entraîné. Le modèle entraîné est enregistré en tant que fichier de paquetage de Deep Learning (.dlpk). | Folder |
analysis_variable | La variable numérique dans le jeu de données à prévoir pour les intervalles temporels futurs. | String |
sequence_length | Le nombre d’intervalles temporels précédents allant être utilisés lors de l’entraînement du modèle. Si les données contiennent la saisonnalité (cycles répétés), indiquez la longueur correspondant à une saison. La valeur du paramètre ne peut pas être supérieure au nombre total d’intervalles temporels en entrée restants après l’exclusion des intervalles temporels de validation. | Long |
explanatory_variables [explanatory_variables,...] (Facultatif) | Les variables indépendantes des données à utiliser pour entraîner le modèle. Utilisez une valeur True après des variables qui représentent des classes ou des catégories. | Value Table |
max_epochs (Facultatif) | Nombre maximal d’époques pour lesquelles le modèle est entraîné. La valeur par défaut est 20. | Long |
validation_timesteps (Facultatif) | Le nombre d’intervalles temporels allant être exclus pour la validation. Si la valeur 14 est spécifiée, les 14 dernières lignes du bloc de données sont utilisées en tant que données de validation. Cette valeur ne doit pas être supérieure à 25 pour cent du nombre d’intervalles temporels en entrée. La valeur par défaut est 2. | Long |
model_type (Facultatif) | Spécifie l’architecture de modèle à utiliser pour entraîner le modèle.
Le type de modèle par défaut est InceptionTime. | String |
batch_size (Facultatif) | Le nombre d’échantillons d’entraînement qui seront traités en une fois. La valeur par défaut est 64. Selon l’unité de traitement graphique de l’ordinateur, cette valeur peut être redéfinie sur 8, 16, 32, 64, et ainsi de suite. | Long |
arguments [arguments,...] (Facultatif) |
Les arguments supplémentaires du modèle allant être utilisés spécifiques à chaque modèle. Ces arguments peuvent être utilisés pour ajuster la complexité et la taille du modèle. Reportez-vous à la section Fonctionnement des modèles de prévision de séries chronologiques pour comprendre l’architecture de modèle ainsi que les arguments de modèle pris en charge et leurs valeurs par défaut. | Value Table |
early_stopping (Facultatif) | Indique si l’entraînement du modèle doit ou non s’arrêter lorsque la perte de validation n’enregistre aucune 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 sera 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 illustrant la prévision de séries chronologiques sur le jeu de validation. | Feature Class |
Exemple de code
Cet exemple illustre l’utilisation de 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 ?