Remplacer les valeurs manquantes (Exploration des modèles spatio-temporels)

Résumé

Remplace les valeurs manquantes (nulles) par des valeurs estimées en fonction de voisins spatiaux, de voisins spatio-temporels ou de valeurs chronologiques.

Pour en savoir plus sur le fonctionnement de l'outil Remplir les valeurs manquantes

Illustration

Graphique de l’outil Remplir les valeurs manquantes

Utilisation

  • Les entités en entrée peuvent être des points ou des polygones.

  • La sortie générée contiendra trois champs pour chacun des champs à remplir (Fields to Fill). Le premier contient à la fois les valeurs d'origine et remplies et le second contient un indicateur mentionnant que la valeur a été estimée. Le champ estimé conservera son nom d’origine, mais des alias seront créés avec la convention d’appellation suivante : <field>_FILLED et <field>_ESTIMATED. Le troisième champ ajouté est le nombre de voisins <field>_ N_NEIGHBORS utilisé dans les calculs de chaque valeur estimée.

  • La sortie comporte également des champs supplémentaires renfermant des valeurs pouvant vous aider à comprendre le nombre de voisins et la plage des valeurs voisines utilisés lors des calculs de la valeur manquante cible. Si Fill Method (Méthode de remplissage) est définie sur Average (Moyenne), l’écart type (<field>_STD) des voisins utilisés dans les calculs est indiqué. La valeur voisine maximum est indiquée pour Minimum et la valeur voisine minimum pour Maximum. Si la méthode de remplissage est définie sur Médiane, l'écart absolu moyen est indiqué. Si des valeurs manquantes sont remplies à l'aide du paramètre Temporal Trend (Tendance temporelle), le champ contiendra la somme des valeurs résiduelles au carré de la spline. Le champ NNBRS contient le nombre de voisins servant au calcul des valeurs estimées.

  • Vous pouvez inclure des champs qui ne contiennent pas de valeurs Null. Ces champs seront copiés dans la sortie, mais aucun champ supplémentaire ne leur sera associé en sortie (tel que <field>_FILLED ou <field>_ESTIMATED). Vous pouvez également fournir un ID unique (Unique ID) qui sera ajouté à la sortie et pouvant ensuite servir à réintégrer vos résultats dans Input Feature Class (Classe d’entités en entrée).

  • Le champ NUM_EST (TOT_EST si vous utilisez une table associée) correspond au nombre total de variables estimées pour l’enregistrement associé. Ce champ permet de rendre la carte en sortie.

  • Cet outil peut être utilisé avec des données de panel stockées en tant que formes répétées ou avec une table associée. Si un ID d'emplacement est spécifié, l'outil reconnaît que l'entrée correspond à des données de panel et un champ temporel est nécessaire.

  • Le Location ID (ID d’emplacement) est un champ d’entier et doit représenter un emplacement unique et stationnaire. Ses coordonnées X,Y ne doivent pas évoluer au fil du temps.

  • Si le paramètre Distance fixe, Tronçons de contiguïté uniquement ou Angles des tronçons de contiguïté est choisi pour Conceptualisation de relations spatiales, une fenêtre spatio-temporelle peut être simulée en sélectionnant un canal de distance et un voisinage temporel.

  • Si le paramètre Distance fixe, Tronçons de contiguïté uniquement ou Angles des tronçons de contiguïté est choisi pour Conceptualisation de relations spatiales, un nombre de voisins spatiaux peut être défini pour spécifier un nombre minimum de voisins.

  • L'option de remplissage des valeurs manquantes d'après l'option Tendance temporelle est disponible uniquement si un ID d'emplacement est spécifié. Un champ temporel est également nécessaire.

  • Lorsque vous utilisez Tendance temporelle pour remplir les valeurs, la valeur Null en cours de remplissage doit comporter au moins deux périodes temporelles avec des valeurs antérieures et au moins deux périodes temporelles avec des valeurs postérieures afin d'être remplie. En raison de cette exigence, les valeurs Null présentes dans les deux premières ou dernières phases ne pourront jamais être remplies avec Tendance temporelle.

  • La méthode de remplissage Tendance temporelle utilise la méthode de spline univariée interpolée du paquetage d'interpolation de SciPy.

  • Les valeurs manquantes qui n'ont pas pu être estimées et remplies seront indiquées dans la sortie au format dans lequel se trouvaient les valeurs Null à l'origine.

  • Lors du remplissage des valeurs manquantes de données de panel avec des voisins spatiaux uniquement, le paramètre Voisinage temporel doit être défini sur 0.

  • Si vos données sont des données de panel, le paramètre Voisinage temporel peut servir à filtrer par période temporelle. De même, un paramètre Voisinage temporel de valeur 0 vous permet d'examiner les voisins spatiaux uniquement.

  • Il est important d'inspecter les valeurs remplies obtenues pour s'assurer qu'elles conviennent à votre analyse. Si, par exemple, votre champ d’origine était un entier et que l’outil était configuré de façon à effectuer le remplissage avec la moyenne des voisins spatiaux, vous obtiendrez des décimales dans les résultats, ce qui risque de ne pas être logique si votre champ en entrée était un total. En outre, en raison de la méthode employée avec Tendance temporelle, il peut être possible d'obtenir un nombre négatif comme résultat même si aucune de vos valeurs existantes n'était négative. Ceci n'aurait aucun sens si le champ que vous remplissez concerne la population.

  • Le champ N_NEIGHBORS indique le nombre de voisins inclus dans les calculs de cette entité. Si Fill Method (Méthode de remplissage) est Temporal trend (Tendance temporelle), ce nombre désigne le nombre de valeurs existant dans votre série chronologique pour cet ID d’emplacement (option Location ID) (lorsque, par exemple, une seule valeur manque dans votre série chronologique, il signale le nombre d’intervalles temporels dans votre jeu de données moins 1). Si vous utilisez une conceptualisation de relations spatiales (Conceptualization of Spatial Relationships) de K nearest neighbors (K voisins les plus proches) et un voisinage temporel (Temporal Neighborhood), le nombre de voisins signalé inclut les K voisins pour l’entité comprise dans la fenêtre horaire spécifiée.

  • Des messages décrivant les détails de l'analyse et les caractéristiques de vos champs remplis sont écrits au bas de la fenêtre Géotraitement lors de l'exécution de l'outil. Vous pouvez accéder aux messages en survolant la barre de progression, en cliquant sur le bouton contextuel Bouton contextuel ou en développant la section des messages dans la fenêtre Geoprocessing (Géotraitement). Vous pouvez également accéder aux messages d’une précédente exécution de l’outil Remplir les valeurs manquantes via l’historique du géotraitement.

