Rellenar los valores que faltan (Minería de patrones en espacio-tiempo)

Resumen

Reemplaza valores que faltan (nulos) por valores estimados según los vecinos espaciales, los vecinos del espacio-tiempo o valores de serie temporal.

Más información sobre cómo funciona Rellenar valores que faltan

Ilustración

Ejemplo de la herramienta Rellenar los valores que faltan

Uso

  • El valor de Entidades de entrada puede ser puntos o polígonos.

  • La salida resultante contendrá tres campos para cada campo del parámetro Campos para rellenar. El primero contendrá los valores originales y rellenados y el segundo contendrá un indicador que señala que el valor se ha estimado. El campo estimado mantendrá su nombre de campo original, pero los alias de campo se crearán con el siguiente formato de nombre: <field>_FILLED y <field>_ESTIMATED. El tercer campo es el campo de número de vecinos, <field>_ N_NEIGHBORS, que se usa en los cálculos de cada valor estimado.

  • La salida también contendrá campos con valores que pueden ayudarle a comprender el número de vecinos y el rango de valores vecinos utilizados para calcular el valor objetivo que falta. Si el parámetro Método de relleno está establecido en la opción Promedio, se notifica la desviación estándar (<field>_STD) de los vecinos utilizada en los cálculos. Se notifica el valor máximo de vecinos para la opción Mínimo y el valor mínimo de vecinos para la opción Máximo. Si el parámetro Método de relleno está establecido en la opción Mediana, se notifica la desviación absoluta media de los vecinos. Si los valores que faltan se van a rellenar utilizando la opción Tendencia temporal, el campo incluirá la suma de los valores residuales cuadrados de la spline. El campo NNBRS contendrá el recuento de vecinos utilizado para calcular los valores estimados.

  • Puede incluir campos que no contengan valores nulos. Estos campos se copiarán en la salida, pero no tendrán asociados campos adicionales en la salida (por ejemplo, <field>_FILLED o <field>_ESTIMATED). También puede proporcionar un valor para el parámetro Id. único que se agregará a la salida y que se podrá utilizar para volver a unir sus resultados al valor de Clase de entidad de entrada.

  • El campo NUM_EST (TOT_EST si utiliza una tabla relacionada) es el número total de variables estimadas para el registro asociado. Este campo se utiliza para representar el mapa de salida.

  • Puede incorporar los campos adicionales a la clase de entidad de entrada mediante el parámetro Incorporar campos a entidades de entrada. Si incorpora estos campos, no se puede proporcionar una tabla relacionada.

  • Esta herramienta se puede utilizar con los datos del panel almacenados como formas repetidas o con una tabla relacionada. Si se especifica un valor para el parámetro Id. de ubicación, la herramienta reconocerá que la entrada son datos del panel y se necesitará el parámetro Campo de tiempo.

  • El valor de Id. de ubicación es un campo de tipo entero y debe representar una ubicación única y estática. No debe tener coordenadas X,Y diferentes con el tiempo.

  • Si se elige la opción Distancia fija, Solo bordes de contigüidad o Bordes o esquinas de contigüidad para el parámetro Conceptualización de relaciones espaciales, se puede simular una ventana de espacio-tiempo eligiendo un valor para los parámetros Banda de distancia y Vecindad temporal.

  • Si se elige la opción Distancia fija, Solo bordes de contigüidad o Bordes o esquinas de contigüidad para el parámetro Conceptualización de relaciones espaciales, se puede definir un valor para el parámetro Número de vecinos espaciales para especificar una cantidad mínima de vecinos.

  • La opción Tendencia temporal para el parámetro Método de relleno solo está disponible si se han establecido valores para los parámetros Id. de ubicación y Campo de tiempo.

  • Cuando utilice la opción Tendencia temporal para rellenar valores, la ubicación con un valor nulo que se rellena debe tener como mínimo dos periodos de tiempo con valores al inicio y al menos dos periodos de tiempo con valores al final de la serie temporal para rellenarse. Debido a este requisito, los valores nulos presentes en los dos primeros o en los dos últimos periodos de tiempo nunca se podrán rellenar mediante la opción Tendencia temporal.

  • La opción Tendencia temporal utiliza el método Spline univariante interpolada del paquete de interpolación de SciPy.

  • Los valores que faltan que no se pudieron estimar ni rellenar se notificarán en la salida con el formato con que los valores nulos existían originalmente.

  • Al rellenar los valores que faltan de los datos del panel solo con vecinos espaciales, establezca el parámetro Vecindad temporal en 0.

  • Si sus datos son del panel, se puede utilizar el parámetro Vecindad temporal para filtrar por tiempo. Como alternativa, valor de Vecindad temporal de 0 le permite consultar solamente vecinos espaciales.

  • Es importante inspeccionar los valores rellenados resultantes para asegurarse de que sean significativos para su análisis. Por ejemplo, si su campo original era un entero y la herramienta se definió para rellenar con la media de los vecinos espaciales, los resultados acabarán teniendo decimales que puede que no tengan sentido si el campo de entrada era un recuento. Además, según el método empleado en el parámetro Tendencia temporal, puede ser posible obtener un resultado con un número negativo, aunque ninguno de los valores existentes sea negativo. Esto no tendría sentido si el campo que estaba rellenado era de población.

  • El campo N_NEIGHBORS informa sobre el número de vecinos incluidos en los cálculos de esa entidad. Si el parámetro Método de relleno está definido como Tendencia temporal, el número representa los valores que existen en la serie temporal para ese valor de Id. de ubicación (por ejemplo, si solo faltase un valor en su serie temporal, informaría del número de periodos de tiempo de su dataset menos 1). Si utiliza un valor para el parámetro Conceptualización de relaciones espaciales de Vecinos K más cercanos además de un valor para Vecindad temporal, el número de vecinos sobre los que se informa incluirá los vecinos K de la entidad dentro de la ventana de tiempo especificada.

  • Durante la ejecución de la herramienta, en la parte inferior del panel Geoprocesamiento se escriben los mensajes que describen detalles del análisis y las características de los campos rellenados. Puede acceder a los mensajes desplazándose por la barra de progreso, haciendo clic en el botón emergente Emergente o ampliando la sección de mensajes en el panel Geoprocesamiento. También puede acceder a los mensajes de una ejecución anterior de la herramienta Rellenar los valores que faltan mediante el historial de geoprocesamiento.

Parámetros

EtiquetaExplicaciónTipo de datos
Entidades de entrada

La clase de entidad que contiene los valores nulos que se van a rellenar.

Feature Layer
Entidades de salida
(Opcional)

La salida que incluirá los valores rellenados (estimados).

Si se especifica valor para el parámetro Tabla relacionada, Entidades de salida contendrá el número de valores estimados en cada ubicación y Tabla de salida contendrá los valores rellenados (estimados).

Feature Class
Campos para rellenar

Los campos numéricos que contienen los datos que faltan (valores nulos).

Field
Método de relleno

Especifica el tipo de cálculo que se aplicará. La opción Tendencia temporal solo está disponible si se especifican valores para los parámetros Id. de ubicación y Campo de tiempo.

  • Media —Los valores nulos se reemplazarán por el valor medio (promedio) de los vecinos de la entidad.
  • Mínimo —Los valores nulos se reemplazarán por el valor mínimo (más pequeño) de los vecinos de la entidad.
  • Máximo —Los valores nulos se reemplazarán por el valor máximo (más grande) de los vecinos de la entidad.
  • Mediana —Los valores nulos se reemplazarán por la mediana (valor medio ordenado) de los vecinos de la entidad.
  • Tendencia temporal —Los valores nulos se reemplazarán en función de la tendencia en esa ubicación única.
String
Conceptualización de relaciones espaciales
(Opcional)

Especifica cómo se definirán las relaciones espaciales entre las entidades.

  • Distancia fija — En los cálculos se incluirán las entidades vecinas que están dentro de una distancia crítica especificada (el valor del parámetro Banda de distancia) de cada entidad y se excluirá todo lo que está fuera de la distancia crítica.
  • K vecinos más próximos — Las entidades k más cercanas se incluirán en los cálculos; k es un parámetro numérico especificado.
  • Solo bordes de contigüidad — Solo las entidades de polígono vecinas que comparten un límite o que se superponen tendrán influencia sobre los cálculos de la entidad poligonal de destino.
  • Bordes o esquinas de contigüidad — Las entidades poligonales que comparten un límite, comparten un nodo o se superponen tendrán influencia sobre los cálculos de la entidad poligonal de destino.
  • Obtener ponderaciones espaciales a partir del archivo — Las relaciones espaciales se definirán por un archivo de ponderaciones espaciales especificadas. La ruta del archivo de ponderaciones espaciales se especifica mediante el parámetro Archivo de matriz de ponderaciones.
String
Banda de distancia
(Opcional)

La distancia de valor límite de la opción Distancia fija del parámetro Conceptualización de relaciones espaciales. Las entidades que están fuera del valor límite especificado para una entidad de destino se ignorarán en los cálculos de esa entidad. Este parámetro no está disponible para las opciones Solo bordes de contigüidad o Bordes o esquinas de contigüidad.

Linear Unit
Vecindad temporal
(Opcional)

Un intervalo hacia delante y hacia atrás en el tiempo que determina las entidades que se utilizarán en los cálculos para la entidad de destino. Las entidades que no estén dentro de este intervalo de la entidad de destino se ignorarán en los cálculos para esa entidad.

Time Unit
Campo de tiempo
(Opcional)

El campo que contiene el registro de tiempo para cada registro del dataset. Este campo de tiempo debe ser de tipo Fecha.

Este parámetro es obligatorio si se proporciona un valor para el parámetro Id. de ubicación.

Field
Número de vecinos espaciales
(Opcional)

El número de vecinos más cercanos que se incluirá en los cálculos.

Si se elige la opción Distancia fija, Solo bordes de contigüidad o Bordes o esquinas de contigüidad del parámetro Conceptualización de relaciones espaciales, este número es la cantidad mínima de vecinos que se incluirá en los cálculos.

Long
Id. de ubicación
(Opcional)

Un campo de tipo entero que contiene un número Id. único para cada ubicación.

Este parámetro se utiliza para cotejar las entidades del parámetro Entidades de entrada con las filas del parámetro Tabla relacionada o para especificar un Id. de ubicación único para determinar los vecinos temporales.

Field
Tabla relacionada
(Opcional)

La tabla o vista de tabla que contiene los datos temporales para cada una de las entidades del parámetro Entidades de entrada.

Table View
Id. de ubicación relacionada
(Opcional)

Un campo de tipo entero del parámetro Tabla relacionada que contiene el valor del parámetro Id. de ubicación sobre el que se basará la relación.

Field
Archivo de matriz de ponderaciones espaciales
(Opcional)

La ruta a un archivo que contenga los pesos que definen las relaciones espaciales, y potencialmente temporales entre las entidades.

File
Id. único
(Opcional)

Un campo de tipo entero que contiene un valor diferente para cada registro del parámetro Entidades de entrada. Este campo se puede utilizar para unir los resultados de nuevo al dataset original.

Si no tiene un campo Unique ID, puede crear uno agregando un campo de tipo entero a la tabla de atributos de la entidad de entrada y calculando los valores de campo iguales que el campo FID o OBJECTID.

Field
Valor nulo
(Opcional)

El valor que representa valores nulos (que faltan). Si no se especifica ningún valor, se asumirá el valor <Null> para las clases de entidad de la geodatabase. Para una entrada de shapefile, se necesita un valor numérico del marcador de posición nulo.

Double
Tabla de Salida
(Opcional)

La tabla de salida que incluirá los valores rellenados (estimados).

La tabla de salida es obligatoria si se ha proporcionado una tabla relacionada.

Table
Incorporar campos a entidades de entrada
(Opcional)

Especifica si los campos de valores rellenados se incorporarán a las entidades de entrada o si se creará una clase de entidad de salida con los campos de valores rellenados. Si incorpora los campos, no puede proporcionar una tabla relacionada y el entorno del sistema de coordenadas de salida se ignorará.

  • Activado: los campos que contienen los valores rellenados se incorporarán a las entidades de entrada. Esta opción modifica los datos de entrada.
  • Desactivado: se creará una clase de entidad de salida que contenga los campos valores rellenados. Esta es la opción predeterminada.

Boolean

Salida derivada

EtiquetaExplicaciónTipo de datos
Entidades de entrada actualizadas

Las entidades de entrada actualizadas que contienen los campos de valores rellenados.

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})
NombreExplicaciónTipo de datos
in_features

La clase de entidad que contiene los valores nulos que se van a rellenar.

Feature Layer
out_features
(Opcional)

La salida que incluirá los valores rellenados (estimados).

Si se especifica valor para el parámetro related_table, out_features contendrá el número de valores estimados en cada ubicación y out_table contendrá los valores rellenados (estimados).

Feature Class
fields_to_fill
[fields_to_fill,...]

Los campos numéricos que contienen los datos que faltan (valores nulos).

Field
fill_method

Especifica el tipo de cálculo que se aplicará. La opción TEMPORAL_TREND solo está disponible si se especifican valores para los parámetros location_id y time_field.

  • AVERAGELos valores nulos se reemplazarán por el valor promedio (medio) de los vecinos de la entidad.
  • MINIMUMLos valores nulos se reemplazarán por el valor mínimo (más pequeño) de los vecinos de la entidad.
  • MAXIMUMLos valores nulos se reemplazarán por el valor máximo (más grande) de los vecinos de la entidad.
  • MEDIANLos valores nulos se reemplazarán por la mediana (valor medio ordenado) de los vecinos de la entidad.
  • TEMPORAL_TRENDLos valores nulos se reemplazarán en función de la tendencia en esa ubicación única.
String
conceptualization_of_spatial_relationships
(Opcional)

Especifica cómo se definirán las relaciones espaciales entre las entidades.

  • FIXED_DISTANCEEn los cálculos se incluirán las entidades vecinas que están dentro de una distancia crítica especificada (el valor del parámetro distance_band) de cada entidad y se excluirá todo lo que está fuera de la distancia crítica.
  • K_NEAREST_NEIGHBORSLas entidades k más cercanas se incluirán en los cálculos; k es un parámetro numérico especificado.
  • CONTIGUITY_EDGES_ONLYSolo las entidades de polígono vecinas que comparten un límite o que se superponen tendrán influencia sobre los cálculos de la entidad poligonal de destino.
  • CONTIGUITY_EDGES_CORNERSLas entidades poligonales que comparten un límite, comparten un nodo o se superponen tendrán influencia sobre los cálculos de la entidad poligonal de destino.
  • GET_SPATIAL_WEIGHTS_FROM_FILELas relaciones espaciales se definirán por un archivo de ponderaciones espaciales especificadas. La ruta al archivo de ponderaciones espaciales se especifica mediante el parámetro Weights_Matrix_File.
String
distance_band
(Opcional)

La distancia de valor límite para la opción FIXED_DISTANCE del parámetro conceptualization_of_spatial_relationships. Las entidades que están fuera del valor límite especificado para una entidad de destino se ignorarán en los cálculos de esa entidad. Este parámetro no está disponible para las opciones CONTIGUITY_EDGES_ONLY o CONTIGUITY_EDGES_CORNERS.

Linear Unit
temporal_neighborhood
(Opcional)

Un intervalo hacia delante y hacia atrás en el tiempo que determina las entidades que se utilizarán en los cálculos para la entidad de destino. Las entidades que no estén dentro de este intervalo de la entidad de destino se ignorarán en los cálculos para esa entidad.

Time Unit
time_field
(Opcional)

El campo que contiene el registro de tiempo para cada registro del dataset. Este campo de tiempo debe ser de tipo Fecha.

Este parámetro es obligatorio si se proporciona un valor para el parámetro location_id.

Field
number_of_spatial_neighbors
(Opcional)

El número de vecinos más cercanos que se incluirá en los cálculos.

Si se elige la opción FIXED_DISTANCE, CONTIGUITY_EDGES_ONLY o CONTIGUITY_EDGES_CORNERS del parámetro conceptualization_of_spatial_relationships, este número es la cantidad mínima de vecinos que se incluirá en los cálculos.

Long
location_id
(Opcional)

Un campo de tipo entero que contiene un número Id. único para cada ubicación.

Este parámetro se utiliza para cotejar las entidades del parámetro in_features con las filas del parámetro related_table o para especificar un Id. de ubicación único para determinar los vecinos temporales.

Field
related_table
(Opcional)

La tabla o vista de tabla que contiene los datos temporales para cada una de las entidades del parámetro in_features.

Table View
related_location_id
(Opcional)

Un campo de tipo entero del parámetro related_table que contiene el valor del parámetro location_id sobre el que se basará la relación.

Field
weights_matrix_file
(Opcional)

La ruta a un archivo que contenga los pesos que definen las relaciones espaciales, y potencialmente temporales entre las entidades.

File
unique_id
(Opcional)

Un campo de tipo entero que contiene un valor diferente para cada registro del parámetro in_features. Este campo se puede utilizar para unir los resultados de nuevo al dataset original.

Si no tiene un campo unique_id, puede crear uno agregando un campo de tipo entero a la tabla de clases de entidad y calculando los valores de campo iguales que el campo FID o OBJECTID.

Field
null_value
(Opcional)

El valor que representa valores nulos (que faltan). Si no se especifica ningún valor, se asumirá el valor <Null> para las clases de entidad de la geodatabase. Para una entrada de shapefile, se necesita un valor numérico del marcador de posición nulo.

Double
out_table
(Opcional)

La tabla de salida que incluirá los valores rellenados (estimados).

La tabla de salida es obligatoria si se ha proporcionado una tabla relacionada.

Table
append_to_input
(Opcional)

Especifica si los campos de valores rellenados se incorporarán a las entidades de entrada o si se creará una clase de entidad de salida con los campos de valores rellenados. Si incorpora los campos, no puede proporcionar una tabla relacionada y el entorno del sistema de coordenadas de salida se ignorará.

  • APPEND_TO_INPUTLos campos que contienen los valores rellenados se incorporarán a las entidades de entrada. Esta opción modifica los datos de entrada.
  • NEW_FEATURESSe creará una clase de entidad de salida que contenga los campos valores rellenados. Esta es la opción predeterminada.
Boolean

Salida derivada

NombreExplicaciónTipo de datos
updated_features

Las entidades de entrada actualizadas que contienen los campos de valores rellenados.

Feature Layer

Muestra de código

Ejemplo 1 de FillMissingValues (ventana de Python)

El siguiente script de la ventana de Python muestra cómo utilizar la función FillMissingValues.

import arcpy
arcpy.env.workspace = r"C:\STPM\Chicago.gdb"
arcpy.FillMissingValues_stpm("Chicago_Data", "Chicago_Filled", "COUNT", "AVERAGE",
                             "K_NEAREST_NEIGHBORS", "", "", "", 8)
Ejemplo 2 de FillMissingValues (script independiente)

El siguiente script independiente de Python muestra cómo utilizar la función 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())

Temas relacionados