Skip To Content

Clustering multivariante restringido espacialmente

Resumen

Busca clústeres de entidades restringidos espacialmente en función de un conjunto de valores de atributos de entidades y de límites opcionales de tamaño de clúster.

Más información sobre cómo funciona Clustering multivariante restringido espacialmente

Ilustración

Diagrama multivariante restringido espacialmente

Uso

  • Esta herramienta produce una clase de entidad de salida con los campos utilizados en el análisis, más un nuevo campo de tipo entero denominado CLUSTER_ID. La representación en pantalla predeterminada se basa en el campo CLUSTER_ID y muestra a qué clúster pertenece cada entidad. Si indica que desea tres clústeres, por ejemplo, cada registro tendrá 1, 2 o 3 para el campo CLUSTER_ID.

  • La entrada puede ser puntos o polígonos.
  • Esta herramienta también crea mensajes y gráficos para ayudarle a comprender las características de los clústeres identificados. Puede acceder a los mensajes desplazándose sobre la barra de progreso, haciendo clic en el botón emergente o ampliando la sección de mensajes en el panel Geoprocesamiento. También puede acceder a los mensajes de la anterior ejecución de la herramienta Clustering multivariante restringido espacialmente a través del Historial de geoprocesamiento. Puede acceder a los gráficos creados seleccionando la pestaña Lista por gráficos Lista por gráficos en el panel Contenido.

  • Los Campos de análisis deben ser numéricos y deben contener una variedad de valores. Los campos sin variación (es decir, el mismo valor para cada registro) se eliminarán de los análisis, pero se incluirán en las Entidades de salida. Los campos categóricos se pueden utilizar con la herramienta si se representan como variables de simulación (un valor de uno para todas las entidades de una categoría y de ceros para el resto de entidades).

  • La herramienta Clustering multivariante restringido espacialmente construirá clústeres con espacio (y, posiblemente, restricciones temporales si se utiliza un matriz de ponderaciones espaciales). Para algunas aplicaciones quizá no desee imponer la contigüidad u otros requisitos de proximidad a los clústeres creados. En esos casos, utilice la herramienta Clustering multivariante para crear clústeres que no presenten restricciones espaciales.

  • Puede administrar el tamaño de los clústeres con el parámetro Restricciones del tamaño del clúster. Puede establecer umbrales mínimos o máximos que cada clúster debe cumplir. Las restricciones de tamaño pueden ser el Número de entidades que debe contener cada clúster o bien la suma de un Valor de atributo. Por ejemplo, si estaba agrupando los condados de los Estados Unidos en función de un conjunto de variables económicas, podría especificar que cada clúster tenga una población mínima de 5 millones y una población máxima de 25 millones.

  • Si se especifica una restricción Máximo por clúster, el algoritmo comienza con un solo clúster y dividirá y resolverá clústeres hasta que cada uno de los clústeres se encuentren por debajo del valor Máximo por clúster, teniendo en cuenta todas las variables con cada división. La división se detendrá una vez se llegue a la restricción, incluso si una posterior división de los clústeres existentes puede ofrecer un mejor resultado.

  • Si el máximo y el mínimo están establecidos en valores cercanos entre sí, es posible que no se cumplan las Restricciones del tamaño del clúster para uno de los clústeres resultantes.

  • En ocasiones, las Restricciones del tamaño del clúster pueden no respetarse en todos los clústeres, debido a la forma en que el árbol de expansión mínima está construido. La herramienta finalizará y el clúster que no haya cumplido las restricciones de tamaño se indicará en los mensajes.

  • Esta herramienta crea clústeres contiguos espacialmente. Las opciones de contigüidad habilitadas para las clases de entidad poligonal indican que las entidades solo pueden formar parte del mismo clúster si comparten un borde (Solo bordes de contigüidad) o si comparten un borde o un vértice (Bordes o esquinas de contigüidad) con otro miembro del clúster. La opción Triangulación de Delaunay restringida garantiza que los valores atípicos o las entidades de isla se puedan agrupar y formar clústeres desconectados.

  • Las Restricciones espaciales predeterminadas para Entidades de entrada de punto son Triangulación de Delaunay restringida, que garantiza que todos los miembros del clúster estén en proximidad y que una entidad se incluya en un clúster únicamente si tiene al menos a otra entidad como vecino natural. Este método utiliza la triangulación de Delaunay para buscar puntos vecinos y posteriormente recorta los triángulos con una envoltura convexa. Con ello, se garantiza que las entidades de puntos no puedan ser vecinas de ninguna otra entidad fuera de la envoltura convexa.

  • El método Triangulación de Delaunay restringida garantiza que las entidades colindantes estén en estrecha proximidad entre sí. Si sus datos presentan valores atípicos espaciales, este método puede tener poca repercusión, ya que los triángulos de Delaunay se extienden tanto que la restricción de envoltura convexa apenas afecta a las entidades que no estén en estrecha proximidad sin los valores atípicos espaciales.

  • Pueden imponerse Restricciones espaciales adicionales, como distancia fija o vecinos K más cercanos, utilizando la herramienta Generar matriz de ponderaciones espaciales para crear primero un archivo SWM y, a continuación, proporcionar la ruta hacia ese archivo para el parámetro Archivo de matriz de ponderaciones espaciales.

    Nota:

    Aunque puede crear un archivo de matriz de ponderaciones espaciales (SWM) para definir las restricciones espaciales, no hay ninguna ponderación real que se aplique. Las relaciones se convierten en binarias al definir restricciones espaciales dentro del algoritmo de clustering, incluso si se utiliza un método como Distancia inversa. Si Distancia inversa se utiliza sin ningún valor límite de distancia, se generará un SWM que define las entidades en función de su ponderación, pero el algoritmo de clustering ignora dichas ponderaciones y define todas las entidades como vecinas del resto de entidades. Puede repercutir en el rendimiento y dará lugar a grupos que no presenten verdaderas restricciones espaciales. Del mismo modo, si elige una conceptualización Vecinos K más cercanos, se pueden formar clústeres con restricciones espaciales, pero no necesariamente contiguos.

  • Para crear clústeres con restricciones de espacio y de tiempo, utilice la herramienta Generar matriz de ponderaciones espaciales para crear primero un archivo de matriz de ponderaciones espaciales (.swm) que defina las relaciones de espacio-tiempo entre las entidades. A continuación, ejecute la herramienta Clustering multivariante restringido espacialmente, cambiando el parámetro Restricciones espaciales a Obtener ponderaciones espaciales a partir del archivo y el parámetro Archivo de matriz de ponderaciones espaciales en el archivo SWM que ha creado.

  • Para crear clústeres tridimensionales que tengan en cuenta los valores Z de las entidades, use la herramienta Generar matriz de ponderaciones espaciales con el parámetro Usar valores Z activado para crear primero un archivo de matriz de ponderaciones espaciales (.swm) que defina las relaciones 3D entre las entidades. A continuación, ejecute la herramienta Clustering multivariante restringido espacialmente, cambiando el parámetro Restricciones espaciales a Obtener ponderaciones espaciales a partir del archivo y el parámetro Archivo de matriz de ponderaciones espaciales en el archivo SWM que ha creado.

  • Esta herramienta consume memoria. Al utilizar una Matriz de ponderaciones espaciales, la Conceptualización de relaciones espaciales generada en cada entidad que tenga un número elevado de vecinos aumentará la probabilidad de enfrentarse a problemas de memoria.

  • La definición de una restricción espacial garantiza clústeres compactos, contiguos o proximales. Si incluye variables espaciales en su lista de Campos de análisis, también puede fomentar estos atributos de clúster. Algunos ejemplos de variables espaciales serán la distancia a vías de acceso de la autovía, la accesibilidad a oportunidades de empleo, la proximidad a oportunidades de compra, medidas de conectividad e incluso coordenadas (X, Y). Las variables que representen la hora, el día de la semana o la distancia temporal pueden fomentar la compactación temporal entre los miembros del clúster.

  • Cuando exista un patrón espacial claro para sus entidades (un ejemplo sería tres clústeres separados y espacialmente distintos), puede complicar el algoritmo de clustering restringido espacialmente. En consecuencia, el algoritmo de clustering primero determina si existen clústeres desconectados. Si el número de clústeres desconectados es más grande que el Número de clústeres especificado, la herramienta no puede resolver y fallará con el mensaje de error apropiado. Si el número de clústeres desconectados es exactamente el mismo que el Número de clústeres especificado, la configuración espacial de las entidades por si sola determina los resultados del clúster, como se muestra en (A) a continuación. Si el Número de clústeres especificado es mayor que el número de clústeres desconectados, el clustering comienza con los clústeres desconectados ya establecidos. Por ejemplo, si hay tres clústeres desconectados y el Número de clústeres especificado es 4, uno de los tres clústeres se dividirá para crear un cuarto clúster, como se muestra en (B) a continuación.

    Clústeres desconectados

  • En algunos casos, la herramienta Clustering multivariante restringido espacialmente no podrá cumplir con las restricciones espaciales impuestas y las entidades sin vecinos serán las únicas entidades de sus clústeres. Si establece que el parámetro Restricciones espaciales utilice la Triangulación de Delaunay restringida, puede ayudar a resolver los problemas con clústeres desconectados.

  • Aunque hay una tendencia a querer incluir tantos Campos de análisis como sea posible, para esta herramienta funciona mejor comenzar con una variable única y construir. Los resultados son mucho más fáciles de interpretar con menos campos de análisis. También es más fácil determinar qué variables son los mejores discriminadores cuando hay menos campos.

  • A veces conoce el Número de clústeres más adecuado para sus datos. En el caso que usted no lo conozca; sin embargo, es posible que tenga que probar diferentes números de clústeres, anotando qué valores proporcionan la mejor diferenciación de clúster. Si deja vacío el parámetro Número de clústeres, la herramienta evaluará el número óptimo de clústeres calculando una pseudo estadística F para soluciones de clustering con 2-30 clústeres y comunicará el número óptimo de clústeres en la ventana de mensajes. Cuando se especifica una Tabla de salida para evaluar el número de clústeres opcional, se creará un gráfico que muestra los valores de la estadística F para las soluciones con 2-30 clústeres. Los valores de estadística F más grandes indican soluciones que funcionan mejor para maximizar las similitudes dentro del clúster y las diferencias entre el clúster. Si no hay otros criterios que guíen su elección para Número de clústeres, utilice un número asociado con uno de los valores de la pseudo estadística F más elevados. Gráfico de la pseudo estadística F para la búsqueda del número óptimo de clústeres

  • Independientemente del Número de clústeres que especifique, la herramienta se detendrá si la división en clústeres adicionales pasa a ser arbitraria. Supongamos, por ejemplo, que los datos constan de tres polígonos agrupados espacialmente y de un campo de un solo análisis. Si todas las entidades del clúster tienen el mismo valor de campo de análisis, la forma en que uno de los clústeres individuales se dividirá una vez creados los tres grupos pasará a ser arbitraria. Si especifica más de tres clústeres en este caso, la herramienta seguirá creando solamente tres clústeres. Siempre que al menos uno de los campos de análisis de un clúster tenga valores distintos, la división entre clústeres adicionales podrá continuar.

    No se crearán más clústeres
    Si no existe variación entre los valores de campo de análisis, los clústeres de dejarán de dividirse.

  • Cuando se incluye una restricción de espacio-tiempo o espacial en su análisis, las estadísticas F pseudo son comparables (mientras las Entidades de entrada y Campos de análisis no cambian). Por consiguiente, puede utilizar los valores de estadística F para determinar no solo un Número de clústeres óptimo, sino también para tomar decisiones sobre la opción Restricciones espaciales.

  • El número de clúster asignado a un conjunto de entidades puede cambiar de una ejecución a la siguiente. Por ejemplo, supongamos que divide las entidades en dos clústeres basados en una variable de ingresos. La primera vez que ejecuta el análisis puede ver las entidades de ingresos altos etiquetadas como clúster 2 y las entidades de ingresos bajos etiquetadas como clúster 1; la segunda vez que ejecute el mismo análisis, las entidades de ingresos altos pueden estar etiquetadas como clúster 1. También podría ver que algunas de las entidades de ingresos medios cambian la pertenencia a un clúster de una ejecución a otra.

  • El parámetro Permutaciones para calcular probabilidades de pertenencia utiliza permutaciones y acumulación de pruebas para calcular la probabilidad de pertenencia a clúster de cada entidad. Una alta probabilidad le indica que puede confiar en que la entidad pertenece al clúster al que se ha asignado. Una baja probabilidad puede indicar que la entidad es muy distinta del clúster al que fue asignada, o que la entidad no se pudo incluir en un clúster diferente si los Campos de análisis, las Restricciones del tamaño del clúster o las Restricciones espaciales se han cambiado de alguna forma. El cálculo de estas probabilidades utiliza permutaciones de árboles de expansión aleatorios y acumulación de pruebas. Puede requerir un tiempo considerable en los datasets grandes. Se recomienda iterar y buscar primero el número óptimo de clústeres para su análisis y calcular a continuación las probabilidades para su análisis en una ejecución posterior. También puede aumentar el rendimiento incrementando el ajuste de entorno Factor de procesamiento en paralelo a 50.

  • Cuando las Entidades de entrada no están proyectadas (es decir, cuando las coordenadas se especifican en grados, minutos y segundos) o cuando el sistema de coordenadas de salida está establecido en un Sistema de coordenadas geográficas, las distancias se calculan mediante mediciones de cuerda. Las mediciones de distancia de cuerda se utilizan porque se pueden calcular rápidamente y proporcionar muy buenas estimaciones de verdaderas distancias geodésicas, al menos para los puntos separados unos treinta grados entre sí. Las distancias de cuerda se basan en un esferoide oblato. Dados dos puntos en la superficie de la Tierra, la distancia de cuerda entre ellos es la longitud de una línea, que atraviesa la Tierra tridimensional, para conectar estos dos puntos. Las distancias de cuerda se informan en metros.

    Precaución:

    Es recomendable que proyecte sus datos, especialmente si su área de estudio se extiende más allá de 30 grados. Las distancias de cuerda no son una buena estimación de las distancias geodésicas más allá de 30 grados.

