Кластеризация на основе плотности (Пространственная статистика)

Краткая информация

Находит кластеры точечных объектов в окружающем шуме, на основе пространственного распределения. Также для выявления пространственно-временных кластеров можно использовать время.

Более подробно о работе инструмента Кластеризация на основе плотности

Иллюстрация

Иллюстрация инструмента Кластеризация на основе плотности

Использование

  • Этот инструмент извлекает кластеры из значения параметра Входные точечные объекты и определяет окружающий шум.

  • У параметра Метод кластеризации есть три опции. Опция Заданное расстояние (DBSCAN) находит кластеры точек, расположенные в непосредственной близости, на основе заданного расстояния поиска. Опция Автонастройка (HDBSCAN) находит кластеры точек так же, как и DBSCAN, но использует меняющиеся расстояния, позволяя определить кластеры с меняющимися плотностями, на основе вероятности кластеров (или стабильности). Опция Мультимасштабный (OPTICS) упорядочивает входные точки на основе минимального расстояния до следующей точки. Затем строится плот доступности и извлекаются кластеры, на базе наименьшего числа точек, входящих в кластер, расстояния поиска и характеристик плота доступности (таких как уклоны и высоты пиков).

  • Этот инструмент создает выходной класс объектов с новым целочисленным полем CLUSTER_ID, где обозначается принадлежность точкам кластерам. Отображение по умолчанию основано на поле COLOR_ID. Разным кластерам присваиваются различные цвета. Цвета распределяются и повторяются таким образом, что каждый кластер визуально отличается от соседних.

  • Этот инструмент также создает сообщения и диаграммы, которые можно использовать для изучения характеристик идентифицированных кластеров. Чтобы получить доступ к сообщениям, поместите курсор мыши над индикатором выполнения и щелкните всплывающую кнопку или разверните раздел сообщений в панели Геообработка. Также вы можете открыть сообщения, касающиеся ранее запущенного инструмента Кластеризация на основе плотности, через историю геообработки. Доступ к диаграммам может быть через панель Содержание.

  • Дополнительные сведения о выходных сообщениях и диаграммах, а также об алгоритмах этого инструмента см. Как работает Кластеризация на основе плотности.

  • Если выбрана Автонастройка (HDBSCAN) для параметра Метод кластеризации, выходной класс объектов также будет содержать следующие поля: PROB, в котором хранится вероятность принадлежности точки к группе, OUTLIER, означающее,что точка может быть выбросом в своем кластере (чем выше значение, тем больше вероятность, что точка является выбросом) и EXEMPLAR, где обозначаются точки, наиболее характерные для данного кластера.

  • Если выбран Мультимасштабный (OPTICS) для параметра Метод кластеризации, выходной класс объектов также будет содержать следующие поля: REACHORDER, где указан способ упорядочивания Входных точечных объектов для анализа, и REACHDIST, где находится расстояние между каждой точкой и ближайшей не посещенной соседом.

  • Для обоих Vетодов кластеризации в опциях Заданное расстояние (DBSCAN) и Мультимасштабный (OPTICS), по умолчанию значением параметра Расстояние поиска является наибольшее значение основного расстояния, найденное в наборе данных, исключая те, которые попадают в верхний 1 процент (т.е., исключая наивысшие значения основных расстояний).

  • Для параметра Метод кластеризации в опциях Заданное расстояние(DBSCAN) и Мультимасштабный (OPTICS) время для каждой точки можно указать в параметре Поле времени. Если задано, то инструмент будет искать кластеры точек, которые находятся близко друг к другу в пространстве и времени. Чтобы определить, достаточно ли близко точка расположена по времени, чтобы быть включенной в кластер, необходимо задать параметр Интервал времени поиска.

    • Для опции Заданное расстояние (DBSCAN) при поиске участников кластера значение параметра Минимальное число объектов на кластер должно быть найдено в значениях Расстояние поиска и Интервал времени поиска для формирования кластера.
    • Для опции Мультимасштабный (OPTICS) все точки за пределами значения Интервал времени поиска будут исключены, когда точка вычисляет свое основное расстояние, ищет все расстояния соседей в рамках указанного значения Расстояние поиска и вычисляет расстояние достигаемости.

  • Если указано значение параметра Поле времени, то выходной класс объектов будет включать график Временной диапазон на кластер, в котором будут показаны временные диапазоны для каждого кластера пространство-время. Также будут включены четыре дополнительных поля: Mean Time, Start Time, End Time и Time Exaggeration. Для выходного класса объектов включена опция времени, поэтому рекомендуется задать время для поля Mean Time, чтобы кластеры можно было бы визуализировать во времени с помощью Бегунка времени. Пространственно-временные закономерности также можно показать в 3D сцене, задав Time Exaggeration как высоту объекта.

  • Параметр Интервал времени поиска не управляет всем диапазоном времени для итоговых пространственно-временных кластеров. Например, если используется временной интервал в 3 дня, то в результате может получиться кластер с точками в диапазоне 10 дней или больше. Это связано с тем, что интервал времени поиска используется только для определения того, включается ли каждая отдельная точка в кластер. При формировании кластеров из нескольких точек общий диапазон времени кластера может оказаться больше, чем интервал времени поиска. Это аналогично тому, как пространственный кластер может быть больше, чем Расстояние поиска, поскольку у каждой точки есть соседи в пределах кластера, которые находятся ближе друг к другу, чем расстояние поиска.

  • Когда Входные объекты не имеют проекции (т.е. когда координаты заданы в градусах, минутах и секундах), или когда в качестве выходной системы координат используется Географическая система координат, расстояния будут рассчитываться с помощью хордовых измерений. Измерения хордовых расстояний применяются постольку, поскольку они могут быть быстро вычислены и дают хорошие оценки истинных геодезических расстояний, по крайней мере для точек, расстояние между которыми в пределах порядка тридцати градусов. Хордовые расстояния основаны на эллипосиде вращения. Если взять две любые точки на поверхности Земли, то хордовым расстоянием между ними будет длина прямой линии, проходящей через трехмерное тело Земли и соединяющей эти две точки. Хордовые расстояния выражаются в метрах.

    Внимание:

    Рекомендуется провести проецирование данных, если изучаемая область превышает 30 градусов. Хордовые расстояния не обеспечивают точных оценок геодезических расстояний, превышающих 30 градусов.

  • Этот инструмент включает в вычисления z-значения. При наличии z-значений результат будет в 3D.

  • Инструмент поддерживает параллельную обработку и использует до 50 % доступной мощности процессора по умолчанию. Количество используемых процессоров можно изменить при помощи параметра среды Коэффициент параллельной обработки.