Syntaxe

FillMissingValues(in_features, out_features, fields_to_fill, fill_method, {conceptualization_of_spatial_relationships}, {distance_band}, {temporal_neighborhood}, {time_field}, {number_of_spatial_neighbors}, {location_id}, {related_table}, {related_location_id}, {weights_matrix_file}, {unique_id}, {null_value}, {out_table})
ParamètreExplicationType de données
in_features

La classe d'entités contenant les valeurs Null à remplir.

Feature Layer
out_features

La sortie qui contiendra les valeurs remplies (estimées).

Si related_table est spécifiée, out_features comportera le nombre de valeurs estimées à chaque emplacement et la out_table contiendra les valeurs remplies (estimées).

Feature Class
fields_to_fill
[fields_to_fill,...]

Les champs numériques contenant les données manquantes (valeurs Null).

Field
fill_method

Le type de calcul qui sera appliqué. TEMPORAL_TREND est disponible uniquement si location_id et time_field sont spécifiés.

  • AVERAGERemplace les valeurs Null par la valeur moyenne de l'entité.
  • MINIMUMRemplace les valeurs Null par la valeur minimum (la plus faible) de l'entité.
  • MAXIMUMRemplace les valeurs Null par la valeur maximum (la plus élevée) de l'entité.
  • MEDIANRemplace les valeurs Null par la valeur médiane (valeur centrale triée) de l'entité.
  • TEMPORAL_TRENDRemplace les valeurs Null en fonction de la tendance de cet emplacement unique.
String
conceptualization_of_spatial_relationships
(Facultatif)

Indique comment les relations spatiales sont définies parmi les entités.

  • FIXED_DISTANCELes entités voisines au sein d'une distance critique spécifiée (distance_band) de chaque entité sont comprises dans les calculs. Tout ce qui se trouve hors de la distance critique est exclu.
  • K_NEAREST_NEIGHBORS Les k entités les plus proches sont comprises dans les calculs ; k est un paramètre numérique spécifié.
  • CONTIGUITY_EDGES_ONLY Seules les entités surfaciques voisines qui partagent une limite ou se chevauchent influencent les calculs de l'entité surfacique cible.
  • CONTIGUITY_EDGES_CORNERS Les entités surfaciques voisines qui partagent une limite, un nœud, ou qui se chevauchent influencent les calculs de l'entité surfacique cible.
  • GET_SPATIAL_WEIGHTS_FROM_FILELes relations spatiales sont définies par un fichier de pondérations spatiales spécifié. Le chemin d'accès au fichier de pondérations spatiales est donné par le paramètre Weights_Matrix_File.
String
distance_band
(Facultatif)

Spécifie une distance limite pour l'option FIXED_DISTANCE. Les entités situées hors de la limite spécifiée pour une entité cible sont ignorées dans les calculs concernant cette entité. Ce paramètre n'est pas disponible pour CONTIGUITY_EDGES_ONLY ou CONTIGUITY_EDGES_CORNERS.

Linear Unit
temporal_neighborhood
(Facultatif)

Spécifie un intervalle avant et arrière dans le temps pour déterminer quelles entités utiliser dans les calculs concernant l'entité cible. Les entités qui ne figurent pas dans cet intervalle de l'entité cible sont ignorées dans les calculs concernant cette entité.

Time Unit
time_field
(Facultatif)

Le champ contenant l'horodatage pour chaque enregistrement du jeu de données. Ce champ doit être de type Date.

