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
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. Los gráficos están disponibles desde 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). En el caso de algunas aplicaciones, quizá no desee imponer contigüidad ni ningún otro requisito de proximidad en 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 y 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 agrupa los condados de los EE. UU. en función de un conjunto de variables económicas, puede 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 Rellenar hasta el límite, 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 de Rellenar hasta el límite, 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 cumpla el valor del parámetro Restricciones del tamaño del clúster para uno de los clústeres resultantes.
En ocasiones, el parámetro Restricciones del tamaño del clúster puede 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 pueden formar parte del mismo clúster solo 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.
La opción 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. Se debe a 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, mediante la herramienta Generar matriz de ponderaciones espaciales para crear primero un archivo de matriz de ponderaciones espaciales (.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 aplicada. 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 se utiliza la Distancia inversa sin ningún valor límite de distancia, se genera 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 son 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 existe 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 la imagen (A) que aparece 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 la imagen (B) que aparece a continuación.
-
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 como la Triangulación de Delaunay restringida, puede ayudar a resolver los problemas con clústeres desconectados.
-
Aunque existe la tendencia a querer incluir tantos Campos de análisis como sea posible, esta herramienta funciona mejor si comienza con una variable única y construye. Los resultados son 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. Sin embargo, si no lo conoce, es posible que tenga que probar diferentes números de clústeres, anotando los valores que proporcionan la mejor diferenciación de grupo. 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 e informará del número óptimo de clústeres en la ventana de mensajes. Cuando se especifica un valor opcional del parámetro Tabla de salida para evaluar el número de clústeres, se creará un gráfico que muestra los valores de la estadística F para las soluciones con un número de clústeres de entre 2 y 30. 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.
-
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. Por ejemplo, los datos constan de tres polígonos agrupados espacialmente y de un solo campo de 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.
-
Cuando se incluye una restricción de espacio-tiempo o espacial en su análisis, los valores de la pseudo estadística F son comparables (siempre y cuando Entidades de entrada y Campos de análisis no cambien). 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 que le ayude a determinar la opción Restricciones espaciales más eficaz.
-
El número de clúster asignado a un conjunto de entidades puede cambiar de una ejecución a la siguiente. Por ejemplo, si divide entidades en dos clústeres en función de una variable de ingresos, la primera vez que ejecute el análisis podrá 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 se pudo incluir en un clúster diferente si los valores de los parámetros Campos de análisis, Restricciones del tamaño del clúster o 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 entorno Factor de procesamiento en paralelo.
-
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 proporcionan estimaciones muy buenas de las verdaderas distancias geodésicas, al menos para los puntos separados un máximo de unos treinta 30 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.
Esta herramienta admite el procesamiento en paralelo para calcular probabilidades 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
arcpy.stats.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ámetro | Explicación | Tipo 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 se utilizarán para distinguir 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.
| String |
constraint_field (Opcional) | El valor del atributo que se desea sumar por clúster. | Field |
min_constraint (Opcional) | 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) | 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 este parámetro está vacío, la herramienta evalúa el número óptimo de clústeres calculando un valor de 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 definirán las relaciones espaciales entre las entidades.
| 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 (cero), 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 la configuración del entorno Factor de procesamiento en paralelo a 50, es posible que mejore el tiempo de ejecución de la herramienta. | Long |
output_table | La tabla creada contiene los resultados de los valores de la estadística F calculados para evaluar el número óptimo de clústeres. Se puede acceder al gráfico creado a partir de esta tabla desde el panel Contenido bajo la capa de entidades de salida. | Table |
Muestra de código
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")
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 de licenciamiento
- Basic: Sí
- Standard: Sí
- Advanced: Sí