Параметры

ПодписьОписаниеТип данных
Входные точечные объекты

Точечные объекты по которым будет выполняться кластеризация на основе плотности.

Feature Layer
Выходные объекты

Выходной класс объектов, получающий результаты кластеризации.

Feature Class
Метод кластеризации

Задает метод, который будет использован для определения кластеров.

  • Заданное расстояние (DBSCAN)Использует указанное расстояние для отделения плотных кластеров от окружающего шума. DBSCAN является наиболее быстрым методом кластеризации но подходит только при наличии четкого расстояния,что хорошо подходит для поиска всех представленных кластеров. Это приводит к получению кластеров с похожей плотностью.
  • Автонастройка (HDBSCAN)Использует различные расстояния для отделения кластеров с различными плотностями от окружающего шума. HDBSCAN является наиболее ориентированным на данные методом кластеризации для него требуется минимум участия пользователя.
  • Мультимасштабный (OPTICS)Использует расстояние между окрестностями и плотом доступности для отделения кластеров с различной плотностью от окружающего шума. OPTICS предлагает наибольшую гибкость в тонких настройках определения кластеров, хотя и требует интенсивных вычислений, особенно с большим Расстоянием поиска.
String
Минимальное число объектов на кластер

Минимальное число точек, которые будут считаться кластером Любой кластер с меньшим числом точек, чем указанное количество, будет рассматриваться как шум.

Long
Расстояние поиска
(Дополнительный)