Sintaxis

SpatiallyConstrainedMultivariateClustering(in_features, output_features, analysis_fields, {size_constraints}, {constraint_field}, {min_constraint}, {max_constraint}, {number_of_clusters}, {spatial_constraints}, {weights_matrix_file}, {number_of_permutations}, output_table)
ParámetroExplicaciónTipo de datos
in_features

La clase de entidad o capa de entidades para las que desea crear clústeres.

Feature Layer
output_features

La nueva clase de entidad de salida creada que contiene todas las entidades, los campos de análisis especificados y un campo que indica a qué clúster pertenece cada entidad.

Feature Class
analysis_fields
[analysis_fields,...]

Una lista de los campos que desea utilizar para distinguir a un clúster de otro.

Field
size_constraints
(Opcional)

Especifica el tamaño del clúster a partir del número de entidades por grupo o un valor de atributo de destino por grupo.

  • NONESin restricciones del tamaño del clúster. Esta es la opción predeterminada.
  • NUM_FEATURESEstablecer un número mínimo y/o máximo de entidades por grupo.
  • ATTRIBUTE_VALUEEstablecer un valor de atributo mínimo y/o máximo por grupo.
String
constraint_field
(Opcional)

El valor del atributo que se desea sumar por clúster.

Field
min_constraint
(Opcional)

