Clustering multivariante (Estadística espacial)

Resumen

Busca clústeres naturales de entidades únicamente en función de los valores de atributos de entidades.

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

Ilustración

Ilustración de la herramienta Clustering multivariantes

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 especifica de qué clúster es miembro cada entidad. Si indica que desea tres clústeres, por ejemplo, cada registro tendrá 1, 2 o 3 para el campo CLUSTER_ID. La clase de entidad de salida también contendrá un campo binario llamado IS_SEED. El campo IS_SEED indica qué entidades se utilizaban como puntos de inicio para incrementar los clústeres. El número de los valores que no son cero en el campo IS_SEED coincidirá con el valor que introdujo para el parámetro Número de clústeres.

  • El valor del parámetro Entidades de entrada pueden ser puntos, líneas o polígonos.

  • Esta herramienta crea mensajes y gráficos para ayudarle a comprender las características de los clústeres identificados. Para acceder a los mensajes, desplácese sobre la barra de progreso, haga clic en el botón emergente o expanda la sección Ver detalles del panel Geoprocesamiento. También puede acceder a los mensajes de la anterior ejecución de la herramienta Clustering multivariante a través del historial de geoprocesamiento. Acceda a los gráficos desde el panel Contenido.

  • Para obtener más información sobre los mensajes y gráficos de salida, consulte Cómo funciona Clustering multivariante.

  • Los campos del parámetro 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 o uno muy similar para cada registro) se eliminarán de los análisis, pero se incluirán en el valor del parámetro Entidades de salida. Los campos de categorías se pueden utilizar con la herramienta Clustering multivariante si se representan como variables de simulación numéricas (un valor de uno para todas las entidades de una categoría y de cero para el resto de entidades).

  • La herramienta Clustering multivariante construirá clústeres no espaciales. Para algunas aplicaciones puede imponer la contigüidad u otros requisitos de proximidad a los clústeres creados. En esos casos, utilice la herramienta Clustering multivariante restringido espacialmente para crear clústeres contiguos espacialmente.

  • Para esta herramienta, la práctica recomendada es comenzar con una sola variable para el parámetro Campos de análisis y agregar variables según sea necesario. 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.

  • Existen tres opciones para el parámetro Método de inicialización: Ubicaciones de valores de inicialización optimizados, Ubicaciones de valores de inicialización definidos por el usuario y Ubicaciones de valores de inicialización aleatorios. Los valores de inicialización son las entidades que se utilizan para acrecentar clústeres individuales. Si, por ejemplo, introduce 3 para el parámetro Número de clústeres, el análisis comenzará con tres entidades de valores de inicialización. La opción predeterminada, Ubicaciones de valores de inicialización optimizados, selecciona aleatoriamente el primer valor de inicialización y se asegura de que los siguientes valores de inicialización seleccionados representen entidades que estén lejos de las demás en el espacio de datos (valores de atributo). Seleccionar los valores de inicialización iniciales que capturan diferentes áreas de espacio de datos mejora el rendimiento. A veces, sabe que ciertas entidades reflejan distintas características que desea que se representen mediante diferentes clústeres. En ese caso, puede proporcionar esas ubicaciones creando un campo de valor de inicialización para identificar esas entidades distintivas. Utilice el valor cero para todas las entidades, excepto las de valores de inicialización iniciales, del campo de valor de inicialización que cree; utilice el valor 1 para las entidades de valores de inicialización iniciales. A continuación, seleccione la opción Ubicaciones de valores de inicialización definidos por el usuario para el parámetro Método de inicialización. Para realizar un análisis de sensibilidad para ver qué entidades se encuentran siempre en el mismo clúster, utilice la opción Ubicaciones de valores de inicialización aleatorios para el parámetro Método de inicialización. Con esta opción, las entidades de valores de inicialización se seleccionan de forma aleatoria.

    Nota:

    Cuando se utilizan valores de inicalización aleatorios, puede elegir un valor de inicialización para iniciar el generador de números aleatorios mediante la configuración del entorno del generador de números aleatorios. No obstante, el valor del generador de números aleatorios utilizado por esta herramienta siempre es Mersenne Twister.

  • Los valores de 1 en el parámetro Campo de inicialización se interpretarán como valor de inicialización. Si especifica las ubicaciones de los valores de inicialización, el parámetro Número de clústeres se deshabilitará y la herramienta buscará tantos clústeres como entradas distintas de cero haya en el parámetro Campo de inicialización.

  • Si no conoce el valor del parámetro Número de clústeres más apropiado para sus datos, puede experimentar con diferentes números de clústeres, observando qué valores proporcionan la mejor diferenciación de clústeres. 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. Si 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 pseudo estadística F para las soluciones con un número de clústeres de entre 2 y 30. Los valores de pseudo 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 se utilizan otros criterios para el valor del parámetro Número de clústeres, utilice un número asociado con uno de los valores más elevados de la pseudo estadística F. Gráfico de la pseudo estadística F para la búsqueda del número óptimo de clústeres

  • Esta herramienta utiliza el algoritmo de valores medios K o medoides K para dividir entidades en clústeres. Si se selecciona Ubicaciones de valores de inicialización aleatorios para el parámetro Método de inicialización, el algoritmo incorpora heurísticas y puede devolver un resultado diferente cada vez que ejecuta la herramienta (aunque utilice los mismos datos y parámetros de la herramienta). Esto se debe a que hay un componente aleatorio para encontrar las entidades iniciales de valores de inicialización utilizadas para acrecentar los clústeres. Debido a esta solución heurística, determinar el número óptimo de clústeres resulta más complicado y la pseudo estadística F puede ser diferente cada vez que se ejecuta la herramienta, debido a que las entidades iniciales de los valores de inicialización son distintas. Sin embargo, cuando sus datos presentan un patrón distinto, las soluciones de una ejecución a la siguiente serán más coherentes. Por consiguiente, para ayudar a determinar el número óptimo de clústeres, para cada número de clústeres de 2 a 30, la herramienta resuelve 10 veces y utiliza el mayor de los 10 valores de la pseudo estadística F.

  • Las opciones Valores medios K y Medoides K por lo general producen resultados similares. Sin embargo, Medoides K es más resistente al ruido y los valores atípicos en el valor del parámetro Entidades de entrada. Valores medios K es por lo general más rápido que Medoides K y es recomendable para los datasets grandes.

  • 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 podrían estar etiquetadas como clúster 1. También es posible que algunas de las entidades de ingresos medios cambien la pertenencia a un clúster de una ejecución a otra.

