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
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ètre | Explication | Type 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
| String |
Exemple de code
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")
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")
Environnements
Informations de licence
- Basic: Oui
- Standard: Oui
- Advanced: Oui
Rubriques connexes
- Présentation de la boîte à outils d'exploration des modèles spatio-temporels
- Présentation du jeu d’outils Prévision de séries chronologiques
- Prévision par ajustement des courbes
- Prévision par lissage exponentiel
- Évaluer les prévisions par emplacement
- Fonctionnement de l’outil Prévision basée sur une forêt
- Classification et régression basées sur une forêt
- Fonctionnement de l’outil Classification et régression basées sur une forêt
- Rechercher un outil de géotraitement
Vous avez un commentaire à formuler concernant cette rubrique ?