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

Synthèse

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

Exemple de l’outil Remplir les valeurs manquantes

Utilisation

  • La valeur Entités en entrée peut consister en points ou en polygones.

  • La sortie générée contient trois champs pour chacun des champs du paramètre Champs à remplir. 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é conserve 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 est le champ du nombre de voisins, <field>_ N_NEIGHBORS, utilisé dans les calculs de chaque valeur estimée.

  • La sortie comporte également des champs 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 le paramètre Méthode de remplissage est défini sur l’option Moyenne, l’écart type (<field>_STD) des voisins utilisés dans les calculs est indiqué. La valeur voisine maximum est indiquée pour l’option Minimum et la valeur voisine minimum pour l’option Maximum. Si le paramètre Méthode de remplissage est défini sur l’option Médiane, l’écart absolu moyen des voisins est indiqué. Si des valeurs manquantes sont remplies à l’aide de l’option 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 sont copiés dans la sortie, mais aucun champ supplémentaire ne leur est associé en sortie (par exemple, <field>_FILLED ou <field>_ESTIMATED). Vous pouvez également fournir une valeur pour le paramètre ID unique qui sera ajouté à la sortie et peut servir à réintégrer vos résultats dans la valeur 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.

  • Vous pouvez ajouter les champs supplémentaires à la classe d’entités en entrée à l’aide du paramètre Ajouter des champs aux entités en entrée. Si vous ajoutez ces champs, une table associée ne peut pas être fournie.

  • 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 une valeur est spécifiée pour le paramètre ID d’emplacement, l’outil reconnaît que l’entrée correspond à des données de panel et le paramètre Champ temporel est nécessaire.

  • La valeur 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 l’option Distance fixe, Tronçons de contiguïté uniquement ou Angles des tronçons de contiguïté est choisie pour le paramètre Conceptualisation de relations spatiales, une fenêtre spatio-temporelle peut être simulée en sélectionnant une valeur pour les paramètres Canal de distance et Voisinage temporel.

  • Si l’option Distance fixe, Tronçons de contiguïté uniquement ou Angles des tronçons de contiguïté est choisie pour le paramètre Conceptualisation de relations spatiales, une valeur du paramètre Nombre de voisins spatiaux peut être définie pour spécifier un nombre minimum de voisins.

  • L’option Tendance temporelle du paramètre Méthode de remplissage n’est disponible que si des valeurs ont été définies pour les paramètres ID d’emplacement et Champ temporel.

  • Lorsque vous utilisez l’option Tendance temporelle pour remplir les valeurs, l’emplacement présentant une valeur nulle en cours de remplissage doit comporter au moins deux périodes temporelles avec des valeurs au début et au moins deux périodes temporelles avec des valeurs à la fin de la série temporelle afin d’être renseigné. En raison de cette exigence, les valeurs Null présentes dans les deux premières ou dernières phases ne pourront jamais être remplies à l’aide de l’option Tendance temporelle.

  • L’option Tendance temporelle utilise la méthode Interpolated Univariate Spline du paquetage SciPy Interpolation.

  • Les valeurs manquantes n’ayant pas pu être estimées et remplies sont 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, définissez le paramètre Voisinage temporel 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, une valeur Voisinage temporel égale à 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, selon la méthode utilisée avec le paramètre 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 le paramètre Méthode de remplissage est défini sur Tendance temporelle, ce nombre désigne le nombre de valeurs existant dans la série chronologique pour cette valeur ID d’emplacement (lorsque, par exemple, une seule valeur manque dans la série chronologique, il signale le nombre d’intervalles temporels dans votre jeu de données moins un). Si vous utilisez une valeur du paramètre Conceptualisation de relations spatiales de K voisins les plus proches et une valeur Voisinage temporel, 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 des 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 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.

Paramètres

ÉtiquetteExplicationType de données
Entités en entrée

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

Feature Layer
Entités en sortie
(Facultatif)

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

Si la valeur du paramètre Table associée est spécifiée, Entités en sortie comporte le nombre de valeurs estimées à chaque emplacement et Table en sortie contient les valeurs remplies (estimées).

Feature Class
Champs à remplir

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

Field
Méthode de remplissage

