Détection des points de changement (Exploration des modèles spatio-temporels)

Synthèse

Détecte les intervalles temporels où une propriété statistique de la série chronologique change pour chaque localisation d’un cube spatio-temporel.

L’outil peut détecter des changements dans la valeur moyenne, l’écart type ou la tendance linéaire de variables continues, ainsi que des changements dans la moyenne des variables de total. Le nombre de points de changement à chaque localisation peut être déterminé par l’outil ou un nombre défini de points de changement à utiliser pour toutes les localisations peut être spécifié. Les points de changement divisent chaque série chronologique en segments dans lesquels les valeurs possèdent une moyenne, un écart type ou une tendance linéaire similaire. Les points de changement étant définis comme constituant le premier intervalle temporel dans chaque nouveau segment, le nombre de points de changement est toujours inférieur de un par rapport au nombre de segments.

En savoir plus sur le fonctionnement de la détection des points de changement

Illustration

Illustration de l’outil Détection des points de changement

Utilisation

  • Si le paramètre Méthode est défini sur Détecter automatiquement le nombre de points de changement, le paramètre Sensibilité de la détection est utilisé pour contrôler la sensibilité de la détection. Des valeurs de sensibilité plus élevées entraînent un plus grand nombre de points de changement à chaque localisation. Le choix du niveau de sensibilité est essentiel aux résultats de l’analyse et il est recommandé d’essayer plusieurs valeurs et de comparer les résultats.

    En savoir plus sur la sensibilité de la détection

  • Pour les variables d’analyse représentant des totaux, l’option Total du paramètre Type de changement est souvent la plus appropriée pour détecter les changements dans la valeur moyenne des totaux. Toutefois, l’option Décalage moyen peut fournir des résultats équivalents ou meilleurs pour des données de total. En effet, le modèle du type de changement de total considère que les valeurs de chaque segment suivent une distribution Poisson dans laquelle la variance du segment est égale à sa valeur moyenne. Comme le type de changement de décalage moyen considère à la place que les valeurs de chaque segment sont normalement distribuées, la valeur moyenne peut être supérieure ou inférieure à la variance des valeurs.

    Dans une distribution Poisson, la plupart des totaux se trouvent à environ moins de deux racines carrées de la valeur moyenne. Par exemple, pour une distribution Poisson dont la valeur moyenne est égale à 100, environ 95 % des totaux sont compris entre 80 et 120 (2 × sqrt(100) = 20). Pour une distribution Poisson dont la moyenne est égale à 1 million, la plupart des totaux se situent à entre 998 000 et 1 002 000 (la racine carée de 1 est égale à 1 000). La plage de totaux est comparativement plus étroite pour la moyenne supérieure de 1 million dans laquelle la plupart des totaux se trouvent à moins de 0,2 % de la valeur moyenne. Toutefois, dans la moyenne plus petite de 100, les totaux varient de jusqu’à 20 % de la valeur moyenne. Par rapport à leur valeur moyenne, si les valeurs des totaux varient plus qu’attendu d’une distribution Poisson, de nombreux intervalles temporels peuvent être détectés en tant que points de changement. Il s’agit d’un scénario courant avec les totaux élevés. Dans ce cas, il est recommandé de détecter le décalage moyen.

  • Cet outil accepte les fichiers netCDF créés à l’aide de divers outils figurant dans la boîte à outils Exploration des modèles spatio-temporels.

    En savoir plus sur la création d’un cube spatio-temporel

  • La valeur du paramètre Entités en sortie est ajoutée à la fenêtre Contenu avec un rendu dépendant du nombre de points de changement détectés à chaque localisation, avec les champs de date du premier et du dernier point de changement. Les fenêtres contextuelles des entités comprennent un diagramme linéaire affichant les valeurs de série chronologique, les points de changement et les estimations de l’écart moyen ou type des segments entre chaque point de changement.

  • La propriété de date/heure de la couche de la valeur du paramètre Entités en sortie est basée sur la date du premier point de changement. Vous pouvez utiliser le curseur temporel pour filtrer les localisations en fonction de la date du premier point de changement. La propriété de date/heure de la couche peut être redéfinie sur la date du dernier point de changement dans les propriétés de la couche.

  • Le cube spatio-temporel en entrée est mis à jour avec les résultats de l’analyse et peut être utilisé dans l’outil Visualiser le cube spatio-temporel en 3D avec l’option Points de changement dans une série chronologique du paramètre Thème d’affichage pour afficher les résultats en 3D. La sortie contient une entité par intervalle temporel du cube spatio-temporel avec des champs indiquant si l’intervalle temporel est un point de changement, ainsi que des estimations de l’écart moyen ou type du segment. Utiliser le cube spatio-temporel dans l’outil Visualiser le cube spatio-temporel en 2D a pour effet de recréer la classe d’entités en sortie de la détection des points de changement.

  • Cet outil prend en charge le traitement parallèle pour analyser des localisations distinctes à travers différents nœuds de traitement et utilise 50 % des processeurs disponibles par défaut. Le nombre de processeurs utilisés peut être augmenté ou réduit à l’aide de l’environnement Facteur de traitement parallèle.

