Prévision basée sur une forêt (Exploration des modèles spatio-temporels)

Résumé

Prévoit les futures valeurs de chaque emplacement d’un cube spatio-temporel en utilisant une adaptation de l’algorithme de forêt aléatoire de Leo Breiman. Le modèle de régression basé sur une forêt est entraîné à l’aide de fenêtres horaires définies à chaque emplacement du cube spatio-temporel.

En savoir plus sur le fonctionnement de l’outil Prévision basée sur une forêt

Illustration

La population est prévue à l’aide d’un modèle de forêt
Prévoit les futures valeurs d’un cube spatio-temporel.

Utilisation

  • Cet outil accepte les fichiers netCDF créés par les outils Créer un cube spatio-temporel en agrégeant des points, Créer un cube spatio-temporel à partir d’entités définies et Créer un cube spatio-temporel à partir d’une couche raster multidimensionnelle.

  • Comparé aux outils de prévision dans le jeu d’outils Prévision de séries chronologiques, cet outil est plus complexe, mais émet moins d’hypothèses concernant les données. Il est recommandé de l’utiliser pour les séries chronologiques aux tendances et formes compliquées plus difficiles à modéliser via de simples fonctions mathématiques ou lorsque les hypothèses d’autres méthodes ne donnent pas satisfaction.

  • Il est possible de comparer et fusionner plusieurs cubes spatio-temporels prévus à l’aide de l’outil Evaluate Forecasts by Location (Évaluer les prévisions par emplacement). Cela vous permet de créer plusieurs cubes de prévision à l’aide de différents outils et paramètres de prévision ; l’outil identifie la meilleure prévision pour chaque emplacement à l’aide de la racine carrée de l’erreur quadratique moyenne (RMSE) ou racine carrée de l’erreur quadratique moyenne de validation.

  • Pour chaque emplacement dans Input Space Time Cube (Cube spatio-temporel en entrée), l’outil génère deux modèles dont l’objectif est différent.

    • Modèle de prévision : ce modèle permet de prévoir et estimer les valeurs futures d’un cube spatio-temporel en générant une forêt qui utilise les valeurs d’une série chronologique et en utilisant cette forêt pour prévoir les valeurs des phases futures. L’adéquation du modèle de prévision aux valeurs du cube spatio-temporel est mesurée grâce à la valeur EQM prévue.
    • Modèle de validation : ce modèle permet de valider le modèle de prévision et de tester son degré de précision en matière de prévision des valeurs futures. Si un nombre supérieur à 0 est spécifié pour le paramètre Number of Time Steps to Exclude for Validation (Nombre de phases à exclure de la validation), ce modèle est généré à l’aide des phases qui n’ont pas été exclues et permet de prévoir les valeurs des phases exclues. Cela permet d’apprécier la façon dont la forêt prévoit les valeurs futures. L’adéquation des valeurs prévues par rapport aux valeurs exclues est mesurée grâce à la valeur EQM de validation.

    En savoir plus sur le modèle de prévision, le modèle de validation et les statistiques EQM

  • Les Output Features (Entités en sortie) sont ajoutées à la fenêtre Contents (Contenu) avec un rendu dépendant de l’intervalle temporel final prévu.

  • Cet outil génère des messages de géotraitement et des diagrammes contextuels pour aider à comprendre et visualiser les résultats prévus. Les messages renferment des informations sur la structure du cube spatio-temporel ainsi que des statistiques synthétiques sur les valeurs EQM et la durée des saisons. Cliquer sur une entité à l’aide de l’outil de navigation Explore (Explorer) affiche un diagramme linéaire dans la fenêtre contextuelle montrant les valeurs du cube spatio-temporel, les valeurs ajustées de la forêt, les valeurs prévues et les bornes de confiance pour cet emplacement.

  • 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 reste d’intervalles temporels pour estimer le modèle de validation. Toutefois, si le nombre d’intervalles temporels exclus est insuffisant, la racine carrée de l’erreur quadratique moyenne de validation est estimée à l’aide d’une petite quantité de données et peut être trompeuse. Il est recommandé d’exclure autant d’intervalles temporels que possible tout en en conservant un nombre suffisant pour estimer le modèle de validation. Il est également recommandé de conserver au moins autant d’intervalles temporels pour la validation que pour la précision, si votre cube spatio-temporel dispose d’un nombre suffisant d’intervalles temporels pour le permettre.

