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

Synthèse

Prévoit les 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

Illustration de l’outil Prévision basée sur une forêt
Prévoir des séries temporelles à l’aide de l’outil Prévision basée sur une forêt.

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 inclut 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 É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 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.
    • Validation model (Modèle de validation) : ce modèle permet de valider le modèle de prévision et de tester la précision de ses prévisions des valeurs. 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 inclues et permet de prévoir les valeurs des phases exclues. Cela vous permet d’examiner la précision du modèle pour la prévision des valeurs. 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 valeurs du paramètre Output Features (Entités en sortie) sont ajoutées à la fenêtre Contents (Contenu) avec un rendu dépendant de la phase finale prévue.

  • 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.

  • Le paramètre Outlier Option (Option de point aberrant) peut être utilisé pour détecter des points aberrants statistiquement significatifs dans les valeurs de série chronologique à chaque emplacement.

    En savoir plus sur la détection des points aberrants de série chronologique

  • Si vous choisissez l’option Identify outliers (Identifier les points aberrants) du paramètre Outlier Option (Option de point aberrant), il est recommandé d’indiquer une valeur pour le paramètre Time Step Window (Fenêtre Phase) plutôt que de laisser le paramètre vide et d’estimer une autre fenêtre de phase à chaque emplacement. Pour chaque emplacement, le modèle de forêt utilise les phases dans la première fenêtre de phase pour entraîner le modèle de forêt et les points aberrants sont détectés uniquement pour les phases restantes. Si des emplacements différents excluent des nombres de phases différents pour l’entraînement, les résumés statistiques, tels que la moyenne, et les nombres minimum et maximum de points aberrants par phase ou par emplacement, peuvent être trompeurs.

  • Il est important de bien déterminer le nombre d’intervalles temporels à exclure de la validation. Plus le nombre de pas de temps exclus est élevé, moins il reste de pas de temps 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 de phases 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.

Paramètres

ÉtiquetteExplicationType de données
Cube spatio-temporel en entrée

Cube netCDF contenant la variable à prévoir pour les futures phases. 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
Variable d'analyse

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

String
Entités en sortie

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
Cube spatio-temporel en sortie
(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 (Nombre d'intervalles temporels à prévoir)
(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
Fenêtre Phase
(Facultatif)

Nombre de phases précédentes à utiliser lors de l’entraînement du modèle. Si vos données affichent la saisonnalité (cycles répétés), indiquez le nombre de phases correspondant à une saison. 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 aucune valeur n’est indiquée, une fenêtre horaire est estimée pour chaque emplacement à l’aide d’une fonction de densité spectrale.

En savoir plus sur la saisonnalité et le choix d’une fenêtre horaire

Long
Number of Time Steps to Exclude for Validation (Nombre d'intervalles temporels à exclure pour la 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
Nombre d'arbres
(Facultatif)

Nombre d'arbres à créer dans le modèle de forêt. En augmentant le nombre d'arbres dans le modèle, vous obtiendrez généralement une prédiction plus précise mais le temps de calcul sera plus long. 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
Taille minimale des feuilles
(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
Profondeur d'arbre maximum
(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 identifiée par l’outil selon le nombre d’arbres créés par le modèle et la taille de la fenêtre de phase.

Long
Pourcentage d’entraînement disponible par arbre
(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.

Long
Approche de la prévision
(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 le modèle de 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.

  • Créer un modèle selon une valeurLes valeurs de la fenêtre horaire ne sont pas décomposées et la variable dépendante est représentée par sa valeur brute.
  • Créer un modèle selon une valeur après la décompositionLes valeurs de la fenêtre horaire sont décomposées de façon linéaire et la variable dépendante est représentée par sa valeur décomposée. Il s’agit de l’option par défaut.
  • Créer un modèle selon une valeur résiduelleLes valeurs de la fenêtre horaire ne sont pas décomposées et la variable dépendante est 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.
  • Créer un modèle selon une valeur résiduelle après la décompositionLes valeurs de la fenêtre horaire sont décomposées de façon linéaire et la variable dépendante est 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
Outlier Option (Option de point aberrant)
(Facultatif)

Indique si les points aberrants de série chronologique statistiquement significatifs sont identifiés.

  • AucunLes points aberrants ne seront pas identifiés. Il s’agit de l’option par défaut.
  • Identify outliers (Identifier les points aberrants)Les points aberrants seront identifiés via le test Generalized ESD (ESD généralisé).
String
Niveau de confiance
(Facultatif)

Spécifie le niveau de confiance du test des points aberrants de série chronologique

  • 90 %Le niveau de confiance du test est de 90 %. Il s’agit de l’option par défaut.
  • 95 %Le niveau de confiance du test est de 95 %.
  • 99%Le niveau de confiance du test est de 99 %.
String
Maximum Number of Outliers (Nombre maximal de points aberrants)

Nombre maximal de phases pouvant être déclarées comme des points aberrants pour chaque emplacement. La valeur par défaut correspond à 5 % (arrondi à la valeur inférieure) du nombre de phases du cube spatio-temporel en entrée (une valeur minimum de 1 est toujours utilisée). Cette valeur ne peut pas excéder 20 % du nombre de phases.

Long

arcpy.stpm.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}, {outlier_option}, {level_of_confidence}, maximum_number_of_outliers)
NomExplicationType de données
in_cube

Cube netCDF contenant la variable à prévoir pour les futures phases. 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
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 du modèle. Si vos données affichent la saisonnalité (cycles répétés), indiquez le nombre de phases correspondant à une saison. 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 aucune valeur n’est indiquée, 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. En augmentant le nombre d'arbres dans le modèle, vous obtiendrez généralement une prédiction plus précise mais le temps de calcul sera plus long. 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 identifiée par l’outil selon le nombre d’arbres créés par le modèle et la taille de la fenêtre de 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 le modèle de 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

  • VALUELes valeurs de la fenêtre horaire ne sont pas décomposées et la variable dépendante est représentée par sa valeur brute.
  • VALUE_DETRENDLes valeurs de la fenêtre horaire sont décomposées de façon linéaire et la variable dépendante est représentée par sa valeur décomposée. Il s’agit de l’option par défaut.
  • RESIDUALLes valeurs de la fenêtre horaire ne sont pas décomposées et la variable dépendante est 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_DETRENDLes valeurs de la fenêtre horaire sont décomposées de façon linéaire et la variable dépendante est 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
outlier_option
(Facultatif)

Indique si les points aberrants de série chronologique statistiquement significatifs sont identifiés.

  • NONELes points aberrants ne seront pas identifiés. Il s’agit de l’option par défaut.
  • IDENTIFYLes points aberrants seront identifiés via le test Generalized ESD (ESD généralisé).
String
level_of_confidence
(Facultatif)

Spécifie le niveau de confiance du test des points aberrants de série chronologique

  • 90%Le niveau de confiance du test est de 90 %. Il s’agit de l’option par défaut.
  • 95%Le niveau de confiance du test est de 95 %.
  • 99%Le niveau de confiance du test est de 99 %.
String
maximum_number_of_outliers

Nombre maximal de phases pouvant être déclarées comme des points aberrants pour chaque emplacement. La valeur par défaut correspond à 5 % (arrondi à la valeur inférieure) du nombre de phases du cube spatio-temporel en entrée (une valeur minimum de 1 est toujours utilisée). Cette valeur ne peut pas excéder 20 % du nombre de phases.

Long

Exemple de code

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

Le script 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 Python ci-dessous illustre l’utilisation de l’outil ForestBasedForecast pour prévoir le nombre de vols de voiture.

# Forecast change in 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",
                               "IDENTIFY", "90%", 4)

# 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