Paramètres

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

Le cube spatio-temporel contenant la variable à analyser. Les cubes spatio-temporels ont une extension de fichier .nc et sont créés à l’aide de divers outils dans la boîte à outils Exploration des modèles spatio-temporels.

File
Variable d’analyse

Variable numérique du cube spatio-temporel contenant les valeurs de série chronologique de chaque localisation.

String
Entités en sortie

Classe d’entités en sortie qui contient les résultats de la détection des points de changement. La couche affiche le nombre de points de changement détectés pour chaque localisation et contient des diagrammes linéaires contextuels montrant les valeurs de série chronologique, les points de changement et des estimations de l’écart moyen et type de chaque segment.

Feature Class
Type de changement
(Facultatif)

Indique le type de changement à détecter. Chaque option indique une propriété statistique de la série chronologique considérée comme constante dans chaque segment. La valeur est remplacée par une nouvelle valeur constante à chaque point de changement dans la série chronologique.

  • Décalage moyenLes décalages dans la valeur moyenne sont détectés. Il s’agit de l’option par défaut.
  • Écart typeLes changements d’écart type sont détectés.
  • Pente (tendance linéaire)Les changements de pente (tendance linéaire) sont détectés.
  • TotalLes changements de moyenne des données de total sont détectés.
String
Méthode
(Facultatif)

Indique si le nombre de points de changement est détecté automatiquement ou est spécifié par un nombre défini de points de changement utilisé pour toutes les localisations.

  • Détecter automatiquement le nombre de points de changement (PELT)Le nombre de points de changement est détecté automatiquement. La sensibilité de la détection est définie par le paramètre Sensibilité de la détection. Il s’agit de l’option par défaut.
  • Nombre défini de points de changement (SegNeigh)Le nombre de points de changement est défini par le paramètre Nombre de points de changement.
String
Nombre de points de changement
(Facultatif)

Le nombre de points de changement à détecter à chaque localisation. La valeur par défaut est 1.

Long
Sensibilité de la détection
(Facultatif)

Un nombre compris entre 0 et 1 définit la sensibilité de la détection. Des valeurs plus élevées entraînent un plus grand nombre de points de changement détectés à chaque localisation. La valeur par défaut est 0,5.

Double
Longueur minimale de segment
(Facultatif)

Nombre minimal d’intervalles temporels au sein de chaque segment. Les points de changement divisent chaque série chronologique en segments dans lesquels chaque segment contient au moins ce nombre d’intervalles temporels. Pour un changement de la moyenne, de l'écart type et du total, la valeur par défaut est de 1, ce qui signifie que chacun des intervalles temporels peut être un point de changement. Pour un changement de pente (tenance linéaire), la valeur par défaut est de 2 car au moins deux valeurs sont requises pour tracer une ligne. La valeur doit être inférieure à la moitié du nombre d’intervalles temporels de la série chronologique.

Long

arcpy.stpm.ChangePointDetection(in_cube, analysis_variable, output_features, {change_type}, {method}, {num_change_points}, {sensitivity}, {min_seg_len})
NomExplicationType de données
in_cube

