Подпись | Описание | Тип данных |
Входные объекты | Класс или слой объектов, для которого требуется создать кластеры. | Feature Layer |
Выходные объекты | Новый выходной класс объектов, содержащий все объекты, указанные поля анализа и поле, указывающее, какому кластеру принадлежит объект. | Feature Class |
Поля анализа | Список полей, которые будут использоваться для различения кластеров между собой. | Field |
Метод кластеризации
(Дополнительный) | Используемый алгоритм кластеризации. По умолчанию выбран K means. Алгоритмы K means и K medoids являются популярными методами кластеризации и, в целом, создают похожие результаты. Однако, K medoids более устойчив к шуму и выбросам во Входных объектах. K means обычно быстрее, чем K medoids, его лучше применять в большим наборам данных.
| String |
Метод инициализации (Дополнительный) | Задает способ получения начальных объектов, вокруг которых нарастают кластеры. Если требуется три кластера, анализ начнется с трех начальных объектов.
| String |
Поле инициализации (Дополнительный) | Числовое поле, определяющее начальные объекты. Объекты, со значением 1 в этом поле, используются для создания групп. Все остальные объекты должны содержать 0. | Field |
Число кластеров (Дополнительный) | Число создаваемых кластеров. Если оставить этот параметр пустым, инструмент оценит оптимальное число кластеров, вычислив псевдо F-статистику для решения кластеризации с числом кластеров от 2 до 30. Этот параметр отключается, если в поле инициализации указаны местоположения начальных объектов. | Long |
Выходная таблица для оценки числа кластеров (Дополнительный) | Если задано, создается таблица, содержащая псевдо F-статистику для решений кластеризации с числом кластеров от 2 до 30, вычисленную для определения оптимального числа кластеров. Диаграмма, созданная на основе этой таблицы, доступна в разделе автономных таблиц панели Содержание. | Table |
Краткая информация
Находит естественные кластеры объектов исключительно на основе их атрибутивных значениях.
Подробнее о том, как работает инструмент Многофакторная кластеризация
Иллюстрация
Использование
-
Этот инструмент создает класс выходных объектов с полями, используемыми в анализе, а также целочисленным полем CLUSTER_ID. Отображение по умолчанию основано на поле CLUSTER_ID, оно показывает, к какому кластеру относится каждый объект. Если вы указали, что требуется три кластера, каждая запись будет содержать значение 1, 2 или 3 в поле CLUSTER_ID. В выходном классе объектов также будет содержаться бинарное поле IS_SEED. Поле IS_SEED указывает, какие объекты использовались как начальные точки для подбора групп. Число ненулевых значений в поле IS_SEED будет совпадать со значением, введенным для параметра Число кластеров.
Входными объектами могут быть, точки, линии или полигоны.
-
Этот инструмент создает сообщения и диаграммы, которые помогают понять характеристики найденных кластеров. Вы можете получить доступ к сообщениям, переместив курсор мыши на индикатор выполнения, щелкнув на всплывающую кнопку или развернув раздел Просмотреть детали в панели Геообработка. Вы также можете получить доступ к сообщениям для предыдущего запуска инструмента Многомерная кластеризация через историю геообработки. Созданные диаграммы можно открыть с помощью панели Содержание.
-
Дополнительные сведения о выходных сообщениях и диаграммах см. в разделе Как работает инструмент Многофакторная кластеризация.
-
Поля анализа должны быть числовыми и содержать различные значения. Поля без вариации (т. е. с такими же или близкими значениями для каждой записи) будут исключены из анализа, но будут включены в Выходные объекты. Поля категорий можно использовать с инструментом Многофакторная кластеризация, если они представлены как числовые бинарные переменные (значение один для всех объектов категории и ноль для всех других объектов).
-
Инструмент Многофакторная кластеризация создает не пространственные кластеры. Для некоторых приложений следует применять к создаваемым кластерам требования непрерывности или другие требования близости. В этих случаях, можно использовать инструмент Пространственно-ограниченная многофакторная кластеризация для создания кластеров, непрерывных в пространстве.
-
Хотя существует тенденция для включения максимально возможного числа полей анализа, при использовании этого инструмента лучше начать с одной переменной, а затем добавлять дополнительные. Результаты намного легче интерпретировать при меньшем числе полей анализа. Также легче определить, какие переменные лучше разделяют группы при меньшем количестве полей.
-
У Метода инициализации есть три опции: Оптимизированные местоположения начальных объектов, Пользовательские местоположения начальных объектов и Случайные местоположения начальных объектов. Начальные объекты - это объекты, вокруг которых растут отдельные кластеры. Если, например, ввести значение 3 для параметра Чисо кластеров, анализ начнется с трех начальных объектов. Опция по умолчанию Оптимизированные местоположения начальных значений случайным образом выбирает первый начальный объект, а последующие начальные объекты находятся далеко друг от друга в пространстве данных (по атрибутивным значениям). Выбор начальных значений, которые формируют разные области пространства данных, улучшает производительность. Иногда вы знаете, что определенные объекты отражают характеристики, которые должны быть представлены разными кластерами. В этом случае вы можете указать эти местоположения, создав поле начальных значений, чтобы идентифицировать эти объекты. Создаваемое поле начального значения должно содержать нули для всех объектов, кроме изначальных, для которых должно быть указано значение 1. Затем выберите Пользовательские местоположения начальных объектов для параметра Метод инициализации. Если вы хотите выполнить анализ чувствительности, чтобы узнать, какие объекты всегда будут в одном кластере, выберите опцию Случайные местоположения начальных объектов для параметра Метод инициализации. С этой опцией все начальные объекты выбираются случайным образом.
Примечание:
При использовании произвольных начальных чисел вы можете выбрать начальное число для запуска генератора случайных чисел в разделе Генератор случайных чисел диалогового окна Параметры среды. Тем не менее в этом инструменте поддерживается только один тип генератора случайных чисел – Mersenne Twister.
-
Любые значения 1 в поле инициализации будут интерпретироваться как начальные. Если вы решили указать местоположения начальных объектов, параметр Число кластеров будет отключен, а инструмент найдет столько же кластеров, сколько ненулевых значений в Поле инициализации.
-
Иногда вы знаете, какое Число кластеров лучше всего подходит для ваших данных. Если это не так, можно попробовать различные количества кластеров, отмечая, какие значения обеспечивают наилучшую дифференциацию кластеров. Если оставить параметр Число кластеров пустым, инструмент оценит оптимальное число кластеров, вычислив псевдо F-статистику для решения кластеризации с числом кластеров от 2 до 30, и выведет оптимальное число кластеров в окне сообщения. Когда вы задаете дополнительную Выходную таблицу для оценки числа кластеров, создается диаграмма, показывающая значения псевдо F-статистики для решений с числом кластеров от 2 до 30. Самые большие значения псевдо-F-статистики указывают решения, которые улучшают поиск сходств внутри кластеров и отличий между кластерами. Если других критериев для параметра Число кластеров нет, используйте число, связанное с одним из самых больших значений псевдо-F-статистики.
-
Инструмент использует алгоритм K-Means или K-Medoids для распределения объектов по кластерам. Если выбрано Случайные местоположения начальных объектов в качестве Метода инициализации, в алгоритме используется эвристический анализ и при каждом запуске инструмента результаты могут быть разными (даже при использовании одинаковых данных и параметров). Это происходит, потому что случайный компонент применяется для поиска начальных объектов, используемых для создания кластеров. Из-за этого эвристического решения, определение оптимального числа кластеров становится более сложным, а псевдо F-статистика может различаться при каждом запуске инструмента из-за выбора разных начальных объектов. Если в данных есть четкая закономерность, решения при последовательном запуске инструмента будут более согласованными. Следовательно, чтобы точнее определить оптимальное число кластеров, в диапазоне от 2 до 30, инструмент делает 10 повторов и использует наибольшие значения псевдо F-статистики.
Алгоритмы K means и K medoids являются популярными методами кластеризации и, в целом, создают похожие результаты. Однако, K medoids более устойчив к шуму и выбросам во Входных объектах. K means обычно быстрее, чем K medoids, его лучше применять в большим наборам данных.
-
Число кластеров, назначенных набору объектов, может измениться после запуска инструмента. Например, предположим, что вы разбиваете объекты на два кластера на основе переменной дохода. При первом запуске анализа вы можете видеть, что объекты с высоким доходом обозначены как кластер 2, а объекты с низким - как кластер 1; при повторном запуске этого же анализа, объекты с высоким доходом могут быть обозначены как кластер 1. Вы также можете увидеть, что некоторые объекты со средним доходом переходят из одного кластера в другой.
Параметры
arcpy.stats.MultivariateClustering(in_features, output_features, analysis_fields, {clustering_method}, {initialization_method}, {initialization_field}, {number_of_clusters}, {output_table})
Имя | Описание | Тип данных |
in_features | Класс или слой объектов, для которого требуется создать кластеры. | Feature Layer |
output_features | Новый выходной класс объектов, содержащий все объекты, указанные поля анализа и поле, указывающее, какому кластеру принадлежит объект. | Feature Class |
analysis_fields [analysis_field,...] | Список полей, которые будут использоваться для различения кластеров между собой. | Field |
clustering_method (Дополнительный) | Используемый алгоритм кластеризации. K_MEANS используется по умолчанию. Алгоритмы K_MEANS и K_MEDOIDS являются популярными методами кластеризации и, в целом, создают похожие результаты. Однако, K_MEDOIDS более устойчив к шуму и выбросам во in_features. K_MEANS обычно быстрее, чем K_MEDOIDS, его лучше применять в большим наборам данных.
| String |
initialization_method (Дополнительный) | Задает способ получения начальных объектов, вокруг которых нарастают кластеры. Если требуется три кластера, анализ начнется с трех начальных объектов.
| String |
initialization_field (Дополнительный) | Числовое поле, определяющее начальные объекты. Объекты, со значением 1 в этом поле, используются для создания групп. Все остальные объекты должны содержать 0. | Field |
number_of_clusters (Дополнительный) | Число создаваемых кластеров. Если оставить этот параметр пустым, инструмент оценит оптимальное число кластеров, вычислив псевдо F-статистику для решения кластеризации с числом кластеров от 2 до 30. Этот параметр отключается, если в поле инициализации указаны местоположения начальных объектов. | Long |
output_table (Дополнительный) | Если задано, создается таблица, содержащая псевдо F-статистику для решений кластеризации с числом кластеров от 2 до 30, вычисленную для определения оптимального числа кластеров. Диаграмма, созданная на основе этой таблицы, доступна в разделе автономных таблиц панели Содержание. | Table |
Пример кода
В следующем скрипте окна Python показано, как используется инструмент 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")
Следующий автономный Python скрипт демонстрирует, как использовать инструмент 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())
Параметры среды
Особые случаи
- Выходная система координат
До начала анализа геометрия пространственных объектов проецируется в Выходную систему координат. Во всех математических вычислениях учитывается пространственная привязка Выходной системы координат. Если выходная система координат выражена в градусах, минутах и секундах, то геодезические расстояния рассчитываются с помощью хордовых расстояний.
- Генератор случайных чисел
В качестве генератора случайных чисел всегда используется Mersenne Twister.
Информация о лицензиях
- Basic: Да
- Standard: Да
- Advanced: Да