Prévision par ajustement des courbes (Exploration des modèles spatio-temporels)

Résumé

Prévoit les valeurs de chaque emplacement d’un cube spatio-temporel grâce à l’ajustement de la courbe.

L’outil ajuste une courbe paramétrique à chaque emplacement du paramètre Input Space Time Cube (Cube spatio-temporel en entrée) et prévoit la série chronologique en extrapolant cette courbe pour les phases futures. Les courbes peuvent être linéaires, paraboliques, en forme de S (Gompertz) ou exponentielles. Vous pouvez utiliser le même type de courbe à chaque emplacement du cube spatio-temporel ou autoriser l’outil à définir le type de courbe qui correspond le mieux à chaque emplacement.

En savoir plus sur le fonctionnement de l’outil Curve Fit Forecast (Prévision par ajustement des courbes)

Illustration

Types de courbes
Quatre types de courbes sont affichés.

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 le plus simple et le plus approprié pour les séries chronologiques qui suivent une tendance prévisible non marquée par une forte saisonnalité. Si vos données suivent une tendance complexe ou affichent des cycles saisonniers marqués, utilisez d’autres outils de prévision.

  • 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 du paramètre 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 du cube spatio-temporel en ajustant une courbe aux valeurs de la série chronologique et en extrapolant cette courbe pour les 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 à zéro 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 ajusté aux phases inclues et permet de prévoir les valeurs des phases exclues. Cela vous permet d’examiner la précision du type de courbe choisi pour la précision 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

  • L’option Auto-Detect (Détection automatique) du paramètre Curve Type (Type de courbe) ajuste les quatre types de courbes à chaque emplacement et identifie celui dont la racine carrée de l’erreur quadratique moyenne de validation est la plus petite. Si aucun intervalle temporel n’est exclu de la validation, la courbe dont la racine carrée de l’erreur quadratique moyenne de prévision est la plus petite est utilisée.

  • 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 contiennent des informations sur la structure du cube spatio-temporel et des statistiques récapitulatives des valeurs RMSE. Si vous cliquez sur une entité à l’aide de l’outil de navigation Explore (Explorer), un diagramme linéaire est affiché dans la fenêtre Pop-up (Fenêtre contextuelle) et indique les valeurs du cube spatio-temporel, la courbe utilisée pour les prévisions et les valeurs prévues 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

  • 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.CurveFitForecast(in_cube, analysis_variable, output_features, {output_cube}, {number_of_time_steps_to_forecast}, {curve_type}, {number_for_validation}, {outlier_option}, {level_of_confidence}, maximum_number_of_outliers)
ParamètreExplicationType 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 l’intervalle temporel final et contient des diagrammes contextuels illustrant la série chronologique et les prévisions 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
curve_type
(Facultatif)

Spécifie le type de courbe utilisé pour prévoir les valeurs du cube spatio-temporel en entrée.

  • LINEARLa série chronologique augmente ou diminue de manière linéaire dans le temps.
  • PARABOLICLa série chronologique suit une courbe parabolique ou quadratique dans le temps.
  • EXPONENTIALLa série chronologique augmente ou diminue de manière exponentielle dans le temps.
  • GOMPERTZLa série chronologique augmente ou diminue suivant la forme d’un S dans le temps.
  • AUTO_DETECTLes quatre types de courbes sont exécutés pour chaque emplacement et le modèle reçoit la racine carrée de l’erreur quadratique moyenne de validation la plus petite. Si aucun intervalle temporel n’est exclu de la validation, le modèle dont la racine carrée de l’erreur quadratique moyenne de prévision est la plus petite est utilisé. Il s’agit de l’option par défaut.
String
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
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 CurveFitForecast (fenêtre Python)

Le script Python ci-dessous illustre l’utilisation de l’outil CurveFitForecast.

import arcpy
arcpy.env.workspace = "C:/Analysis"
# Forecast four time steps using a linear curve.
arcpy.stpm.CurveFitForecast("Population.nc", "Pop_NONE_ZEROS", 
                            "Analysis.gdb/Forecasts", 
                            "outForecastCube.nc", 4, 
                            "LINEAR", 5)
Exemple 2 d'utilisation de l'outil CurveFitForecast (script autonome)

Le script Python ci-dessous illustre l’utilisation de l’outil CurveFitForecast pour prévoir la population :

# Forecast population levels using curve fitting.
# 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 using auto-detect.
arcpy.stpm.CurveFitForecast("Population.nc", "Pop_NONE_ZEROS", 
                            "Analysis.gdb/Forecasts", "outForecastCube.nc"
                            3, "AUTO_DETECT", 5, "IDENTIFY", "90%", 4)
# Create a feature class visualizing the forecasts.
# Output can only be viewed in a Scene view.
arcpy.stpm.VisualizeSpaceTimeCube3D("outForecastCube.nc", "Pop_NONE_ZEROS", 
                                    "VALUE", "Analysis.gdb/ForecastsFC")

Informations de licence

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

Rubriques connexes