Résumé
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
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.
Syntaxe
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)
Paramètre | Explication | Type 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. 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 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
| String |
outlier_option (Facultatif) | Indique si les points aberrants de série chronologique statistiquement significatifs sont identifiés.
| String |
level_of_confidence (Facultatif) | Spécifie le niveau de confiance du test des points aberrants de série chronologique
| 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
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")
Le script Python ci-dessous illustre l’utilisation de l’outil ForestBasedForecast pour prévoir le nombre prévu 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")
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
- Comprendre les points aberrants dans les analyses de séries chronologiques
- 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 ?