Пространственно-ограниченная многофакторная кластеризация (Пространственная статистика)

Сводка

Поиск пространственно непрерывных кластеров объектов на основе набора атрибутов объектов и, дополнительно, ограничения размера кластера.

Более подробно о работе инструмента Пространственно-ограниченная многофакторная кластеризация

Иллюстрация

Диаграмма Пространственно-ограниченной многофакторной кластеризации

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

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

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

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

  • Инструмент Пространственно-ограниченная многофакторная кластеризация создает кластеры с пробелами (а также с временными ограничениями, при использовании матрицы пространственных весов). Для некоторых приложений не следует применять к создаваемым кластерам требования непрерывности или другие требования близости. В этих случаях используйте инструмент Многовариантная кластеризация для создания кластеров без пространственных ограничений.

  • Размером кластеров можно управлять с помощью параметра Ограничения размера кластера. Можно задать минимальный и максимальный пороги, которым должен соответствовать каждый кластер. В качестве ограничения размера можно использовать Число объектов, которое должен содержать каждый кластер, или сумму Атрибутивных значений. Например, если вы выполняете кластеризацию округов США , основываясь на ряде экономических переменных, вы можете задать, что минимальное население каждого кластера - 5 млн человек, а максимальное население - 25 млн человек.

  • Если задано ограничение Заполнять до ограничения алгоритм начнет работу с одного кластера, затем будет разбивать его и обрабатывать каждый, пока каждый их них не будет иметь значение ниже Заполнять до ограничения, с учетом всех переменных в каждом разбиении. Разбиение останавливается когда указанное ограничение выполнено, даже если дальнейшее разбиение может привести к получению лучших результатов.

  • Если для максимального и минимального ограничения были заданы близкие значения, значение параметра Ограничения размера кластера для одного из полученных кластеров может не соответствовать.

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

  • Инструмент создает пространственно-непрерывные кластеры. Опции смежности, включенные для полигональных классов объектов, указывают, что объекты могут входить в один кластер, только если у них есть общее ребро (Только совпадающие ребра или общее ребро или вершина (Совпадающие углы ребер) с другим участником кластера. Опция Сокращенная триангуляция Делоне гарантирует, что выброс или островной объект может быть кластеризован и может создать не соединенный кластер.

  • По умолчанию, Пространственные ограничения для точечных Входных объектов - это Сокращенная триангуляция Делоне, это гарантирует, что все участники кластера являются приближенными и что объект будет включен в кластер, только если хотя бы один объект является естественной окрестностью. В этом методе триангуляция Делоне используется для поиска окрестностей точек, затем треугольники обрезаются с помощью выпуклой оболочки. Это гарантирует, что точечные объекты не могут быть соседними с любыми объектами вне замкнутой обстановки.

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

  • Дополнительные пространственные ограничения, такие как фиксированное расстояние или K ближайшие соседи, можно наложить, создав с помощью инструмента Построить матрицу пространственных весов файл матрицы пространственных весов (.swm), а затем указав путь к этому файлу в параметре Файл матрицы пространственных весов.

    Примечание:

    Хотя можно создать SWM-файл для определения пространственных ограничений, фактически веса не применяются. Отношения становятся бинарными при определении пространственных ограничений в алгоритме кластеризации, даже если используется такой метод, как Обратное расстояние. Если Обратное расстояние используется без порогового расстояния, в результате получается SWM-файл, который определяет объекты, основанные на весах, но алгоритм кластеризации игнорирует эти веса и определяет каждый объект как соседний каждого другого объекта. Это может повлиять на производительность и привести к появлению групп, которые не являются истинно ограниченными в пространстве. Таким же образом, выбор K ближайшие соседи может привести к появлению пространственно ограниченных кластеров, которые не обязательно являются непрерывными.

  • Чтобы создать кластеры и с пространственными, и с временными ограничениями, используйте инструмент Построить матрицу пространственных весов, чтобы сначала создать файл матрицы пространственных весов (.swm), определяющий пространственно-временные отношения ваших объектов. Затем, запустите инструмент Пространственно-ограниченная многофакторная кластеризация, установите параметр Пространственные ограничения на Получить пространственные веса из файла, а в параметре Файл матрицы пространственных весов укажите созданный файл SWM.

  • Чтобы создать трехмерные кластеры, которые учитывают z-значения объектов, используйте инструмент Построить матрицу пространственных весов с параметром Использовать Z-значения, чтобы сначала создать файл матрицы пространственных весов (.swm), определяющий 3D отношения ваших объектов. Затем запустите инструмент Пространственно-ограниченная многофакторная кластеризация, задав для параметра Пространственные ограничения значение Получить пространственные веса из файла, а для параметра Файл матрицы пространственных весов указав созданный SWM-файл.

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

  • При определении пространственного ограничения можно гарантированно получить компактные, непрерывные или близкие кластеры. Включение пространственных переменных в ваш список полей анализа также может повлиять на эти атрибуты кластера. К примерам пространственных переменных можно отнести расстояние до скоростных автострад, доступность вакансий, близость магазинов, измерения связности и даже координаты (X, Y). Включение переменных, представляющих время, день недели или временное расстояние, позволяет обеспечить временную компактность членов кластера.

  • При наличии четкого пространственного шаблона в ваших объектах (например, три отдельных, пространственно-различимых кластера) алгоритм группирования с пространственным ограничением может усложниться. Сначала алгоритм определяет, существуют ли разъединенные кластеры. Если число таких кластеров больше значения Число кластеров, инструмент не сможет выполнить вычисления и отобразит соответствующее сообщение об ошибке. Если число разъединенных кластеров совпадает со значением параметра Количество кластеров, только пространственная конфигурация объектов определяет результаты кластеризации, как показано на рисунке (A) ниже. Если указанное Число кластеров больше числа разъединенных кластеров, кластеризация начинается с уже определенных групп. Например, если число разъединенных кластеров равно трем, а значение параметра Количество кластеров равно 4, один из этих трех кластеров будет разделен, чтобы создать четвертый, как показано на рисунке (B) ниже.

    Разъединенные кластеры

  • В некоторых случаях, инструмент Пространственно-ограниченная многофакторная кластеризация не сможет соблюсти пространственные ограничения, и объекты без соседей будут единственными объектами в своем кластере. Выбор для параметра Пространственные ограничения значения Сокращенная триангуляция Делоне помогает исправлять ошибки с не соединенными кластерами.

  • Хотя существует тенденция для включения максимально возможного числа Полей анализа, при использовании этого инструмента лучше начать с одной переменной. Результаты намного легче интерпретировать при меньшем числе полей анализа. Также легче определить, какие переменные лучше разделяют группы при меньшем количестве полей.

  • Иногда вы знаете, какое Число кластеров лучше всего подходит для ваших данных. Если нет, можно попробовать использовать различные количества кластеров, отмечая, какие значения обеспечивают наилучшую дифференциацию групп. Если оставить параметр Число кластеров пустым, инструмент оценит оптимальное число кластеров, вычислив псевдо F-статистику для решения кластеризации с числом кластеров от 2 до 30, и выведет оптимальное число кластеров в окне сообщения. Когда вы задаете дополнительное значение параметра Выходная таблица для оценки числа кластеров, создается диаграмма, показывающая значения F-статистики для решений с числом кластеров от 2 до 30. Самые большие значения F-статистики указывают на решения, соответствующие максимальному сходству внутри кластеров и максимальному различию между кластерами. Если других критериев для параметра Число кластеров нет, используйте число, связанное с одним из самых больших значений псевдо-F-статистики.

    Диаграмма псевдо F-статистики для поиска оптимального числа кластеров

  • Независимо от значения Числа кластеров, инструмент остановится, когда деление на группы примет случайный характер. Например, в ваших данных имеется три пространственно кластеризованных полигона и одно поле анализа. Если все объекты в кластере содержат одно значение в поле анализа, любые дополнительные кластеры, создаваемые инструментом после выявления трех основных, были бы случайны. Даже если вы указали более 3-х кластеров для этой ситуации, инструмент все равно создаст только 3 кластера. Хотя если в поле анализа будет выявлена вариабельность значений для какого-либо кластера, деление на дополнительные кластеры будет продолжено.

    Дополнительные кластеры создаваться не будут
    Кластеры не будут формироваться только при условии отсутствии вариабельности значений в поле анализа.

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

  • Число кластеров, назначенных набору объектов, может измениться после запуска инструмента. Например, если вы делите объекты на два кластера на основе переменной доходности, при первом запуске анализа вы можете увидеть объекты с высоким доходом, отмеченные как кластер 2, а объекты с низким - как кластер 1. При втором запуске того же анализа, объекты с высоким доходом могут быть отмеченные как кластер 1. Вы также можете увидеть, что некоторые объекты со средним доходом переходят из одного кластера в другой.

  • Параметр Перестановки для вычисления вероятности членства использует перестановки и накопление доказательств для вычисления вероятности членства в кластере для каждого объекта. Более высокая вероятность говорит о том, что вы можете быть уверены в принадлежности объекта кластеру, в который он включен. Низкая вероятность говорит о том, что объект сильно отличается от кластера, которому он присвоен, либо объект должен быть включен в другой кластер, если изменились Поля анализа, Ограничения размера кластера или Пространственные ограничения. При вычислении этих вероятностей используются перестановки случайного остовного дерева и накопление доказательств. В случае больших наборов данных эти вычисления требуют значительного времени. Рекомендуется сначала сделать несколько попыток и определить оптимальное число кластеров для анализа, а затем, при следующем запуске, вычислять вероятности. Вы можете улучшить производительность, увеличив значение параметра среды Фактор параллельной обработки.

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

    Внимание:

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

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

Синтаксис

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)
ParameterОбъяснениеТип данных
in_features

Класс или слой объектов, для которого требуется создать кластеры.

Feature Layer
output_features

Новый выходной класс объектов, содержащий все объекты, указанные поля анализа и поле, указывающее, какому кластеру принадлежит объект.

Feature Class
analysis_fields
[analysis_fields,...]

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

Field
size_constraints
(Дополнительный)

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

  • NONEОграничения размера кластера использоваться не будут. Используется по умолчанию.
  • NUM_FEATURESБудет использовано минимальное и максимальное число объектов на группу.
  • ATTRIBUTE_VALUEБудет использовано минимальное и максимальное значение атрибута на группу.
String
constraint_field
(Дополнительный)

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

Field
min_constraint
(Дополнительный)

Минимальное число объектов на кластер или минимальное атрибутивное значение на кластер. Значение должно быть положительным.

Double
max_constraint
(Дополнительный)

Максимальное число объектов на кластер или максимальное атрибутивное значение на кластер. Если задано ограничение по максимуму, параметр number_of_clusters отключается. Значение должно быть положительным.

Double
number_of_clusters
(Дополнительный)

Число создаваемых кластеров. Если это параметр пуст, инструмент оценит оптимальное число кластеров, вычислив значение псевдо F-статистики для решения кластеризации с числом кластеров от 2 до 30.

