Prévision par lissage exponentiel (Exploration des modèles spatio-temporels)

Résumé

Prévoit les valeurs futures de chaque emplacement d’un cube spatio-temporel à l’aide de la méthode de lissage exponentiel Holt-Winters, en décomposant la série chronologique au niveau de chaque cube d’emplacement en composants saisonniers et de tendance

En savoir plus sur le fonctionnement de l’outil Exponential Smoothed Forecasting (Prévision par lissage exponentiel)

Illustration

Prévision par lissage exponentiel
La prévision par lissage exponentiel permet de prévoir les valeurs des futurs intervalles temporels.

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.

  • Par rapport aux autres outils de prévision du jeu d’outils Time Series Forecasting (Prévision de séries chronologiques), cet outil est recommandé pour les données dont les tendances sont modérées et qui sont marquées par un fort comportement saisonnier. Le modèle de lissage exponentiel supposant que le comportement saisonnier et la tendance peuvent être séparés, il convient mieux aux données dont les tendances évoluent progressivement et qui suivent des modèles saisonniers cohérents dans le temps.

  • 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 du Input Space Time Cube (Cube spatio-temporel en entrée), l’outil génère deux modèles qui répondent à des objectifs différents.

    • Forecast model (Modèle de prévision) : ce modèle permet de prévoir les valeurs futures du cube spatio-temporel en lissant de manière exponentielle les valeurs de la série chronologique et en étendant ce lissage aux intervalles temporels futurs. L’ajustement du modèle de prévision aux valeurs du cube spatio-temporel est mesuré par la valeur de la racine carrée de l’erreur quadratique moyenne de prévision.
    • 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 futures. Si un nombre supérieur à zéro est spécifié pour le paramètre Number of Time Steps to Exclude for Validation (Nombre d'intervalles temporels à exclure pour la validation), ce modèle est ajusté aux intervalles temporels non exclus et permet de prévoir les valeurs des intervalles temporels exclus. Cela vous permet d’examiner la précision du modèle pour la précision des valeurs futures. L’ajustement des valeurs prévues aux valeurs exclues est mesuré par la valeur de la racine carrée de l’erreur quadratique moyenne de validation.

    En savoir plus sur le modèle de prévision, le modèle de validation et les statistiques de la racine carrée de l’erreur quadratique moyenne

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

  • Cet outil suppose que tous les composants du modèle de lissage exponentiel sont additifs et linéaires. Une tendance amortie est toujours utilisée et la saisonnalité additive est prise en charge, mais non requise. Les résiduels du modèle sont supposés être additifs et distribués selon une loi normale et permettent de calculer les intervalles de confiance.

    En savoir plus sur les composants du modèle de lissage exponentiel

Syntaxe

ExponentialSmoothingForecast(in_cube, analysis_variable, output_features, {output_cube}, {number_of_time_steps_to_forecast}, season_length, {number_for_validation})
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
season_length

Nombre d’intervalles temporels correspondant à une saison à chaque emplacement. S’il existe plusieurs saisons dans vos données, il est recommandé d’utiliser la saison la plus longue afin de générer le résultat le plus fiable. Si ce champ n’est pas renseigné, une durée de saison est estimée par l’outil à 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

Exemple de code

Exemple 1 d'utilisation de l'outil ExponentialSmoothingForecast (fenêtre Python)

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

import arcpy
arcpy.env.workspace = "C:/Analysis"
# Forecast four time steps using exponential smoothing.
arcpy.stpm.ExponentialSmoothingForecast("Temperature.nc","Temp_NONE_ZEROS", 
                                        "Analysis.gdb/Forecasts", 
                                        "outForecastCube.nc", 4, 2, 5)
Exemple 2 d'utilisation de l'outil ExponentialSmoothingForecast (script autonome)

Le script Python ci-dessous illustre l’utilisation de l’outil ExponentialSmoothingForecast pour prévoir la température :

# Forecast temperature using exponential smoothing.
# Import system modules.
import arcpy
# Set property to overwrite existing output.
arcpy.env.overwriteOutput = True
# Set workspace.
workspace = r"C:\Analysis"
arcpy.env.workspace = workspace
# Forecast three time steps.
arcpy.stpm.ExponentialSmoothingForecast("Temperature.nc","Temp_NONE_ZEROS", 
                                        "Analysis.gdb/Forecasts", 
                                        "outForecastCube.nc", 3, 2, 5)
12345678901234567890123456789012345671234567890123456789012345678901234567890890
# Create a feature class visualizing the forecasts.
arcpy.stpm.VisualizeSpaceTimeCube3D("outForecastCube.nc", "Temp_NONE_ZEROS", 
                                    "VALUE", "Analysis.gdb/ForecastsFC")

Informations de licence

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

Rubriques connexes