Especifica el número mínimo de entidades por clúster o el valor de atributo mínimo por clúster. Debe ser un valor positivo.

Double
max_constraint
(Opcional)

Especifica el número máximo de entidades por clúster o el valor de atributo máximo por clúster. Si se establece una restricción de máximo, el parámetro number_of_clusters se deshabilita. Debe ser un valor positivo.

Double
number_of_clusters
(Opcional)

El número de clústeres que se desea crear. Si deja vacío este parámetro, la herramienta evalúa el número óptimo de clústeres calculando una pseudo estadística F para soluciones de clustering con un número de clústeres de entre 2 y 30.

Este parámetro se desactiva si se ha establecido un número máximo de entidades o un valor máximo de atributo.

Long
spatial_constraints
(Opcional)

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

  • CONTIGUITY_EDGES_ONLYLos clústeres contienen entidades de polígono contiguas. Solo los polígonos que comparten un borde pueden ser parte del mismo clúster.
  • CONTIGUITY_EDGES_CORNERS Los clústeres contienen entidades de polígono contiguas. Solo los polígonos que comparten un borde o un vértice pueden ser parte del mismo clúster. Esta es la opción predeterminada para las entidades poligonales.
  • TRIMMED_DELAUNAY_TRIANGULATION Las entidades de un mismo clúster tendrán al menos un vecino natural en común con otra entidad en el clúster. Las relaciones de vecinos naturales se basan en la triangulación de Delaunay restringida. Conceptualmente, la triangulación de Delaunay crea una malla de triángulos no superpuestos a partir de los centroides de la entidad. Cada entidad es un nodo de triángulo y nodos que comparten bordes y que se consideran vecinos. A continuación, estos triángulos se restringen a una envoltura convexa para garantizar que las entidades no puedan ser vecinas de ninguna otra entidad fuera de la envoltura convexa. Esta es la opción predeterminada para las entidades de punto.
  • GET_SPATIAL_WEIGHTS_FROM_FILEDe manera espacial y opcionalmente temporal, las relaciones se definen por un archivo de ponderaciones espaciales especificadas (.swm). Cree la matriz de ponderaciones espaciales con la herramienta Generar matriz de ponderaciones espaciales o Generar ponderaciones espaciales de red. La ruta del archivo de ponderaciones espaciales se especifica mediante el parámetro Weights_Matrix_File.