Ceci est obligatoire si location_id a été fourni.

Field
number_of_spatial_neighbors
(Facultatif)

Le nombre de voisins les plus proches à inclure dans les calculs.

Si FIXED_DISTANCE, CONTIGUITY_EDGES_ONLY ou CONTIGUITY_EDGES_CORNERS est choisi, ce nombre correspond au nombre minimum de voisins à inclure dans les calculs.

Long
location_id
(Facultatif)

Un champ d’entier contenant un numéro d’identification unique pour chaque emplacement.

location_id permet d’apparier des entités de in_features aux lignes de related_table ou de spécifier un ID d’emplacement unique pour identifier les voisins temporels.

Field
related_table
(Facultatif)

La table ou vue tabulaire contenant les données temporelles de chacune des in_features.

Table View
related_location_id
(Facultatif)

Un champ d’entier dans la related_table qui contient le location_id sur lequel reposera la relation.

Field
weights_matrix_file
(Facultatif)

Chemin d'accès à un fichier contenant des pondérations qui définissent les relations spatiales, et potentiellement les relations temporelles, entre des entités.

File
unique_id
(Facultatif)

Un champ d'entier contenant une valeur différente pour chaque enregistrement dans les in_features. Ce champ peut servir à réintégrer vos résultats dans votre jeu de données d'origine.

Si vous n’avez aucun champ unique_id, vous pouvez en créer un en ajoutant un champ d’entier à la table de la classe d’entités et en calculant les valeurs de champ égales au champ FID ou OBJECTID.

Field
null_value
(Facultatif)

La valeur qui représente les valeurs Null (manquantes). Si aucune valeur n'est spécifiée, <Null> est utilisé par défaut pour les classes d'entités de géodatabase. Pour les fichiers de formes en entrée, une valeur numérique de l'espace réservé Null est requise.

Double
out_table
(Facultatif)

La table en sortie contenant les valeurs remplies (estimées).

La table en sortie est requise si une table associée est saisie.

Table

Exemple de code

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

Le script de fenêtre Python ci-dessous illustre l'utilisation de l'outil FillMissingValues.

import arcpy
arcpy.env.workspace = r"C:\STPM\Chicago.gdb"
arcpy.FillMissingValues_stpm("Chicago_Data", "Chicago_Filled", "COUNT", "AVERAGE",
                             "K_NEAREST_NEIGHBORS", "", "", "", 8)
Exemple 2 d'utilisation de l'outil FillMissingValues (script autonome)

Le script Python autonome ci-dessous illustre l'utilisation de l'outil FillMissingValues.

# Fill missing values using a feature set and related table
# Use the results to create a space-time cube from defined locations
# Run Emerging Hot Spot Analysis on the data
# Visualize the results in 3d
#Import system modules
import arcpy
# Set geoprocessor object property to overwrite existing output, by default
arcpy.env.overwriteOutput = True
# Local variables ...
arcpy.env.workspace = r"C:\STPM\Chicago.gdb"
try:
    # Fill missing values in a feature class containing block group polygon shapes and a related table containing the incidents
    # Since some of the values are missing we will fill them using the temporal trend method.
    arcpy.FillMissingValues_stpm("Chicago_Feature", "Chicago_FilledFeature", "COUNT", "TEMPORAL_TREND", "", "", NoneNone,
                                 "TIME", "", "MYID", "Chicago_Table", "MYID", "", "", "", "Chicago_FilledTable")
    # Create a defined location space time cube using a related table
    # Using a reference time at the start of the month to force binning fall on month breaks
    # Using temporal aggregation to sum multiple entries into one month
    # Using the method drop location if missing values since we already filled using Fill Missing Values
    arcpy.CreateSpaceTimeCubeDefinedLocations_stpm("Chicago_FilledFeature", r"C:\STPM\Chicago_Cube.nc", "MYID",
                                                   "APPLY_TEMPORAL_AGGREGATION", "TIME", "1 Months", "REFERENCE_TIME",
                                                   "10/1/2015", "", "COUNT SUM DROP_LOCATIONS", "Chicago_FilledTable",
                                                   "MYID")
    # Run an emerging hot spot analysis on the defined locations cube
    # Using contiguity edges so only block groups which bound each other are considered neighbours
    arcpy.EmergingHotSpotAnalysis_stpm(r"C:\STPM\Chicago_Cube.nc", "COUNT_SUM_NONE",
                                       "Chicago_Cube_EmergingHotSpot", "", 1, "",
                                       "CONTIGUITY_EDGES_ONLY")
    # Use Visualize Cube in 3d to see the hot spot results for each time slice
    arcpy.VisualizeSpaceTimeCube3D_stpm(r"C:\STPM\Chicago_Cube.nc", "COUNT_SUM_NONE", "HOT_AND_COLD_SPOT_RESULTS",
                                        "Chicago_Cube_Visualize3d")
except arcpy.ExecuteError:
    # If any error occurred when running the tool, print the messages
    print(arcpy.GetMessages())

Informations de licence

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

Rubriques connexes