Skip To Content

Clustering multivariante

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 la herramienta Clustering multivariante

Ilustración

Diagrama de Clustering multivariante

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.

  • Las 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. 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 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.

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

  • 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 o uno muy similar para cada registro) se eliminarán de los análisis, pero se incluirán en las 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 ceros para el resto de entidades).

  • La herramienta Clustering multivariante construirá clústeres no espaciales. Para algunas aplicaciones quizá desee 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.

  • 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 luego agregar variables adicionales. 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 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 un 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 seed iniciales que capturan diferentes 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. El campo seed que crea debe tener ceros para todos, pero las entidades seed iniciales; las entidades seed iniciales tendrán un valor de 1. A continuación, seleccione Ubicaciones de valores de inicialización definidos por el usuario para el parámetro Método de inicialización. Si le interesa realizar un análisis de sensibilidad para ver qué entidades se encuentran en el mismo clúster, puede seleccionar 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 iniciales aleatorios, puede que desee elegir un valor inicial para iniciar el generador de números aleatorios mediante la configuración del entorno del generador de números aleatorios. No obstante, el generador de números aleatorios que se utiliza en esta herramienta siempre es Mersenne Twister.

  • Los valores de 1 en el campo Campo de inicialización se interpretarán como seed. Si elige especificar 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 Campo de inicialización.

  • A veces conoce el Número de clústeres más adecuado para sus datos. En caso contrario, puede que tenga que probar diferentes números de clústeres, anotando qué valores proporcionan la mejor diferenciación de clustering. 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. Si 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 pseudo estadística F para las soluciones con 2-30 clústeres. 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 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

  • 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 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 los mismos 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. Cuando un patrón distinto existe en los datos; sin embargo, 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 diez valores de la pseudo estadística F.

  • Valores medios K y Medoides K son dos algoritmos de clustering populares y, por lo general, generan resultados similares. Sin embargo, Medoides K es más resistente al ruido y los valores atípicos en las Entidades de entrada. Valores medios K es por lo general más rápido que Medoides K y es preferible 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, 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.

Sintaxis

MultivariateClustering(in_features, output_features, analysis_fields, {clustering_method}, {initialization_method}, {initialization_field}, {number_of_clusters}, {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_field,...]

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

Field
clustering_method
(Opcional)

El algoritmo de clustering empleado. K_MEANS es la configuración predeterminada.

K_MEANS y K_MEDOIDS son dos algoritmos de clustering populares y, por lo general, generan resultados similares. Sin embargo, K_MEDOIDS es más resistente al ruido y los valores atípicos en las in_features. K_MEANS es por lo general más rápido que K_MEDOIDS y es preferible para los datasets grandes.

  • K_MEANSLas in_features se dividen en clústeres mediante el algoritmo Valores medios K. Esta es la opción predeterminada.
  • K_MEDOIDSLas Entidades de entrada se dividen en clústeres 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 initialization_field como puntos de inicio para acrecentar clústeres.
  • RANDOM_SEED_LOCATIONSLas entidades seed iniciales se seleccionarán de forma aleatoria.
String
initialization_field
(Opcional)

El campo numérico identifica entidades seed. Las entidades con un valor de 1 para este campo se utilizarán para acrecentar clústeres. El resto de entidades deben contener ceros.

Field
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 deshabilita si se proporcionaron las ubicaciones de los valores de inicialización en un campo de inicialización.

Long
output_table
(Opcional)

Si se especifica, la tabla creada 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. 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 MultivariateClustering (ventana de Python)

El siguiente script de la ventana de Python muestra cómo utilizar la herramienta 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 de Python independiente muestra cómo utilizar la herramienta 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

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