String
weights_matrix_file
(Opcional)

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

File
number_of_permutations
(Opcional)

El número de permutaciones aleatorias para el cálculo de puntuaciones de estabilidad de pertenencia. Si se elige 0, las probabilidades no se calculan. El cálculo de estas probabilidades utiliza permutaciones de árboles de expansión aleatorios y acumulación de pruebas.

La realización de este cálculo puede requerir un tiempo considerable en los datasets grandes. Se recomienda iterar y buscar primero el número óptimo de clústeres para su análisis y calcular a continuación las probabilidades para su análisis en una ejecución posterior. Si cambia el ajuste de entorno Factor de procesamiento en paralelo a 50, puede mejorar el tiempo de ejecución de la herramienta.

Long
output_table

Si se especifica, la tabla creada contiene el resultado del índice estadístico F calculado para evaluar el número óptimo de clústeres. Puede acceder al gráfico creado a partir de esta tabla seleccionando la pestaña Lista por gráficos Lista por gráficos en el panel Contenido.

Table

Muestra de código

Ejemplo 1 de SpatiallyConstrainedMultivariateClustering (ventana de Python)

El siguiente script de la ventana de Python muestra cómo utilizar la herramienta SpatiallyConstrainedMultivariateClustering.

import arcpy arcpy.env.workspace = r"C:\Analysis arcpy.SpatiallyConstrainedMultivariateClustering_stats("CA_schools", "CA_Schools_100k_Students", "NumStudent",                                          "ATTRIBUTE_VALUE", "NumStudent", 100000, None, None,
                                          "CONTIGUITY_EDGES_CORNERS")
