Clustering basado en densidad (Estadística espacial)

Resumen

Encuentra clústeres de entidades de punto dentro del ruido colindante en función de su distribución espacial. También se puede incorporar el tiempo para buscar clústeres de espacio-tiempo.

Más información sobre cómo funciona Clustering basado en densidad

Ilustración

Ilustración de la herramienta Clustering basado en densidad

Uso

  • Esta herramienta extrae clústeres del valor del parámetro Entidades de puntos de entrada e identifica cualquier ruido colindante.

  • Existen tres opciones para el parámetro Método de clustering. La opción Distancia definida (DBSCAN) busca clústeres de puntos que estén muy próximos en función de una distancia de búsqueda especificada. La opción Autoajuste (HDBSCAN) busca clústeres de puntos de forma similar a DBSCAN, pero utiliza distancias variables teniendo en cuenta los clústeres con densidades variables en función de la probabilidad (o estabilidad) de clúster. La opción Escala múltiple (OPTICS) clasifica los puntos de entrada en función de la distancia más corta al siguiente punto. A continuación, se construye un diagrama de alcanzabilidad y se obtienen clústeres en función del menor número de puntos que se consideran clúster, una distancia de búsqueda y características del diagrama de alcanzabilidad (tales como la pendiente y la altura de los picos).

  • Esta herramienta produce una clase de entidad de salida con un nuevo campo de tipo entero CLUSTER_ID para mostrar a qué clúster pertenece cada punto. La representación en pantalla predeterminada se basa en el campo COLOR_ID. Si hay varios clústeres, se asigna un color a cada uno. Los colores se asignarán y repetirán de forma que cada clúster sea visualmente diferente de sus clústeres vecinos.

  • Esta herramienta también crea mensajes y gráficos que puede utilizar para comprender las características de los clústeres identificados. Para acceder a los mensajes, pase el cursor sobre la barra de progreso y haga clic en el botón emergente o expanda la sección de mensajes del panel Geoprocesamiento. También puede acceder a los mensajes de la anterior ejecución de la herramienta Clustering basado en densidad del historial de geoprocesamiento. Puede acceder a los gráficos en el panel Contenido.

  • Para obtener más información sobre los mensajes y gráficos de salida y más información sobre los algoritmos que utiliza esta herramienta, consulte Cómo funciona Clustering basado en densidad.

  • Si se elige Autoajuste (HDBSCAN) para el parámetro Método de clustering, la clase de entidad de salida también contendrá los campos PROB, que es la probabilidad a la que pertenece el punto en su grupo asignado; OUTLIER, que designa que el punto podría ser un valor atípico dentro de su propio clúster (un valor alto indica que es más probable que el punto sea un valor atípico) y EXEMPLAR, que denota los puntos más prototípicos o más representativos de cada clúster.

  • Si se elige Escala múltiple (OPTICS) para el parámetro Método de clustering, la clase de entidad de salida también contendrá los campos REACHORDER, que es el modo en que los valores de Entidades de puntos de entrada se ordenaron para el análisis, y REACHDIST, que es la distancia entre cada punto y su vecino no visitado más cercano.

  • En las opciones Distancia definida (DBSCAN) y Escala múltiple (OPTICS) del parámetro Método de clustering, el valor predeterminado del parámetro Distancia de búsqueda es la distancia de núcleo más alta encontrada en el dataset, excluidas aquellas distancias de núcleo que se encuentren en el 1 por ciento superior (es decir, excluyendo las distancias de núcleo más extremas).

  • Para las opciones Distancia definida (DBSCAN) y Escala múltiple (OPTICS) del parámetro Método de clustering, es posible proporcionar el tiempo de cada punto en el parámetro Campo de tiempo. Si se proporciona, la herramienta buscará clústeres de puntos cercanos entre sí en espacio y tiempo. Se debe proporcionar el parámetro Intervalo de tiempo de búsqueda para determinar si un punto está lo suficientemente cerca en el tiempo como para incluirlo en el clúster.

    • Para la opción Distancia definida (DBSCAN), al buscar miembros de clústeres, el valor del parámetro Entidades mínimas por clúster se debe encontrar dentro de los valores de Distancia de búsqueda e Intervalo de tiempo de búsqueda para formar un clúster.
    • Para la opción Escala múltiple (OPTICS), todos los puntos que queden fuera del valor de Intervalo de tiempo de búsqueda se excluirán cuando el punto calcule su distancia de núcleo, busque todas las distancias vecinas dentro del valor de Distancia de búsqueda especificado y calcule la distancia de alcanzabilidad.

  • Si se proporciona un valor para el parámetro Campo de tiempo, la clase de entidad de salida incluirá un gráfico Intervalo de tiempo por clúster que muestra el intervalo de tiempo de cada clúster de espacio-tiempo. También se incluirán cuatro campos adicionales: Mean Time, Start Time, End Time y Time Exaggeration. La clase de entidad de salida tiene habilitada la función de tiempo y se recomienda establecer el tiempo en el campo Mean Time, de modo que los clústeres se puedan visualizar a lo largo del tiempo con el control deslizante de tiempo. El patrón espaciotemporal también se puede mostrar en una escena 3D estableciendo Time Exaggeration como la elevación de la entidad.

  • El parámetro Intervalo de tiempo de búsqueda no controla el intervalo de tiempo total de los clústeres de espacio-tiempo resultantes. Por ejemplo, el uso de un intervalo de tiempo de búsqueda de 3 días puede dar lugar a un clúster con puntos de 10 días o más. Esto se debe a que el intervalo de tiempo de búsqueda solo se utiliza para determinar si un único punto se incluye en un clúster. Al formar clústeres de varios puntos, el intervalo de tiempo total del clúster puede ser mayor que el intervalo de tiempo de búsqueda. Esto es similar a cómo un clúster espacial puede ser mayor que el valor de Distancia de búsqueda, siempre y cuando cada punto tenga vecinos dentro del clúster que estén más cerca que la distancia de búsqueda.

  • Cuando los valores de Entidades de entrada no están proyectados (es decir, cuando las coordenadas están 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 buenas estimaciones de las verdaderas distancias geodésicas, al menos para los puntos separados un máximo de 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 proyectar los datos, especialmente si el á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 incluye valores z en sus cálculos. Si existen valores z, el resultado será en 3D.

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

Parámetros

EtiquetaExplicaciónTipo de datos
Entidades de puntos de entrada

Las entidades de puntos para las que se va a realizar el clustering basado en densidad.

Feature Layer
Entidades de salida

La clase de entidad de salida que recibirá los resultados del clúster.

Feature Class
Método de clustering

Especifica el método que se utilizará para definir clústeres.

  • Distancia definida (DBSCAN)Se utilizará una distancia especificada para separar los clústeres densos del ruido más disperso. DBSCAN es el método de clustering más rápido, pero solo es apropiado si se puede utilizar una distancia clara y que funcione bien para definir todos los clústeres que puedan estar presentes. El resultado son clústeres que presentan densidades similares.
  • Autoajuste (HDBSCAN)Se utilizarán distancias variables para separar clústeres de densidades variables del ruido más disperso. HDBSCAN es el método de clustering que más se basa en los datos y requiere la menor participación del usuario.
  • Escala múltiple (OPTICS)Se utilizará la distancia entre vecinos y un diagrama de alcanzabilidad para separar los clústeres de densidades variables del ruido. OPTICS ofrece la mayor flexibilidad en el afinamiento de los clústeres detectados, a pesar de que requiere una gran potencia de cómputo, en especial si la distancia de búsqueda es grande.
String
Entidades mínimas por clúster

El número mínimo de puntos que se considerará un clúster. Todo clúster con un número de puntos menor que el indicado se considerará ruido.

Long
Distancia de búsqueda
(Opcional)

La distancia máxima que se considerará.

Para la opción Distancia definida (DBSCAN) del parámetro Método de clustering, el valor del parámetro Entidades mínimas por clúster se deberá encontrar dentro de esta distancia para que pertenezca a un clúster. Los clústeres individuales estarán separados, al menos, por esta distancia. Si un punto se encuentra a una distancia mayor que esta respecto del siguiente punto más cercano en el clúster, no se incluirá en el clúster.

En el caso de la opción Escala múltiple (OPTICS) del parámetro Método de clustering, este parámetro es opcional y se utiliza como la distancia máxima de búsqueda cuando se crea el diagrama de alcanzabilidad. Para OPTICS, el diagrama de alcanzabilidad, en combinación con el valor del parámetro Sensibilidad de clúster, determina la pertenencia al clúster. Si no se especifica ninguna distancia, la herramienta buscará todas las distancias, lo que aumentará el tiempo de procesamiento.

Si se deja en blanco, la distancia predeterminada utilizada será la distancia de núcleo más alta encontrada en el dataset y se excluyen aquellas distancias de núcleo que se encuentren dentro del 1 por ciento superior (las distancias de núcleo más extremas). Si se proporciona un valor para el parámetro Campo de tiempo, se debe proporcionar una distancia de búsqueda y no incluye ningún valor predeterminado.

Linear Unit
Sensibilidad de clúster

Un número entero entre 0 y 100 que determina la compactación de los clústeres. Un número cercano a 100 tendrá como resultado un número mayor de clústeres densos. Un número cercano a 0 tendrá como resultado un número menor de clústeres menos compactos. Si se deja en blanco, la herramienta encontrará un valor de sensibilidad con la divergencia de Kullback-Leibler, que busca el valor en el que agregar más clústeres no agrega información adicional.

Long
Campo de tiempo

El campo que contiene el registro de tiempo para cada registro del dataset. Este campo de tiempo debe ser de tipo Fecha. Si se proporciona, la herramienta buscará clústeres de puntos cercanos entre sí en espacio y tiempo. Se debe proporcionar un valor para el parámetro Intervalo de tiempo de búsqueda para determinar si un punto está lo suficientemente cerca en el tiempo como para incluirlo en el clúster.

Field
Intervalo de tiempo de búsqueda

El intervalo de tiempo que se utilizará para determinar si los puntos forman un clúster de espacio-tiempo. El intervalo de tiempo de búsqueda abarca antes y después del tiempo de cada punto; por ejemplo, un intervalo de 3 días en torno a un punto incluirá todos los puntos que comiencen 3 días antes y finalice 3 días después del tiempo del punto.

  • Para la opción Distancia definida (DBSCAN) del parámetro Método de clustering, el valor del parámetro Entidades mínimas por clúster se deberá encontrar dentro de la distancia de búsqueda y el intervalo de tiempo de búsqueda para incluirlo en un clúster.
  • Para la opción Escala múltiple (OPTICS) del parámetro Método de clustering, todos los puntos que queden fuera del intervalo de tiempo de búsqueda se excluirán al calcular las distancias de núcleo, las distancias a vecinos y las distancias de alcanzabilidad.

El intervalo de tiempo de búsqueda no controla el intervalo de tiempo total de los clústeres de espacio-tiempo resultantes. El intervalo de tiempo de puntos dentro de un clúster puede ser mayor que el intervalo de tiempo de búsqueda, siempre y cuando cada punto tenga vecinos dentro del clúster que estén dentro del intervalo de tiempo de búsqueda.

Time Unit

arcpy.stats.DensityBasedClustering(in_features, output_features, cluster_method, min_features_cluster, {search_distance}, cluster_sensitivity, time_field, search_time_interval)
NombreExplicaciónTipo de datos
in_features

Las entidades de puntos para las que se va a realizar el clustering basado en densidad.

Feature Layer
output_features

La clase de entidad de salida que recibirá los resultados del clúster.

Feature Class
cluster_method

Especifica el método que se utilizará para definir clústeres.

  • DBSCANSe utilizará una distancia especificada para separar los clústeres densos del ruido más disperso. DBSCAN es el método de clustering más rápido, pero solo es apropiado si se puede utilizar una distancia clara y que funcione bien para definir todos los clústeres que puedan estar presentes. El resultado son clústeres que presentan densidades similares.
  • HDBSCANSe utilizarán distancias variables para separar clústeres de densidades variables del ruido más disperso. HDBSCAN es el método de clustering que más se basa en los datos y requiere la menor participación del usuario.
  • OPTICSSe utilizará la distancia entre vecinos y un diagrama de alcanzabilidad para separar los clústeres de densidades variables del ruido. OPTICS ofrece la mayor flexibilidad en el afinamiento de los clústeres detectados, a pesar de que requiere una gran potencia de cómputo, en especial si la distancia de búsqueda es grande.
String
min_features_cluster

El número mínimo de puntos que se considerará un clúster. Todo clúster con un número de puntos menor que el indicado se considerará ruido.

Long
search_distance
(Opcional)

La distancia máxima que se considerará.

Para la opción DBSCAN del parámetro cluster_method, el valor del parámetro min_features_cluster se deberá encontrar dentro de esta distancia para que pertenezca a un clúster. Los clústeres individuales estarán separados, al menos, por esta distancia. Si un punto se encuentra a una distancia mayor que esta respecto del siguiente punto más cercano en el clúster, no se incluirá en el clúster.

En el caso de la opción OPTICS del parámetro cluster_method, este parámetro es opcional y se utiliza como la distancia máxima de búsqueda cuando se crea el diagrama de alcanzabilidad. Para OPTICS, el diagrama de alcanzabilidad, en combinación con el valor del parámetro cluster_sensitivity, determina la pertenencia al clúster. Si no se especifica ninguna distancia, la herramienta buscará todas las distancias, lo que aumentará el tiempo de procesamiento.

Si se deja en blanco, la distancia predeterminada utilizada será la distancia de núcleo más alta encontrada en el dataset y se excluyen aquellas distancias de núcleo que se encuentren dentro del 1 por ciento superior (las distancias de núcleo más extremas). Si se proporciona un valor para el parámetro time_field, se debe proporcionar una distancia de búsqueda y no incluye ningún valor predeterminado.

Linear Unit
cluster_sensitivity

Un número entero entre 0 y 100 que determina la compactación de los clústeres. Un número cercano a 100 tendrá como resultado un número mayor de clústeres densos. Un número cercano a 0 tendrá como resultado un número menor de clústeres menos compactos. Si se deja en blanco, la herramienta encontrará un valor de sensibilidad con la divergencia de Kullback-Leibler, que busca el valor en el que agregar más clústeres no agrega información adicional.

Long
time_field

El campo que contiene el registro de tiempo para cada registro del dataset. Este campo de tiempo debe ser de tipo Fecha. Si se proporciona, la herramienta buscará clústeres de puntos cercanos entre sí en espacio y tiempo. Se debe proporcionar un valor para el parámetro search_time_interval para determinar si un punto está lo suficientemente cerca en el tiempo como para incluirlo en el clúster.

Field
search_time_interval

El intervalo de tiempo que se utilizará para determinar si los puntos forman un clúster de espacio-tiempo. El intervalo de tiempo de búsqueda abarca antes y después del tiempo de cada punto; por ejemplo, un intervalo de 3 días en torno a un punto incluirá todos los puntos que comiencen 3 días antes y finalice 3 días después del tiempo del punto.

  • Para la opción DBSCAN del parámetro cluster_method, el valor especificado para el parámetro min_features_cluster se deberá encontrar dentro de la distancia de búsqueda y el intervalo de tiempo de búsqueda para incluirlo en un clúster.
  • Para la opción OPTICS del parámetro cluster_method, todos los puntos que queden fuera del intervalo de tiempo de búsqueda se excluirán al calcular las distancias de núcleo, las distancias a vecinos y las distancias de alcanzabilidad.

El intervalo de tiempo de búsqueda no controla el intervalo de tiempo total de los clústeres de espacio-tiempo resultantes. El intervalo de tiempo de puntos dentro de un clúster puede ser mayor que el intervalo de tiempo de búsqueda, siempre y cuando cada punto tenga vecinos dentro del clúster que estén dentro del intervalo de tiempo de búsqueda.

Time Unit

Muestra de código

Ejemplo 1 de DensityBasedClustering (ventana de Python)

El siguiente script de la ventana de Python muestra cómo utilizar la función DensityBasedClustering.

import arcpy
arcpy.env.workspace = r"C:\Analysis"
arcpy.DensityBasedClustering_stats("Chicago_Arson", "Arson_HDB", "HDBSCAN", 15)
Ejemplo 2 de DensityBasedClustering (script independiente)

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

# Clustering crime incidents in a downtown area using the DensityBasedClustering
# function

# Import system modules
import arcpy
import os

# Overwrite existing output, by default
arcpy.env.overwriteOutput = True

# Local variables...
workspace = r"E:\working\data.gdb"
arcpy.env.workspace = workspace

# Run Density-based Clustering with the HDBSCAN Cluster Method using a minimum 
# of 15 features per cluster
arcpy.stats.DensityBasedClustering("Chicago_Arson", "Arson_HDB", "HDBSCAN", 15)

# Run Density-based Clustering again using OPTICS with a Search Distance and 
# Cluster Sensitivity to create tighter clusters
arcpy.stats.DensityBasedClustering("Chicago_Arson", "Arson_Optics", "OPTICS", 
                                   15, "1200 Meters", 70)
Ejemplo 3 de DensityBasedClustering (script independiente)

El siguiente script independiente de Python muestra cómo utilizar la función DensityBasedClustering con tiempo.

# The following stand-alone Python script demonstrates how to use 
# the DensityBasedClustering function with time to find space-time clusters.

# Time field and Search time interval only supported by DBSCAN and OPTICS methods

# Import system modules
import arcpy
import os

# Overwrite existing output, by default
arcpy.env.overwriteOutput = True

# Local variables...
workspace = r"E:\working\data.gdb"
arcpy.env.workspace = workspace

# Run Density-based Clustering with DBSCAN Cluster Method, and choose 50 as the minimum
# features per cluster, 200 meter search distance, and 10 minute search time interval
arcpy.stats.DensityBasedClustering("New_York_Taxi_PickingUp", "New_York_Taxi_DBSCAN_Time", 
                        "DBSCAN",  50, "200 Meters", None, "Pickup_Time", "10 Minutes")

# Run Density-based Clustering with OPTICS Method, and choose 50 as the minimum
# of features per cluster, 200 meter search distance, and 10 minute search time interval. 
# Using 15 as the cluster sensitivity to create a higher number of dense clusters
arcpy.stats.DensityBasedClustering("New_York_Taxi_PickingUp", "New_York_Taxi_OPTICS_Time", 
                        "OPTICS",  50, "200 Meters", 15, "Pickup_Time", "10 Minutes")

Información de licenciamiento

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

Temas relacionados