Spécifie le type de calcul allant être appliqué. L’option Tendance temporelle n’est disponible que si la valeur des paramètres ID d’emplacement et Champ temporel est spécifiée.

  • MoyenneLes valeurs Null sont remplacées par la valeur moyenne des voisins de l’entité.
  • MinimalLes valeurs Null sont remplacées par la valeur minimum (la plus faible) des voisins de l’entité.
  • MaximumLes valeurs Null sont remplacées par la valeur maximum (la plus élevée) des voisins de l’entité.
  • MédianeLes valeurs Null sont remplacées par la valeur médiane (valeur centrale triée) des voisins de l’entité.
  • Tendance temporelleLes valeurs Null sont remplacées en fonction de la tendance de cet emplacement unique.
String
Conceptualisation de relations spatiales
(Facultatif)

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

  • Distance fixeLes entités voisines au sein d’une distance critique spécifiée (valeur du paramètre Canal de distance) de chaque entité sont comprises dans les calculs. Tout ce qui se trouve hors de la distance critique est exclu.
  • K voisins les plus prochesLes k entités les plus proches sont incluses dans les calculs ; k est un paramètre numérique spécifié.
  • Tronçons de contiguïté uniquementSeules les entités surfaciques voisines qui partagent une limite ou se chevauchent influencent les calculs de l'entité surfacique cible.
  • Angles des tronçons de contiguïtéLes entités surfaciques voisines qui partagent une limite, un nœud, ou qui se chevauchent influencent les calculs de l'entité surfacique cible.
  • Extraire les pondérations spatiales à partir du fichierLes 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 Fichier de matrice des pondérations.
String
Canal de distance
(Facultatif)

La distance de limite de l’option Distance fixe du paramètre Conceptualisation de relations spatiales. Les entités se trouvant à l’extérieur de la limite spécifiée pour une entité cible ne sont pas prises en compte dans les calculs pour cette entité. Ce paramètre n’est pas disponible pour l’option Tronçons de contiguïté uniquement ou Angles des tronçons de contiguïté.

Linear Unit
Voisinage temporel
(Facultatif)

Intervalle avant et arrière dans le temps qui détermine 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
Champ temporel
(Facultatif)

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

Ce paramètre est requis si la valeur du paramètre ID d’emplacement est spécifiée.

Field
Nombre de voisins spatiaux
(Facultatif)

Nombre de voisins les plus proches allant être inclus dans les calculs.

Si l’option Distance fixe, Tronçons de contiguïté uniquement ou Angles des tronçons de contiguïté du paramètre Conceptualisation de relations spatiales est choisie, ce nombre correspond au nombre minimum de voisins à inclure dans les calculs.

Long
ID d'emplacement
(Facultatif)

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

Ce paramètre permet d’apparier des entités du paramètre Entités en entrée aux lignes dans le paramètre Table associée ou de spécifier un identifiant d’emplacement unique pour identifier les voisins temporels.

Field
Table associée
(Facultatif)

La table ou vue tabulaire contenant les données temporelles de chaque entité dans le paramètre Entités en entrée.

Table View
ID d'emplacement associé
(Facultatif)

Un champ d’entier dans le paramètre Table associée qui contient la valeur du paramètre ID d’emplacement sur lequel reposera la relation.

Field
Fichier matrice de pondérations spatiales
(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
ID unique
(Facultatif)

Un champ d’entier contenant une valeur différente pour chaque enregistrement dans le paramètre Entités en entrée. Ce champ peut servir à réintégrer les résultats dans le 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 attributaire de l’entité en entrée et en calculant les valeurs de champ égales au champ FID ou OBJECTID.

Field
Valeur nulle
(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
Table en sortie
(Facultatif)

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

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

Table
Ajouter des champs aux entités en entrée
(Facultatif)

Indique si les champs de valeur remplis sont ajoutés aux entités en entrée ou si une classe d’entités en sortie est créée avec les champs de valeur remplis. Si vous ajoutez les champs, vous ne pouvez pas fournir de table associée et l’environnement de système de coordonnées en sortie est ignoré.

  • Coché : les champs contenant les valeurs spécifiées sont ajoutés aux entités en entrée. Cette option modifie les données en entrée.
  • Décoché : une classe d’entités en sortie est créée contenant les champs de valeur remplis. Il s’agit de l’option par défaut.

Boolean

Sortie obtenue

ÉtiquetteExplicationType de données
Entités en entrée mises à jour

Entités en entrée mises à jour contenant les champs de valeur remplis

Feature Layer

arcpy.stpm.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}, {append_to_input})
NomExplicationType de données
in_features

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