Ejemplo 2 de SpatiallyConstrainedMultivariateClustering (script independiente)

En el siguiente script de Python se muestra cómo utilizar la herramienta SpatiallyConstrainedMultivariateClustering

# Creating regions of similar schools districts with at least 100,0000 students each
# Import system modules
import arcpy
# Set property to overwrite existing output, by default
arcpy.env.overwriteOutput = True
# Local variables...
workspace = r"E:\working\data.gdb"
arcpy.env.workspace = workspace
# Create clusters of schools with a minimum of 100,000 students
arcpy.stats.SpatiallyConstrainedMultivariateClustering("CA_schools", "CA_Schools_100k_Students", "NumStudent",
                                          "ATTRIBUTE_VALUE", "NumStudent", 100000, None, None,
                                          "CONTIGUITY_EDGES_CORNERS")
# Create a spatial weights matrix using k nearest neighbors 16 to have more control over the search neighborhood
arcpy.stats.GenerateSpatialWeightsMatrix(r"E:\working\data.gdb\CA_schools", "UID",
                                         r"E:\working\schools_knn_16.swm", "K_NEAREST_NEIGHBORS", "EUCLIDEAN", 1,
                                         None, 16, "NO_STANDARDIZATION", None, None, None, None, "DO_NOT_USE_Z_VALUES")
# Create clusters again this time using the SWM file for search neighborhood and a maximum number
# of students per cluster
arcpy.stats.SpatiallyConstrainedMultivariateClustering("CA_schools", "CA_Schools_SWM_Knn16", "NumStudent", "ATTRIBUTE_VALUE",
                                          "NumStudent", None, 250000, None, "GET_SPATIAL_WEIGHTS_FROM_FILE",
                                          r"E:\working\schools_knn_16.swm")
# Use Summary Statistics with Cluster ID as a case field to see how many students were assigned to each cluster
arcpy.analysis.Statistics("CA_Schools_SWM_Knn16", "School_SummaryStatistics", "NumStudent SUM", "CLUSTER_ID")

Entornos

Sistema de coordenadas de salida

La geometría de entidades se proyecta al Sistema de coordenadas de salida antes del análisis. Todos los cálculos matemáticos se basan en la referencia espacial del Sistema de coordenadas de salida. Cuando el entorno del Sistema de coordenadas de salida se basa en grados, minutos y segundos, las distancias geodésicas se calculan mediante distancias de cuerda.

Generador de números aleatorios

El tipo de generador de números aleatorios que se utiliza siempre es Mersenne Twister.

Información sobre licencias

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

Temas relacionados