Максимальное расстояние, которое будет учитываться.

Для параметра Метод кластеризации опции Заданное расстояние (DBSCAN) значение параметра Минимальное число объектов в кластере должно быть найдено в пределах этого расстояния для участия в кластере. Отдельные кластеры будут разделяться, как минимум, этим расстоянием. Если точка расположена дальше, чем это расстояние, от следующей ближайшей точки в кластере, она не будет включена в кластер.

Для параметра Метод кластеризации в опции Мультимасштабный (OPTICS) этот параметр является необязательным и используется для максимального расстояния поиска при создании плота доступности. Для OPTICS, плот доступности, скомбинированный с параметром Кластерная чувствительность, определяет принадлежность объекта к кластеру. Если расстояние не задано, инструмент будет выполнять поиск по всем расстояниям, что увеличивает время обработки.

Если оставить пустым, то будет использоваться расстояние по умолчанию, которое является наибольшим расстоянием между ядрами в наборе за исключением расстояний, попавших в максимальный и минимальный 1% (экстремумы в расстояниях между объектами). Если задано значение параметра Поле времени, то должно быть указано расстояние поиска и оно не должно включать значение по умолчанию.

Linear Unit
Кластерная чувствительность

Целочисленное значение от 0 до 100, которое определяет компактность кластеров. Значение, близкое к 100, позволит получить большее количество более плотно расположенных кластеров. Значение, близкое к 0, позволит получить менее компактные кластеры. Если оно пустое, инструмент найдет значение чувствительности, используя расхождение Кульбака-Лейблера, которое находит значение, при котором добавление большего количества кластеров не добавляет дополнительную информацию.

Long
Поле времени

Поле, содержащее временную метку для каждой записи в наборе данных. Это поле должно иметь тип Date. Если задано, то инструмент будет искать кластеры точек, которые находятся близко друг к другу в пространстве и времени. Чтобы определить, достаточно ли близко точка расположена по времени, чтобы быть включенной в кластер, необходимо задать параметр Интервал времени поиска.

Field
Интервал времени поиска

Временной интервал, который будет использоваться для определения того, будут ли точки формировать пространственно-временной кластер. Интервал времени поиска охватывает время до и после каждой точки. Например, интервал в 3 дня вокруг точки будет включать все точки, начинающиеся за 3 дня до и заканчивающиеся через 3 дня после времени точки.

  • Для параметра Метод кластеризации в опции Заданное расстояние (DBSCAN) значение параметра Минимальное число объектов в кластере должно быть найдено в пределах расстояния поиска и интервала времени поиска, чтобы они были включены в кластер.
  • Для параметра Метод кластеризации в опции Мультимасштабный (OPTICS) все точки за пределами интервала времени поиска будут исключены при вычислении расстояний от ядра, расстояний до соседей и расстояний достигаемости.

Интервал времени поиска не управляет всем диапазоном времени для итоговых пространственно-временных кластеров. Временной интервал точек в кластере может быть больше, чем временной интервал поиска, если каждая точка имеет соседей в кластере, которые находятся в пределах временного интервала поиска.

Time Unit

arcpy.stats.DensityBasedClustering(in_features, output_features, cluster_method, min_features_cluster, {search_distance}, cluster_sensitivity, time_field, search_time_interval)
ИмяОписаниеТип данных
in_features

Точечные объекты по которым будет выполняться кластеризация на основе плотности.

Feature Layer
output_features

Выходной класс объектов, получающий результаты кластеризации.

Feature Class
cluster_method

Задает метод, который будет использован для определения кластеров.

  • DBSCANИспользует указанное расстояние для отделения плотных кластеров от окружающего шума. DBSCAN является наиболее быстрым методом кластеризации но подходит только при наличии четкого расстояния,что хорошо подходит для поиска всех представленных кластеров. Это приводит к получению кластеров с похожей плотностью.
  • HDBSCANИспользует различные расстояния для отделения кластеров с различными плотностями от окружающего шума. HDBSCAN является наиболее ориентированным на данные методом кластеризации для него требуется минимум участия пользователя.
  • OPTICSИспользует расстояние между окрестностями и плотом доступности для отделения кластеров с различной плотностью от окружающего шума. OPTICS предлагает наибольшую гибкость в тонких настройках определения кластеров, хотя и требует интенсивных вычислений, особенно с большим Расстоянием поиска.