Feature Layer
out_features
(Facultatif)

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

Si la valeur du paramètre related_table est spécifiée, out_features comporte le nombre de valeurs estimées à chaque emplacement et la out_table contient 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

Spécifie le type de calcul allant être appliqué. L’option TEMPORAL_TREND n’est disponible que si la valeur des paramètres location_id et time_field est spécifiée.

  • AVERAGELes valeurs Null sont remplacées par la valeur moyenne des voisins de l’entité.
  • MINIMUMLes valeurs Null sont remplacées par la valeur minimum (la plus faible) des voisins de l’entité.
  • MAXIMUMLes valeurs Null sont remplacées par la valeur maximum (la plus élevée) des voisins de l’entité.
  • MEDIANLes valeurs Null sont remplacées par la valeur médiane (valeur centrale triée) des voisins de l’entité.
  • TEMPORAL_TRENDLes valeurs Null sont remplacées en fonction de la tendance de cet emplacement unique.
String
conceptualization_of_spatial_relationships
(Facultatif)

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

  • FIXED_DISTANCELes entités voisines au sein d’une distance critique spécifiée (valeur du paramètre distance_band) de chaque entité sont comprises dans les calculs. Tout ce qui se trouve hors de la distance critique est exclu.
  • K_NEAREST_NEIGHBORSLes k entités les plus proches sont incluses dans les calculs ; k est un paramètre numérique spécifié.
  • CONTIGUITY_EDGES_ONLYSeules les entités surfaciques voisines qui partagent une limite ou se chevauchent influencent les calculs de l'entité surfacique cible.
  • CONTIGUITY_EDGES_CORNERSLes 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)

La distance de limite de l’option FIXED_DISTANCE du paramètre conceptualization_of_spatial_relationships. Les entités se trouvant à l’extérieur de la limite spécifiée pour une entité cible ne sont pas prises en compte dans les calculs pour cette entité. Ce paramètre n’est pas disponible pour l’option CONTIGUITY_EDGES_ONLY ou CONTIGUITY_EDGES_CORNERS

Linear Unit
temporal_neighborhood
(Facultatif)

Intervalle avant et arrière dans le temps qui détermine 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.

Ce paramètre est requis si la valeur du paramètre location_id est spécifiée.

Field
number_of_spatial_neighbors
(Facultatif)

Nombre de voisins les plus proches allant être inclus dans les calculs.

Si l’option FIXED_DISTANCE, CONTIGUITY_EDGES_ONLY ou CONTIGUITY_EDGES_CORNERS du paramètre conceptualization_of_spatial_relationships est choisie, 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.

Ce paramètre permet d’apparier des entités du paramètre in_features aux lignes dans le paramètre related_table ou de spécifier un identifiant d’emplacement unique pour identifier les voisins temporels.

Field
related_table
(Facultatif)

La table ou vue tabulaire contenant les données temporelles de chaque entité dans le paramètre in_features.

Table View
related_location_id
(Facultatif)

Un champ d’entier dans le paramètre related_table qui contient la valeur du paramètre 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 le paramètre in_features. Ce champ peut servir à réintégrer les résultats dans le 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 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 fournie.

Table
append_to_input
(Facultatif)

Indique si les champs de valeur remplis sont ajoutés aux entités en entrée ou si une classe d’entités en sortie est créée avec les champs de valeur remplis. Si vous ajoutez les champs, vous ne pouvez pas fournir de table associée et l’environnement de système de coordonnées en sortie est ignoré.

  • APPEND_TO_INPUTLes champs contenant les valeurs spécifiées sont ajoutés aux entités en entrée. Cette option modifie les données en entrée.
  • NEW_FEATURESUne classe d’entités en sortie est créée contenant les champs de valeur remplis. Il s’agit de l’option par défaut.
Boolean

Sortie obtenue

NomExplicationType de données
updated_features

Entités en entrée mises à jour contenant les champs de valeur remplis

Feature Layer

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 la fonction 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 autonome Python ci-dessous illustre l’utilisation de la fonction 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 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, you 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 you 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 that bound each other are considered neighbors
    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 an error occurred when running the tool, print the messages
    print(arcpy.GetMessages())

Informations de licence

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

Rubriques connexes