Parámetros

EtiquetaExplicaciónTipo de datos
Entidades de entrada

La clase de entidad o capa de entidades para la que se crearán clústeres.

Feature Layer
Entidades de salida

La clase de entidad de salida que se creará y 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
Campos de análisis

Una lista de los campos que se utilizarán para distinguir un clúster de otro.

Field
Método de clustering
(Opcional)

Especifica el algoritmo de clustering que se utilizará.

Las opciones Valores medios K y Medoides K por lo general producen resultados similares. Sin embargo, Medoides K es más resistente al ruido y los valores atípicos en el valor del parámetro Entidades de entrada. Valores medios K es por lo general más rápido que Medoides K y es recomendable para los datasets grandes.

  • Valores medios KEl valor del parámetro Entidades de entrada se agrupará mediante el algoritmo Valores medios K. Esta es la opción predeterminada.
  • Medoides KEl valor del parámetro Entidades de entrada se agrupará mediante el algoritmo Medoides K.
String
Método de inicialización
(Opcional)

Especifica cómo se obtienen los valores de inicialización iniciales utilizados para acrecentar clústeres. Si indica que desea tres clústeres, por ejemplo, el análisis comenzará con tres valores de inicialización.

  • Ubicaciones de valores de inicialización optimizadosSe seleccionarán entidades de valores de inicialización para optimizar los resultados de los análisis y el rendimiento. Esta es la opción predeterminada.
  • Ubicaciones de valores de inicialización definidos por el usuarioSe utilizarán entradas distintas de cero en el valor del parámetro Campo de inicialización como puntos de inicio para acrecentar clústeres.
  • Ubicaciones de valores de inicialización aleatoriosLas entidades iniciales de valores de inicialización se seleccionarán de forma aleatoria.
String
Campo de inicialización
(Opcional)

El campo numérico identifica entidades de valores de inicialización. Las entidades con un valor de 1 para este campo se utilizarán para acrecentar clústeres. Cada valor de inicialización da lugar a un clúster, por lo que deben proporcionarse al menos dos entidades de valor de inicialización.

Field
Número de clústeres
(Opcional)

El número de clústeres que se 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 deshabilita si se proporcionaron las ubicaciones de los valores de inicialización en un campo de inicialización.

Long
Tabla de salida para la evaluación del número de clústeres
(Opcional)

La tabla contiene la pseudo estadística F para las soluciones de clustering de 2 a 30, calculada para evaluar el número óptimo de clústeres. Se puede acceder al gráfico creado a partir de esta tabla en la sección de tablas independientes del panel Contenido.

Table

arcpy.stats.MultivariateClustering(in_features, output_features, analysis_fields, {clustering_method}, {initialization_method}, {initialization_field}, {number_of_clusters}, {output_table})
NombreExplicaciónTipo de datos
in_features

La clase de entidad o capa de entidades para la que se crearán clústeres.

Feature Layer
output_features

La clase de entidad de salida que se creará y 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_field,...]

Una lista de los campos que se utilizarán para distinguir un clúster de otro.

Field
clustering_method
(Opcional)

Especifica el algoritmo de clustering que se utilizará.

Las opciones K_MEANS y K_MEDOIDS por lo general producen resultados similares. Sin embargo, K_MEDOIDS es más resistente al ruido y los valores atípicos en el valor del parámetro in_features. K_MEANS es por lo general más rápido que K_MEDOIDS y es recomendable para los datasets grandes.

  • K_MEANSEl valor del parámetro in_features se agrupará mediante el algoritmo Valores medios K. Esta es la opción predeterminada.
  • K_MEDOIDSEl valor del parámetro in_features se agrupará mediante el algoritmo Medoides K.
String
initialization_method
(Opcional)

Especifica cómo se obtienen valores de inicialización iniciales para acrecentar clústeres. Si indica que desea tres clústeres, por ejemplo, el análisis comenzará con tres valores de inicialización.

  • OPTIMIZED_SEED_LOCATIONSSe seleccionarán entidades de valores de inicialización para optimizar los resultados de los análisis y el rendimiento. Esta es la opción predeterminada.
  • USER_DEFINED_SEED_LOCATIONSSe utilizarán entradas distintas de cero en el valor del parámetro initialization_field como puntos de inicio para acrecentar clústeres.
  • RANDOM_SEED_LOCATIONSLas entidades iniciales de valores de inicialización se seleccionarán de forma aleatoria.
String
initialization_field
(Opcional)

El campo numérico identifica entidades de valores de inicialización. Las entidades con un valor de 1 para este campo se utilizarán para acrecentar clústeres. Cada valor de inicialización da lugar a un clúster, por lo que deben proporcionarse al menos dos entidades de valor de inicialización.

Field
number_of_clusters
(Opcional)

El número de clústeres que se 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 deshabilita si se proporcionaron las ubicaciones de los valores de inicialización en un campo de inicialización.

Long
output_table
(Opcional)

La tabla contiene la pseudo estadística F para las soluciones de clustering de 2 a 30, calculada para evaluar el número óptimo de clústeres. Se puede acceder al gráfico creado a partir de esta tabla en la sección de tablas independientes del panel Contenido.

Table

Muestra de código

Ejemplo 1 de MultivariateClustering (ventana de Python)

La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la función MultivariateClustering.

import arcpy
arcpy.env.workspace = r"C:\Analysis"
arcpy.MultivariateClustering_stats("District_Vandalism", "outVandalism", 
                                   ["TOTPOP", "VACANT_CY", "UNEMP"], "K_MEANS", 
                                    "OPTIMIZED_SEED_LOCATIONS", None, "5")
Ejemplo 2 de MultivariateClustering (script independiente)

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

# Clustering Vandalism data in a metropolitan area
# using the Multivariate Clustering Tool

# Import system modules
import arcpy

# Set environment property to overwrite existing output, by default
arcpy.env.overwriteOutput = True

try:
    # Set the current workspace (to avoid having to specify the full path to
    # the feature classes each time)
    arcpy.env.workspace = r"C:\GA"

    # Join the 911 Call Point feature class to the Block Group Polygon feature 
    # class
    # Process: Spatial Join
    fieldMappings = arcpy.FieldMappings()
    fieldMappings.addTable("ReportingDistricts.shp")
    fieldMappings.addTable("Vandalism2006.shp")

    sj = arcpy.SpatialJoin_analysis("ReportingDistricts.shp", 
                                    "Vandalism2006.shp", "Dist_Vand.shp", 
                                    "JOIN_ONE_TO_ONE","KEEP_ALL", fieldMappings, 
                                    "COMPLETELY_CONTAINS")

    # Use the Multivariate Clustering tool to create groups based on different 
    # variables or analysis fields
    # Process: Cluster Similar Features  
    ga = arcpy.MultivariateClustering_stats("District_Vandalism", "outVandalism", 
                                            ["Join_Count", "TOTPOP", "VACANT_CY", "UNEMP"],
	             																														"K_MEANS", "OPTIMIZED_SEED_LOCATIONS", 
                                            None, 5)
    
    # Use Summary Statistic tool to get the Mean of variables used to group
    # Process: Summary Statistics
    SumStat = arcpy.Statistics_analysis("outVandalism", "outSS", 
                                        [["Join_Count", "MEAN"], 
                                         ["VACANT_CY", "MEAN"], 
                                         ["TOTPOP_CY", "MEAN"], 
                                         ["UNEMP_CY", "MEAN"]], 
                                        "GSF_CLUSTER")

except arcpy.ExecuteError:
    # If an error occurred when running the tool, print out the error message.
    print(arcpy.GetMessages())

Entornos

Casos especiales

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ómputos 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í

Temas relacionados