String
min_features_cluster

Минимальное число точек, которые будут считаться кластером Любой кластер с меньшим числом точек, чем указанное количество, будет рассматриваться как шум.

Long
search_distance
(Дополнительный)

Максимальное расстояние, которое будет учитываться.

Для параметра cluster_method в опции DBSCAN значение параметра min_features_cluster должно попасть в пределы этого расстояния для участия в кластере. Отдельные кластеры будут разделяться, как минимум, этим расстоянием. Если точка расположена дальше, чем это расстояние, от следующей ближайшей точки в кластере, она не будет включена в кластер.

Для параметра cluster_method в опции OPTICS этот параметр является необязательным и используется в качестве максимального расстояния поиска при создании плота доступности. Для OPTICS, плот доступности, скомбинированный с параметром cluster_sensitivity, определяет принадлежность объекта к кластеру. Если расстояние не задано, инструмент будет выполнять поиск по всем расстояниям, что увеличивает время обработки.

Если оставить пустым, то будет использоваться расстояние по умолчанию, которое является наибольшим расстоянием между ядрами в наборе за исключением расстояний, попавших в максимальный и минимальный 1% (экстремумы в расстояниях между объектами). Если задано значение параметра time_field, то должно быть указано расстояние поиска и оно не должно включать значение по умолчанию.

Linear Unit
cluster_sensitivity

Целочисленное значение от 0 до 100, которое определяет компактность кластеров. Значение, близкое к 100, позволит получить большее количество более плотно расположенных кластеров. Значение, близкое к 0, позволит получить менее компактные кластеры. Если оно пустое, инструмент найдет значение чувствительности, используя расхождение Кульбака-Лейблера, которое находит значение, при котором добавление большего количества кластеров не добавляет дополнительную информацию.

Long
time_field

Поле, содержащее временную метку для каждой записи в наборе данных. Это поле должно иметь тип Date. Если задано, то инструмент будет искать кластеры точек, которые находятся близко друг к другу в пространстве и времени. Чтобы определить, достаточно ли близко точка расположена по времени, чтобы быть включенной в кластер, необходимо задать параметр search_time_interval.

Field
search_time_interval

Временной интервал, который будет использоваться для определения того, будут ли точки формировать пространственно-временной кластер. Интервал времени поиска охватывает время до и после каждой точки. Например, интервал в 3 дня вокруг точки будет включать все точки, начинающиеся за 3 дня до и заканчивающиеся через 3 дня после времени точки.

  • Для параметра cluster_method в опции DBSCAN указанное значение min_features_cluster должно быть найдено в пределах радиуса поиска и интервала времени поиска, чтобы они были включены в кластер.
  • Для параметра cluster_method в опции OPTICS все точки за пределами интервала времени поиска будут исключены при вычислении расстояний от ядра, расстояний до соседей и расстояний достигаемости.

Интервал времени поиска не управляет всем диапазоном времени для итоговых пространственно-временных кластеров. Временной интервал точек в кластере может быть больше, чем временной интервал поиска, если каждая точка имеет соседей в кластере, которые находятся в пределах временного интервала поиска.

Time Unit

Пример кода

DensityBasedClustering, пример 1 (окно Python)

Скрипт окна Python, демонстрирующий использование функции DensityBasedClustering.

import arcpy
arcpy.env.workspace = r"C:\Analysis"
arcpy.DensityBasedClustering_stats("Chicago_Arson", "Arson_HDB", "HDBSCAN", 15)
DensityBasedClustering, пример 2 (автономный скрипт)

В следующем автономном скрипте Python показано использование функции 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)
DensityBasedClustering, пример 3 (автономный скрипт)

В следующем автономном скрипте Python показано использование функции DensityBasedClustering со временем.

# 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")