Syntaxe

ForestBasedForecast(in_cube, analysis_variable, output_features, {output_cube}, {number_of_time_steps_to_forecast}, {time_window}, {number_for_validation}, {number_of_trees}, {minimum_leaf_size}, {maximum_depth}, {sample_size}, {forecast_approach})
ParamètreExplicationType de données
in_cube

Cube netCDF contenant la variable à prévoir pour les futurs intervalles temporels. Ce fichier doit comporter l’extension .nc et avoir été créé à l’aide des 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) ou Create Space Time Cube From Multidimensional Raster Layer (Créer un cube spatio-temporel à partir d’une couche raster multidimensionnelle).

File
analysis_variable

Variable numérique du fichier netCDF à prévoir pour les futurs intervalles temporels.

String
output_features

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 couche affiche la prévision de la phase finale et contient les diagrammes contextuels affichant les séries chronologiques, les prévisions et les bornes de confiance à 90 % de chaque emplacement.

Feature Class
output_cube
(Facultatif)

Nouveau cube spatio-temporel (fichier .nc) contenant les valeurs du cube spatio-temporel en entrée auxquelles ont été ajoutés les intervalles temporels prévus. L’outil Visualize Space Time Cube in 3D (Visualiser le cube spatio-temporel en 3D) permet d’examiner simultanément toutes les valeurs observées et prévues.

File
number_of_time_steps_to_forecast
(Facultatif)

Entier positif spécifiant le nombre d'intervalles temporels à prévoir. Cette valeur ne doit pas être supérieure à 50 pour cent du nombre total d’intervalles temporels dans le cube spatio-temporel en entrée. La valeur par défaut est un intervalle temporel.

Long
time_window
(Facultatif)

Nombre de phases précédentes à utiliser lors de l’entraînement de la forêt. Si vos données affichent la saisonnalité (cycles répétés), indiquez le nombre de phases correspondant à une saison pour ce paramètre. Cette valeur ne peut pas être supérieure à un tiers du nombre de phases présentes dans le cube spatio-temporel en entrée. Si elle est vide, une fenêtre horaire est estimée pour chaque emplacement à l’aide d’une fonction de densité spectrale.

Long
number_for_validation
(Facultatif)

Nombre d’intervalles temporels à la fin de chaque série chronologique à exclure de la validation. La valeur par défaut est de 10 pour cent (arrondie à la valeur inférieure) du nombre d’intervalles temporels et cette valeur ne peut pas être supérieure à 25 pour cent du nombre d’intervalles temporels. Spécifiez la valeur 0 pour ne pas exclure d’intervalles temporels.

Long
number_of_trees
(Facultatif)

Nombre d'arbres à créer dans le modèle de forêt. Un grand nombre d’arbres produit habituellement des résultats plus précis, mais le calcul du modèle prend davantage de temps. Par défaut, le nombre d’arbres est égal à 100 ; la valeur doit être égale au moins à 1 et ne peut dépasser 1 000.

Long
minimum_leaf_size
(Facultatif)

Nombre minimal d’observations requises pour conserver une feuille (le nœud terminal d’un arbre sans fractionnements supplémentaires). Si le volume des données est très important, plus ce nombre augmente, plus le temps d’exécution de l’outil diminue.

Long
maximum_depth
(Facultatif)

Nombre maximum de fractionnements pouvant être effectués pour un arbre. Si la profondeur maximum est élevée, le nombre de fractionnements créés augmente, ce qui accroît les risques de sur-ajustement du modèle. En l’absence de valeur, une valeur est déterminée par l’outil selon le nombre d’arbres créés par le modèle et la taille de la fenêtre Phase.

