Подпись | Описание | Тип данных |
Входные объекты | Класс или слой объектов, для которого требуется создать кластеры. | Feature Layer |
Выходные объекты | Новый выходной класс объектов, который будет создан, содержит все объекты, указанные поля анализа и поле, указывающее, какому кластеру принадлежит объект. | Feature Class |
Поля анализа | Список полей, которые будут использоваться для различения кластеров между собой. | Field |
Метод кластеризации (Дополнительный) | Указывает используемый алгоритм кластеризации. Алгоритмы K-means и K-medoids, в целом, создают похожие результаты. Тем не менее K-medoids более устойчив к шуму и выбросам во Входных объектах. K-means обычно быстрее, чем K-medoids, его лучше применять в большим наборам данных.
| String |
Метод инициализации (Дополнительный) | Задает способ получения начальных объектов, вокруг которых нарастают кластеры. Если требуется три кластера, анализ начнется с трех начальных объектов.
| String |
Поле инициализации (Дополнительный) | Числовое поле, определяющее начальные объекты. Объекты, со значением 1 в этом поле, используются для создания групп. Для каждого начального объекта образуется кластер, поэтому необходимо, как минимум, два начальных объекта. | 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 для параметра Число кластеров, анализ начнется с трех начальных объектов. Опция по умолчанию Оптимизированные местоположения начальных значений случайным образом выбирает первый начальный объект, а последующие начальные объекты находятся далеко друг от друга в пространстве данных (по атрибутивным значениям). Выбор начальных значений, которые формируют разные области пространства данных, улучшает производительность. Иногда вы знаете, что определенные объекты отражают характеристики, которые должны быть представлены разными кластерами. В этом случае вы можете указать эти местоположения, создав поле начальных значений, чтобы идентифицировать эти объекты. Используйте значение 0 для всех объектов, кроме начальных, в создаваемом поле начального значения; используйте значение 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_MEDOIDS, в целом, создают похожие результаты. Однако, K_MEDOIDS более устойчив к шуму и выбросам во in_features. K_MEANS обычно быстрее, чем K_MEDOIDS, его лучше применять в большим наборам данных.
| String |
initialization_method (Дополнительный) | Задает способ получения начальных объектов, вокруг которых нарастают кластеры. Если требуется три кластера, анализ начнется с трех начальных объектов.
| String |
initialization_field (Дополнительный) | Числовое поле, определяющее начальные объекты. Объекты, со значением 1 в этом поле, используются для создания групп. Для каждого начального объекта образуется кластер, поэтому необходимо, как минимум, два начальных объекта. | 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: Да