Этот параметр отключается, если задано максимальное число объектов или максимальное атрибутивное значение.

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

Определяет, как задаются пространственные отношения между объектами.

  • CONTIGUITY_EDGES_ONLYКластеры будут содержать непрерывные полигональные объекты. Только полигоны с общим ребром могут входить в один кластер.
  • CONTIGUITY_EDGES_CORNERS Кластеры будут содержать непрерывные полигональные объекты. Только полигоны с общим ребром или общей вершиной могут входить в один кластер. Для полигональных объектов эта опция используется по умолчанию.
  • TRIMMED_DELAUNAY_TRIANGULATION У объектов одного кластера будет, по крайней мере, один общий естественный сосед с другим объектом этого кластера. Отношения естественной окрестности основаны на сокращенной триангуляции Делоне. Концептуально, метод триангуляции Делоне создает сеть неперекрывающихся треугольников на основе центроидов объектов. Каждый объект – это узел треугольника, а узлы с общими ребрами считаются соседями. Это треугольники затем обрезаются выпуклым многоугольником, так чтобы объекты не соседствовали с объектами вне этого многоугольника. Для точечных объектов эта опция используется по умолчанию.
  • GET_SPATIAL_WEIGHTS_FROM_FILEПространственные и, при необходимости, временные отношения определяются файлом пространственных весов (.swm). Создайте матрицу пространственных весов с помощью инструментов Построить матрицу пространственных весов или Построить матрицу пространственных весов для сети. Путь к файлу пространственных весов указан в параметре Weights_Matrix_File.
String
weights_matrix_file
(Дополнительный)

Путь к файлу, который содержит пространственные веса, определяющие пространственные и, возможно, временные отношения между объектами.

File
number_of_permutations
(Дополнительный)

Число случайных перестановок для вычисления коэффициентов стабильности членства. Если выбрано 0 (zero), вероятности вычисляться не будут. При вычисление этих вероятностей используются перестановки случайного остовного дерева и накопление доказательств.

В случае больших наборов данных эти вычисления требуют значительного времени. Рекомендуется сначала сделать несколько попыток и определить оптимальное число кластеров для анализа, а затем, при следующем запуске, вычислять вероятности. Установка параметра среды Коэффициент параллельной обработки на 50 может улучшить время работы инструмента.

Long
output_table

Создается таблица, содержащая результаты вычисления значений псевдо F-статистики для оценки оптимального числа кластеров. Диаграмма, созданная по этой таблице, находится на панели Содержание под слоем выходных объектов.

Table

Пример кода

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

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

В следующем скрипте окна Python показано, как использовать инструмент 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")

Environments

Выходная система координат

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

Генератор случайных чисел

В качестве генератора случайных чисел всегда используется Mersenne Twister.

Информация о лицензиях

  • Basic: Да
  • Standard: Да
  • Advanced: Да

Связанные разделы