Long
sample_size
(Facultatif)

Le pourcentage de données d’entraînement permettra d’ajuster le modèle de prévision. Les données d’entraînement se composent de variables explicatives associées et de variables dépendantes générées à l’aide des fenêtres horaires. Les autres données d’entraînement permettent d’optimiser les paramètres du modèle de prévision. La valeur par défaut est de 100 pour cent.

En savoir plus sur l’entraînement du modèle de prévision de la forêt

Long
forecast_approach
(Facultatif)

Spécifie le mode de représentation des variables explicatives et dépendantes lors de l’entraînement du modèle de forêt à chaque emplacement.

Pour entraîner la forêt à utiliser dans le cadre de la prévision, il est nécessaire de créer des jeux de variables explicatives et de variables dépendantes à l’aide des fenêtres horaires. Utilisez ce paramètre pour spécifier si ces variables sont décomposées de façon linéaire et si les variables dépendantes sont représentées par leur valeur brute ou la valeur résiduelle d’un modèle de régression linéaire. Ce modèle de régression linéaire utilise toutes les phases d’une fenêtre horaire comme variables explicatives et la phase suivante comme variable dépendante. La valeur résiduelle est calculée en soustrayant la valeur prévue basée sur la régression linéaire de la valeur brute de la variable dépendante.

En savoir plus sur le paramètre Approche de la prévision

  • VALUE Les valeurs de la fenêtre horaire ne sont pas décomposées et la variable dépendante sera représentée par sa valeur brute.
  • VALUE_DETREND Les valeurs de la fenêtre horaire sont décomposées de façon linéaire et la variable dépendante sera représentée par sa valeur décomposée. Il s’agit de l’option par défaut.
  • RESIDUAL Les valeurs de la fenêtre horaire ne sont pas décomposées et la variable dépendante sera représentée par la valeur résiduelle d’un modèle de régression linéaire utilisant les valeurs de la fenêtre horaire comme variables explicatives.
  • RESIDUAL_DETREND Les valeurs de la fenêtre horaire sont décomposées de façon linéaire et la variable dépendante sera représentée par la valeur résiduelle d’un modèle de régression linéaire utilisant les valeurs décomposées de la fenêtre horaire comme variables explicatives.
String

Exemple de code

Exemple 1 d’utilisation de l’outil ForestBasedForecast (fenêtre Python)

Le script de fenêtre Python ci-dessous illustre l’utilisation de l’outil ForestBasedForecast :

import arcpy
arcpy.env.workspace = "C:/Analysis"
# Forecast four time steps using a random forest with detrending.
arcpy.stpm.ForestBasedForecast("CarTheft.nc","Cars_NONE_ZEROS", 
                               "Analysis.gdb/Forecasts", "outForecastCube.nc"
                               4, 3, 5, 100, "", "", 100, "VALUE_DETREND")
Exemple 2 d’utilisation de l’outil ForestBasedForecast (script autonome)

Le script de fenêtre Python ci-dessous illustre l’utilisation de l’outil ForestBasedForecast pour prévoir le nombre prévu de vols de voiture :

# Forecast car thefts using a random forest.
# Import system modules.
import arcpy
# Set property to overwrite existing output, by default.
arcpy.env.overwriteOutput = True
# Set workspace.
workspace = r"C:\Analysis"
arcpy.env.workspace = workspace
# Forecast three time steps using a random forest based on change.
arcpy.stpm.ForestBasedForecast("CarTheft.nc","Cars_NONE_ZEROS", 
                               "Analysis.gdb/Forecasts", "outForecastCube.nc"
                               4, 3, 5, 100, "", "", 100, "CHANGE")
# Create a feature class visualizing the forecasts.
arcpy.stpm.VisualizeSpaceTimeCube3D("outForecastCube.nc", "Cars_NONE_ZEROS", 
                                    "VALUE", "Analysis.gdb/ForecastsFC")

Informations de licence

  • Basic: Oui
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes