Análisis de colocación (Estadística espacial)

Resumen

Mide patrones locales de asociación espacial, o colocación, entre dos categorías de entidades de puntos con la estadística de cociente de colocación.

Más información sobre cómo funciona Análisis de colocación

Ilustración

Diagrama de Análisis de colocación

Uso

  • Esta herramienta solo acepta entidades de puntos. Las categorías que desea analizar se pueden encontrar en el mismo dataset o en dos separados. También puede utilizar dos datasets separados para considerarlos categorías. Por ejemplo, es posible que tenga un dataset de puntos con diversos tipos de restaurantes que solo se considerará de la categoría RESTAURANTES y otro dataset de puntos con varios tipos de delitos que solo se considerará de la categoría DELITOS.

  • Para cada entidad de la Categoría de interés, la herramienta determinará si las entidades de la Categoría vecina están más o menos presentes en su vecindad en comparación con la distribución espacial general de las categorías. Por ejemplo, para cada entidad de categoría A, un valor resultante de cociente de colocación local (LCLQ) de 1 significa que es tan probable que tenga la categoría B como vecino como cabe esperar. Un valor LCLQ mayor que 1 significa que tiene mayor probabilidad (que lo aleatorio) de tener B como vecino, y un valor LCLQ menor que 1 significa que la entidad de categoría A tiene menor probabilidad de tener un punto de categoría B como vecino (que una distribución aleatoria).

    Nota:

    La relación de colocación de este análisis no es simétrica. Los valores de cociente de colocación calculados al comparar la categoría A con la categoría B serán distintos de los valores de cociente de colocación calculados al comparar la categoría B con la A.

    Además, si cuenta con la categoría C en su vecindad, los cocientes de colocación resultantes no serán los mismo que si solo tenía las categorías A y B. En función de lo que pregunte, puede que sea importante crear un subconjunto de los datos para incluir solo las categorías A y B. Sin embargo, al crear un subconjunto, pierde información sobre el resto de categorías presentes. Seleccionar y crear un subconjunto de los datos es importante si sabe con certeza que la ocurrencia de una categoría no se ve afectada en absoluto por la ocurrencia de otra.

  • Las relaciones espaciales se pueden definir con una Banda de distancia, K vecinos más cercanos, o bien un archivo de matriz de ponderaciones espaciales mediante el parámetro Tipo de vecindad.

  • Puede analizar sus datos con ventanas de espacio-tiempo si especifica los parámetros Campo de tiempo de interés, Campo de tiempo de categorías vecinas y Tipo de relación temporal. Gracias a las ventanas de espacio-tiempo puede controlar las entidades que se incluyen en la vecindad analizada. Las entidades que están cercanas en el espacio y el tiempo se analizarán juntas, ya que todas las relaciones entre entidades se evalúan respecto a la ubicación y la marca de tiempo de la entidad de destino. También puede especificar si la herramienta busca entidades antes o después de la entidad de destino, o también puede crear un periodo de tiempo durante el cual la herramienta buscará entidades antes y después de la entidad de destino que se analiza.

  • El parámetro Número de permutaciones se utiliza para calcular valores P. Elegir el número de permutaciones es un equilibrio entre la precisión y un mayor tiempo de procesamiento. Mientras que el valor predeterminado de permutaciones es 99, se recomienda que aumente el número para los resultados finales del análisis.

  • También se puede calcular un cociente de colocación global especificando una ruta para el parámetro Tabla de salida para relaciones globales. Esta tabla contiene cocientes de colocación, para que pueda analizar las medidas de la asociación espacial entre todas las categorías de su dataset. De esta manera, puede explorar otras relaciones en los datos, puesto que puede encontrar otras categorías firmemente colocadas globalmente. Si, en efecto, encuentra otras categorías firmemente colocadas, puede extender su análisis bien explorando la naturaleza local de esa relación ejecutando de nuevo la herramienta con esas categorías de interés, o bien ejecutando de nuevo la herramienta eliminando esas categorías del análisis si cree que las categorías firmemente colocadas introducen un sesgo innecesario en los resultados.

  • La salida de esta herramienta es un mapa que muestra todas las Entidades de entrada de interés simbolizadas en función de si estaban colocadas significativamente o aisladas de las Entidades vecinas de entrada. La herramienta agrega campos a las Entidades de salida incluido el cociente de colocación local calculado, valor P, bin LCLQ utilizado para la simbolización y el tipo de LCLQ. Se puede especificar una Tabla de salida para relaciones globales que indicará los cocientes de colocación globales entre todas las categorías del Campo de interés y todas las categorías presentes en el Campo que contiene la categoría vecina.

  • Esta herramienta admite el procesamiento en paralelo y utiliza el 50 por ciento de los procesadores disponibles de forma predeterminada. El número de procesadores puede aumentar o disminuir usando el entorno Factor de procesamiento en paralelo.

Sintaxis

ColocationAnalysis(input_type, in_features_of_interest, output_features, {field_of_interest}, {time_field_of_interest}, {category_of_interest}, {input_feature_for_comparison}, {field_for_comparison}, {time_field_for_comparison}, {category_for_comparison}, neighborhood_type, {number_of_neighbors}, {distance_band}, {weights_matrix_file}, {temporal_relationship_type}, {time_step_interval}, {number_of_permutations}, {local_weighting_scheme}, {output_table})
ParámetroExplicaciónTipo de datos
input_type

Especifica si las in_features_of_interest provendrán del mismo dataset con categorías especificadas, distintos datasets con categorías especificadas o distintos datasets que se considerarán su propia categoría (por ejemplo, un dataset cuyos puntos representan guepardos y un segundo dataset cuyos puntos representan gacelas).

  • SINGLE_DATASETLas categorías a analizar existen dentro de un campo en un único dataset.
  • TWO_DATASETSLas categorías a analizar existen en campos de datasets separados.
  • DATASETS_WITHOUT_CATEGORIESSe analizarán dos datasets separados que representan dos categorías.
String
in_features_of_interest

La clase de entidad con puntos con categorías representativas.

Feature Layer
output_features

La clase de entidad de salida que contiene todas las in_features con campos que representan la puntuación del cociente de colocación local y valores P.

Feature Class
field_of_interest
(Opcional)

El campo que contiene las categorías a analizar.

Field
time_field_of_interest
(Opcional)

Un campo de fecha con una marca de tiempo opcional para cada entidad a fin de analizar puntos con una ventana de espacio-tiempo. Las entidades cercanas en el espacio y el tiempo se considerarán vecinas y se analizarán juntas.

Field
category_of_interest
(Opcional)

La categoría base para el análisis. La herramienta determinará, para cada category_of_interest, el grado de atracción o colocación de la categoría base en relación con la neighboring_category.

String
input_feature_for_comparison
(Opcional)

La clase de entidad de entrada que contiene los puntos con las categorías que se compararán.

Feature Layer
field_for_comparison
(Opcional)

El campo de las input_feature_for_comparison con la categoría que se va a comparar.

Field
time_field_for_comparison
(Opcional)

Un campo de fecha con una marca de tiempo para cada entidad a fin de analizar los puntos con una ventana de espacio-tiempo. Las entidades cercanas en el espacio y el tiempo se considerarán vecinas y se analizarán juntas.

Field
category_for_comparison
(Opcional)

La categoría vecina para el análisis. La herramienta determinará el grado de atracción o aislamiento de la category_of_interest en relación con la category_for_comparison.

String
neighborhood_type

Especifica cómo se definen las relaciones espaciales entre las entidades.

  • DISTANCE_BANDCada entidad se analiza dentro del contexto de las entidades vecinas. Las entidades vecinas que se encuentran dentro de la distancia crítica especificada que define el parámetro distance_band recibirán un peso de 1 e influyen en los cálculos de la entidad de destino. Las entidades vecinas fuera de la distancia crítica reciben un peso de cero y no tienen influencia sobre los cálculos de una entidad de destino.
  • K_NEAREST_NEIGHBORSLas entidades k más cercanas se incluyen en el análisis como vecinas. El parámetro number_of_neighbors especifica la cantidad de vecinos. La influencia del vecino en el análisis se pondera en función de la distancia al vecino más lejano. Esta es la opción predeterminada.
  • GET_SPATIAL_WEIGHTS_FROM_FILECuando se utiliza SINGLE_DATASET como input_type, es posible definir las relaciones espaciales según un archivo de matriz de ponderaciones espaciales especificado. La influencia del vecino en el análisis se pondera en función de la distancia al vecino más lejano. La ruta del archivo de ponderaciones espaciales se especifica mediante el parámetro weights_matrix_file.
String
number_of_neighbors
(Opcional)

El número de vecinos alrededor de cada entidad que se utilizará para probar relaciones locales entre categorías. Si se deja en blanco, el valor predeterminado es 8. El valor proporcionado debe ser lo suficientemente alto como para detectar las relaciones entre entidades, pero lo suficientemente bajo como para seguir identificando patrones locales.

Long
distance_band
(Opcional)

El tamaño de vecindario es una distancia fija o constante para cada entidad. Todas las entidades dentro de esta distancia se utilizarán para probar relaciones locales entre categorías. Si se deja en blanco, la distancia utilizada será la distancia media en la que cada entidad tenga al menos ocho vecinos.

Linear Unit
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
temporal_relationship_type
(Opcional)

Especifica cómo se definen las relaciones temporales entre las entidades.

  • BEFORELa ventana de tiempo retrocede en el tiempo para cada in_features_of_interest. Las entidades vecinas deben tener una marca de fecha/hora anterior a la marca de fecha/hora de la entidad de interés para incluirlas en el análisis. Esta es la opción predeterminada.
  • AFTERLa ventana de tiempo avanza en el tiempo para cada in_features_of_interest. Las entidades vecinas deben tener una marca de fecha/hora posterior a la marca de fecha/hora de la entidad de interés para incluirlas en el análisis.
  • SPANLa ventana de tiempo avanza y retrocede en el tiempo para cada in_features_of_interest. Las entidades vecinas que tienen una marca de fecha/hora dentro del time_step_interval antes o después de la marca de fecha/hora de la entidad de interés se incluirán en el análisis. Por ejemplo, si el time_step_interval se define como 1 semana, la ventana se visualizará 1 semana antes y 1 semana después de la entidad de destino.
String
time_step_interval
(Opcional)

Un entero y una unidad de medida que representa el número de unidades de tiempo que componen la ventana de tiempo.

Time Unit
number_of_permutations
(Opcional)

Este análisis utiliza permutaciones para crear una distribución de referencia. Elegir el número de permutaciones es un equilibrio entre la precisión y un mayor tiempo de procesamiento. Elija su preferencia de velocidad frente a precisión. Los resultados más sólidos y precisos tardan más en calcularse.

  • 99Con 99 permutaciones, el pseudo valor P más pequeño posible es 0,02 y los demás pseudo valores P serán múltiplos de este valor. Esta es la opción predeterminada.
  • 199Con 199 permutaciones, el pseudo valor P más pequeño posible es 0,01 y los demás pseudo valores p serán múltiplos pares de este valor.
  • 499Con 499 permutaciones, el pseudo valor p más pequeño posible es 0,004 y los demás pseudo valores p serán múltiplos pares de este valor.
  • 999Con 999 permutaciones, el pseudo valor p más pequeño posible es 0,002 y los demás pseudo valores p serán múltiplos pares de este valor.
  • 9999Con 9999 permutaciones, el pseudo valor p más pequeño posible es 0,0002 y los demás pseudo valores p serán múltiplos pares de este valor.
Long
local_weighting_scheme
(Opcional)

Especifica el tipo kernel que se usará para proporcionar la ponderación espacial. El kernel define cómo se relacionan las entidades entre sí dentro de su vecindad.

  • BISQUARELas entidades se ponderan en función de la distancia al vecino más lejano o al borde de la banda de distancia, y se asigna una ponderación de 0 a todas las entidades que se encuentren fuera de la vecindad especificada.
  • GAUSSIANLas entidades se ponderan en función de la distancia al vecino más lejano o al borde de la banda de distancia, pero caen más rápidamente que Bicuadrado. Se asigna una ponderación de 0 a todas las entidades que se encuentren fuera de la vecindad especificada. Esta es la opción predeterminada.
  • NONENo se aplica ningún esquema de ponderación y todas las entidades dentro de la vecindad reciben una ponderación de 1 y contribuyen de la misma manera. Todas las entidades fuera de la vecindad reciben una ponderación de 0.
String
output_table
(Opcional)

Cuando se especifica un valor para este parámetro, se genera una tabla para mostrar los cocientes de colocación globales entre todas las categorías del Campo de interés y todas las categorías del Campo que contiene la categoría vecina. Es posible utilizar esta tabla de manera exploratoria para ayudarle a determinar las categorías locales a analizar.

Si se utilizan Datasets sin categorías como el Tipo de entrada, se calculan cocientes de colocación globales para cada dataset con respecto a los demás y a sí mismos.

Table

Muestra de código

Ejemplo 1 de ColocationAnalysis (ventana de Python)

Los siguientes scripts de la ventana de Python muestran cómo utilizar la función ColocationAnalysis.

import arcpy
arcpy.env.workspace = r"C:\Analysis"
# Two categories from the same categorical field.
# Find the colocation of elementary schools and middle schools
arcpy.stats.ColocationAnalysis("SINGLE_DATASET", r"Colocation.gdb\Schools",
                               r"Outputs.gdb\School_Colocation", "Facility_Type", None,
                               "Elementary", None, None, None, "Middle", "K_NEAREST_NEIGHBORS",
                               8, None, None, "BEFORE", None, 99, "BISQUARE",
                               r"Outputs.gdb\Global_School_Colocation")
# Categories from different datasets without categories
# Find the colocation of elementary schools and hospitals
arcpy.stats.ColocationAnalysis("DATASETS_WITHOUT_CATEGORIES", r"Colocation.gdb\Schools",
                               r"Outputs.gdb\Schools_Hospitals", None, None, '',
                               r"Colocation.gdb\Hospitals", None, None, '', "DISTANCE_BAND",
                               None, "30 Kilometers", None, "BEFORE", None, 199, "GAUSSIAN",
                               None)
# Categories from two datasets
# Find the colocation of elementary schools and hospitals
arcpy.stats.ColocationAnalysis("TWO_DATASETS", r"Colocation.gdb\Schools",
                               r"Outputs.gdb\Elementary_Hospitals", "Facility_Type", None,
                               "Elementary", r"Colocation.gdb\Hospitals", None, None, '',
                               "K_NEAREST_NEIGHBORS", 15, None, None, "BEFORE", None, 499,
                               "NONE", None)
Ejemplo 2 de ColocationAnalysis (script independiente)

El siguiente script independiente de Python muestra cómo utilizar la función ColocationAnalysis.

# Analyze the spatial relationship (colocation) between elementary school locations and hospital locations
# Two categories from the same categorical field.
# Find the colocation of elementary schools and  middle schools
intype = "SINGLE_DATASET"
infc_interest = r"Colocation.gdb\Schools"
outfc = r"Outputs.gdb\School_Colocation"
field_interest = "Facility_Type"
time_field = ""
cat_interest = "Elementary"
infc_neigh = ""
field_neigh = ""
time_field_neigh = ""
cat_neigh = "Middle"
neighborhood_type = "K_NEAREST_NEIGHBORS"
num_neighbors = 8
dist_band = ""
swm_file = ""
temporal_type = ""
time_step_interval = ""
num_permutation = 99
weighting_scheme ="BISQUARE"
out_global_tbl = r"Outputs.gdb\Global_School_Colocation"
arcpy.stats.ColocationAnalysis(intype, infc_interest, outfc, field_interest,
                               time_field, cat_interest, infc_neigh, field_neigh,
                               time_field_neigh, cat_neigh, neighborhood_type,
                               num_neighbors, dist_band, swm_file, temporal_type,
                               time_step_interval num_permutation, weighting_scheme,
                               out_global_tbl)
# Categories from different datasets without categories
# Find the colocation of schools and hospitals
intype = "DATASETS_WITHOUT_CATEGORIES"
infc_interest = r"Colocation.gdb\Schools"
outfc = r"Outputs.gdb\Schools_Hospitals"
field_interest = ""
time_field = ""
cat_interest = ""
infc_neigh = r"Colocation.gdb\Hospitals"
field_neigh = ""
time_field_neigh = ""
cat_neigh = ""
neighborhood_type = "DISTANCE_BAND"
num_neighbors = ""
dist_band = "30 Kilometers"
swm_file = ""
temporal_type = ""
time_step_interval = ""
num_permutation = 199
weighting_scheme ="GAUSSIAN"
out_global_tbl = ""
arcpy.stats.ColocationAnalysis(intype, infc_interest, outfc, field_interest,
                               time_field, cat_interest, infc_neigh, field_neigh,
                               time_field_neigh, cat_neigh, neighborhood_type,
                               num_neighbors, dist_band, swm_file, temporal_type,
                               time_step_interval num_permutation, weighting_scheme,
                               out_global_tbl)
# Categories from two datasets
# Find the colocation of elementary schools and hospitals
intype = "TWO_DATASETS"
infc_interest = r"Colocation.gdb\Schools"
outfc = r"Outputs.gdb\Elementary_Hospitals"
field_interest = "Facility_Type"
time_field = ""
cat_interest = "Elementary"
infc_neigh = r"Colocation.gdb\Hospitals"
field_neigh = ""
time_field_neigh = ""
cat_neigh = ""
neighborhood_type = "K_NEAREST_NEIGHBORS"
num_neighbors = 15
dist_band = ""
swm_file = ""
temporal_type = ""
time_step_interval = ""
num_permutation = 499
weighting_scheme ="NONE"
out_global_tbl = ""
arcpy.stats.ColocationAnalysis(intype, infc_interest, outfc, field_interest,
                               time_field, cat_interest, infc_neigh, field_neigh,
                               time_field_neigh, cat_neigh, neighborhood_type,
                               num_neighbors, dist_band, swm_file, temporal_type,
                               time_step_interval num_permutation, weighting_scheme,
                               out_global_tbl)

Información de licenciamiento

  • Basic: Sí
  • Standard: Sí
  • Advanced: Sí

Temas relacionados