Le cube spatio-temporel contenant la variable à analyser. Les cubes spatio-temporels ont une extension de fichier .nc et sont créés à l’aide de divers outils dans la boîte à outils Exploration des modèles spatio-temporels.

File
analysis_variable

Variable numérique du cube spatio-temporel contenant les valeurs de série chronologique de chaque localisation.

String
output_features

Classe d’entités en sortie qui contient les résultats de la détection des points de changement. La couche affiche le nombre de points de changement détectés pour chaque localisation et contient des diagrammes linéaires contextuels montrant les valeurs de série chronologique, les points de changement et des estimations de l’écart moyen et type de chaque segment.

Feature Class
change_type
(Facultatif)

Indique le type de changement à détecter. Chaque option indique une propriété statistique de la série chronologique considérée comme constante dans chaque segment. La valeur est remplacée par une nouvelle valeur constante à chaque point de changement dans la série chronologique.

  • MEANLes décalages dans la valeur moyenne sont détectés. Il s’agit de l’option par défaut.
  • STANDARD_DEVIATIONLes changements d’écart type sont détectés.
  • SLOPELes changements de pente (tendance linéaire) sont détectés.
  • COUNTLes changements de moyenne des données de total sont détectés.
String
method
(Facultatif)

Indique si le nombre de points de changement est détecté automatiquement ou est spécifié par un nombre défini de points de changement utilisé pour toutes les localisations.

  • AUTO_DETECTLe nombre de points de changement est détecté automatiquement. La sensibilité de la détection est définie par le paramètre sensitivity. Il s’agit de l’option par défaut.
  • DEFINED_NUMBERLe nombre de points de changement est défini par le paramètre num_change_points.
String
num_change_points
(Facultatif)

Le nombre de points de changement à détecter à chaque localisation. La valeur par défaut est 1.

Long
sensitivity
(Facultatif)

Un nombre compris entre 0 et 1 définit la sensibilité de la détection. Des valeurs plus élevées entraînent un plus grand nombre de points de changement détectés à chaque localisation. La valeur par défaut est 0,5.

Double
min_seg_len
(Facultatif)

Nombre minimal d’intervalles temporels au sein de chaque segment. Les points de changement divisent chaque série chronologique en segments dans lesquels chaque segment contient au moins ce nombre d’intervalles temporels. Pour un changement de la moyenne, de l'écart type et du total, la valeur par défaut est de 1, ce qui signifie que chacun des intervalles temporels peut être un point de changement. Pour un changement de pente (tenance linéaire), la valeur par défaut est de 2 car au moins deux valeurs sont requises pour tracer une ligne. La valeur doit être inférieure à la moitié du nombre d’intervalles temporels de la série chronologique.

Long

Exemple de code

Exemple 1 d’utilisation de la fonction ChangePointDetection (fenêtre Python)

Le script Python ci-dessous montre comment utiliser la fonction ChangePointDetection.

import arcpy
arcpy.env.workspace = "C:/Analysis"

# Automatically detect changes in population counts
arcpy.stpm.ChangePointDetection("Population.nc", "Pop_NONE_ZEROS", 
                            "Analysis.gdb/Population_Change_Points", 
                            "COUNT", "AUTO_DETECT", "", 0.5, 1)
Exemple 2 d’utilisation de la fonction ChangePointDetection (script autonome)

Le script Python ci-dessous montre comment utiliser la fonction ChangePointDetection.

# Detect changes in air temperature.

# 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

# Detect the largest mean shift of temperature measurements.
arcpy.stpm.ChangePointDetection("Air_Temp.nc", "MAX_DEGREES_F", 
                            "Analysis.gdb/Temperature_Change_Points", 
                            "MEAN", "DEFINED_NUMBER", 1, "", 3)

# Create a feature class visualizing the change point results in a 3D scene view.
arcpy.stpm.VisualizeSpaceTimeCube3D("Air_Temp.nc", "Pop_NONE_ZEROS", 
                                    "VALUE", "Analysis.gdb/ForecastsFC")