Анализ группирования (Пространственная статистика)
Краткая информация
Группирует объекты на основе атрибутов объектов и дополнительных пространственных/временных ограничений.
Прежние версии:
Это устаревший инструмент. Алгоритм этого инструмента был усовершенствован, также добавлена новая функциональность. Для упрощения методологии и функциональности этот инструмент заменен двумя другими инструментами. Используйте инструмент Пространственно-ограниченная многофакторная кластеризация, если вы хотите создать пространственно ограниченные группы. Применяйте инструмент Многофакторная кластеризация, чтобы создать группы без пространственных ограничений.
Иллюстрация
Использование
Прежние версии:
Алгоритм инструмента Анализ группирования был усовершенствован, а также добавлен новый функционал в эти методы в версии ArcGIS AllSource2.1. Для упрощения новых инструментов и методов были созданы два новых инструмента, заменившие инструмент Анализ группирования. Используйте инструмент Пространственно-ограниченная многофакторная кластеризация, если вы хотите создать пространственно ограниченные группы. Применяйте инструмент Многофакторная кластеризация, чтобы создать группы без пространственных ограничений.
Этот инструмент создает класс выходных объектов с полями, используемыми в анализе, а также целочисленным полем SS_GROUP. Отображение по умолчанию выполняется на основании значений поля SS_GROUP и показывает, к какой группе принадлежит каждый объект. Если вы указали, что требуется три группы, каждая запись будет содержать значение 1, 2 или 3 для поля SS_GROUP. Поле SS_SEED указывает, какие объекты использовались как начальные точки для подбора групп. Число ненулевых значений в поле SS_SEED будет совпадать со значением, введенным для параметра Число групп.
Примечание:
Создание файла отчета может значительно увеличить время обработки. Затем инструмент Анализ группирования создаст Выходной класс объектов с отображением участников групп. PDF-файл отчета не создается, если вы укажете более 15 групп или более 15 переменных.
Поле уникального ID позволяет связать записи в выходном классе объектов с исходным входным классом объектов. Следовательно, значение поля уникального ID должно быть уникально для каждого объекта и, как правило, должно хранится в постоянном поле, которое остается с классом объектов. Если у вас нет поля уникального ID в наборе данных, вы можете легко создать его путем добавления нового целого поля в вашу таблицу класса объектов и рассчитать значения поля, которое должно соответствовать полям FID/OID. Вы не можете непосредственно использовать поля FID/OID для параметра поля уникального ID.
Поля анализа должны быть числовыми и должны содержать разные значения. Поля без вариации (т. е. с одним значением для каждой записи) будут удалены из анализа, но будут включены в выходной класс объектов. Поля категорий можно использовать с инструментом Анализ группирования, если они представлены как бинарные переменные (значение один для всех объектов категории и ноль для всех других объектов).
Дополнительные Пространственные ограничения, такие как фиксированное расстояние, можно наложить, создав с помощью инструмента Построить матрицу пространственных весов SWM-файл, а затем указав путь к этому файлу в параметре Файл матрицы пространственных весов.
Примечание:
При определении пространственного ограничения можно гарантированно получить компактные, непрерывные или близкие группы. Включение пространственных переменных в ваш список полей анализа также может повлиять на эти атрибуты группы. К примерам пространственных переменных можно отнести расстояние до скоростных автострад, доступность вакансий, близость магазинов, измерения связности и даже координаты (X, Y). Включение переменных, представляющих время, день недели или временное расстояние, позволяет обеспечить временную компактность членов группы.
При наличии четкого пространственного шаблона в ваших объектах (например, три отдельных кластера) алгоритм группирования с пространственным ограничением может усложниться. Сначала алгоритм определяет, существуют ли разъединенные группы. Если число таких групп больше значения Число групп, инструмент не сможет выполнить вычисления и отобразит соответствующее сообщение об ошибке. Если число разъединенных групп совпадает со значением параметра Число групп, только пространственная конфигурация объектов определяет результаты группировки, как показано на рисунке (A) ниже. Если указанное Число групп больше числа разъединенных групп, то группирование начинается с уже определенных групп. Например, если число разъединенных групп равно трем, а значение параметра Число групп равно 4, одна из этих трех групп будет разделена, чтобы создать четвертую группу, как показано на рисунке (B) ниже.
Хотя существует тенденция для включения максимально возможного числа полей анализа, при использовании этого инструмента лучше начать с одной переменной. Результаты намного легче интерпретировать при меньшем числе полей анализа. Также легче определить, какие переменные лучше разделяют группы при меньшем количестве полей.
Примечание:
При использовании произвольных начальных чисел вы можете выбрать начальное число для запуска генератора случайных чисел в разделе Генератор случайных чисел диалогового окна Параметры среды. Тем не менее в этом инструменте поддерживается только один тип генератора случайных чисел – Mersenne Twister.
Любые значения 1 в поле инициализации будут интерпретироваться как начальные. Если начальных объектов больше значения Число групп, начальные объекты выбираются случайным образом из объектов, заданных полем инициализации. Если число начальных объектов меньше значения Число групп, выбираются дополнительные начальные объекты так, чтобы они были далеко (в пространстве данных) из объектов, заданных полем инициализации.
Иногда вы знаете, что Число групп лучше всего подходит для ваших данных. Если это не так, можно попробовать использовать три разных числа групп, отмечая, какие значения обеспечивают наилучшую дифференциацию групп. Если отметить опцию Оценить оптимальное число групп, псевдо-F-статистика будет вычислена для вариантов группировки с группами от 2 до 15. Если других критериев для параметра Число групп нет, используйте число, связанное с одним из самых больших значений псевдо-F-статистики. Самые большие значения псевдо-F-статистики указывают решения, которые улучшают поиск сходств внутри групп и отличий между группами. При указании дополнительного Выходного файла отчета, этот PDF-отчет будет содержать график со значениями F-статистики для решений с группами от 2 до 15.
В зависимости от указанного значения в параметре Число групп, инструмент остановится, когда деление на группы примет случайный характер. Предположим, в ваших данных, содержащих одно поле анализа, можно выделить три пространственных кластера для полигонов. Если все объекты в кластере содержат одно значение в поле анализа, любые дополнительные кластеры, создаваемые инструментом после выявления трех основных, были бы случайны. Даже если вы указали более 3-х групп для этой ситуации, инструмент все равно создаст только 3 группы. Хотя если в поле анализа будет выявлена вариабельность значений для какой-либо группы, деление на дополнительные группы будет продолжено.Больше групп создано не будет. только при условии отсутствии вариабельности значений в поле анализа.
При включении пространственного или пространственно-временного ограничения в анализ, псевдо-F-статистика доступна для сравнения (если входные объекты и поля анализа не изменяются). Затем вы можете использовать эти значения F-статистики, чтобы определить не только оптимальное число групп, но и выбрать наиболее эффективную опцию для параметров Пространственные ограничения, Метод определения расстояния и Число соседей.
Инструмент Анализ группирования возвращает три выходных значения для их потенциального использования в пользовательской модели или скриптах. Это псевдо-F-статистика для параметра Число групп (Output_FStat), самая большая псевдо F-статистика для групп с 2 по 15 (Max_FStat), и число групп, связанных с самым большим значением псевдо-F-статистики (Max_FStat_Group). Если вам не нужно выбирать параметр Оценить оптимальное число групп, все образованные выходные переменные получают значение None.
Число групп, назначенных набору объектов, может измениться после запуска инструмента. Например, предположим, что вы разбиваете объекты на две группы на основе переменной дохода. При первом выполнении анализа вы можете увидеть объекты с высоким доходом в группе 2, а объекты с низким доходом – в группе 1. При втором выполнении того же анализа объекты с высоким доходом будут отмечены как группа 1.
Хотя вы можете создать большое число разных групп, в большинстве сценариев, вы будете разбивать объекты всего на несколько групп. Так как графики и карты трудно интерпретировать при наличии множества групп, отчеты не создаются при вводе значения больше 15 для параметра Число групп или выборе больше 15 полей анализа. Однако вы можете увеличить это ограничение до максимального числа групп.
Более подробно:
Так как у вас есть исходный код на языке Python для инструмента Анализ группирования, вы можете переопределить ограничение в 15 переменных и 15 групп. Это верхнее ограничение задается двумя переменными в файле скрипта Partition.py и в коде проверки инструмента в наборе инструментов Пространственная статистика:
maxNumGroups = 15
maxNumVars = 15
Дополнительные сведения о Выходном файле отчета см. в статье Более подробно о работе инструмента Анализ группирования.
Параметры
Подпись
Описание
Тип данных
Входные объекты
Класс или слой объектов, для которого требуется создать группы.
Feature Layer
Поле уникального ID
Целочисленное поле, содержащее по уникальному значению для каждого объекта во входном классе объектов. Если у вас нет поля Уникальный ID, вы можете создать его путем добавления нового целого поля в вашу таблицу классов объектов и вычислив значения полей, которые были бы равны полям FID или OBJECTID.
Field
Выходной класс объектов
Новый выходной класс объектов, содержащий все объекты, указанные поля анализа и поле, указывающее, какой группе принадлежит объект.
Feature Class
Число групп
Число создаваемых групп. Параметр Выходной отчет будет отключен, если групп больше 15.
Long
Поля анализа
Список полей, которые будут использоваться, чтобы различать группы друг от друга. Параметр Выходной отчет будет отключен, если полей больше 15.
Field
Пространственные ограничения
Определяет, как пространственные отношения между объектами должны ограничивать создаваемые группы.
CONTIGUITY_EDGES_ONLY—Группы с непрерывными полигональными объектами. Только полигоны с общим ребром могут входить в одну группу.
CONTIGUITY_EDGES_CORNERS—Группы с непрерывными полигональными объектами. Только полигоны с общим ребром или общей вершиной могут входить в одну группу.
DELAUNAY_TRIANGULATION—У объектов в одной группе будет, по крайней мере, один общий естественный сосед с другим объектом из этой группы. Отношения естественной окрестности основаны на триангуляции Делоне. Концептуально, метод триангуляции Делоне создает сеть не перекрывающихся треугольников на основе центроидов объектов. Каждый объект – это узел треугольника, а узлы с общими ребрами считаются соседями.
K_NEAREST_NEIGHBORS—Объекты в одной группе будут расположены рядом друг с другом. Каждый объект будет соседом, по крайней мере, для одного другого объекта в группе. Соседские отношения основаны на ближайших K объектах, при этом вы указываете целое число K для параметра Число соседей.
GET_SPATIAL_WEIGHTS_FROM_FILE—Пространственные и, при необходимости, временные отношения определяются файлом пространственных весов (.swm). Создайте файл матрицы пространственных весов с помощью инструментов Построить матрицу пространственных весов или Построить матрицу пространственных весов для сети.
NO_SPATIAL_CONSTRAINT—Объекты группируются только с использованием близости в пространстве данных. Объекты не обязательно должны располагаться рядом друг с другом в пространстве или времени, чтобы попасть в одну группу.
String
Метод расстояний
(Дополнительный)
Определяет, как рассчитываются расстояния от одного объекта до соседнего объекта.
EUCLIDEAN—Расстояние по прямой линии между двумя точками (как ворона летает)
MANHATTAN—Расстояние между двумя точками, измеренное вдоль осей, расположенных под прямым углом друг к другу (городские кварталы); рассчитывается суммированием абсолютных разностей между координатами х и у.
String
Число соседей
(Дополнительный)
Long
Файл матрицы весов
(Дополнительный)
Путь к файлу, который содержит пространственные веса, которые определяют пространственные отношения между объектами.
File
Метод инициализации
(Дополнительный)
String
Поле инициализации
(Дополнительный)
Числовое поле, определяющее начальные объекты. Объекты, для которых это поле имеет значение 1, используются для создания групп.
Field
Выходной файл отчета
(Дополнительный)
Полный путь к создаваемому PDF-файлу отчета со сводкой характеристик групп. Данный отчет содержит ряд графиков, помогающих сравнить характеристики каждой группы. Создание файла отчета может значительно увеличить время обработки.
File
Оценить оптимальное число групп
(Дополнительный)
Указывает, оценивает ли инструмент оптимальное число групп от 2 до 15.
Отмечено - оцениваются группы от 2 до 15.
Не отмечено – оценка числа групп не выполняется. Это значение по умолчанию
Boolean
Производные выходные данные
Подпись
Описание
Тип данных
F-статистика
Выходное значение Псевдо-F-статистики.
Double
Максимальное значение F-статистики группы
Число групп, связанных с наибольшим значением псевдо-F-статистики.
Long
Максимальное значение F-статистики
Наибольшее псевдо-F-статистики для группы с 2 по 15.
Класс или слой объектов, для которого требуется создать группы.
Feature Layer
Unique_ID_Field
Целочисленное поле, содержащее по уникальному значению для каждого объекта во входном классе объектов. Если у вас нет поля Уникальный ID, вы можете создать его путем добавления нового целого поля в вашу таблицу классов объектов и вычислив значения полей, которые были бы равны полям FID или OBJECTID.
Field
Output_Feature_Class
Новый выходной класс объектов, содержащий все объекты, указанные поля анализа и поле, указывающее, какой группе принадлежит объект.
Feature Class
Number_of_Groups
Число создаваемых групп. Параметр Выходной отчет будет отключен, если групп больше 15.
Long
Analysis_Fields
[analysis_field,...]
Список полей, которые будут использоваться, чтобы различать группы друг от друга. Параметр Выходной отчет будет отключен, если полей больше 15.
Field
Spatial_Constraints
Определяет, как пространственные отношения между объектами должны ограничивать создаваемые группы.
CONTIGUITY_EDGES_ONLY—Группы с непрерывными полигональными объектами. Только полигоны с общим ребром могут входить в одну группу.
CONTIGUITY_EDGES_CORNERS—Группы с непрерывными полигональными объектами. Только полигоны с общим ребром или общей вершиной могут входить в одну группу.
DELAUNAY_TRIANGULATION—У объектов в одной группе будет, по крайней мере, один общий естественный сосед с другим объектом из этой группы. Отношения естественной окрестности основаны на триангуляции Делоне. Концептуально, метод триангуляции Делоне создает сеть не перекрывающихся треугольников на основе центроидов объектов. Каждый объект – это узел треугольника, а узлы с общими ребрами считаются соседями.
K_NEAREST_NEIGHBORS—Объекты в одной группе будут расположены рядом друг с другом. Каждый объект будет соседом, по крайней мере, для одного другого объекта в группе. Соседские отношения основаны на ближайших K объектах, при этом вы указываете целое число K для параметра Number_of_Neighbors.
GET_SPATIAL_WEIGHTS_FROM_FILE—Пространственные и, при необходимости, временные отношения определяются файлом пространственных весов (.swm). Создайте файл матрицы пространственных весов с помощью инструментов Построить матрицу пространственных весов или Построить матрицу пространственных весов для сети.
NO_SPATIAL_CONSTRAINT—Объекты группируются только с использованием близости в пространстве данных. Объекты не обязательно должны располагаться рядом друг с другом в пространстве или времени, чтобы попасть в одну группу.
String
Distance_Method
(Дополнительный)
Определяет, как рассчитываются расстояния от одного объекта до соседнего объекта.
EUCLIDEAN—Расстояние по прямой линии между двумя точками (как ворона летает)
MANHATTAN—Расстояние между двумя точками, измеренное вдоль осей, расположенных под прямым углом друг к другу (городские кварталы); рассчитывается суммированием абсолютных разностей между координатами х и у.
String
Number_of_Neighbors
(Дополнительный)
Этот параметр может указываться во всех случаях, когда для параметра Spatial_Constraints задается значение K_NEAREST_NEIGHBORS или один из методов примыкания (CONTIGUITY_EDGES_ONLY или CONTIGUITY_EDGES_CORNERS). Число соседей по умолчанию равно 8 и не может быть меньше 2 для K_NEAREST_NEIGHBORS. Это значение отражает точное число кандидатов в ближайшие соседи, рассматриваемое при построении групп. Объект не будет включен в группу, если один из других объектов в этой группе не является ближайшим K соседом. Значения по умолчанию для CONTIGUITY_EDGES_ONLY и CONTIGUITY_EDGES_CORNERS равны 0. Для методов примыкания это значение отражает минимальное число кандидатов в соседи. Дополнительные соседние объекты, в случае, если соседей выявляется меньше, чем указано в параметре Number_of_Neighbors, определяются на основании близости центроидов объектов.
Long
Weights_Matrix_File
(Дополнительный)
Путь к файлу, который содержит пространственные веса, которые определяют пространственные отношения между объектами.
File
Initialization_Method
(Дополнительный)
Указывает, как получаются начальные значения, если для параметра Spatial_Constraint задано значение NO_SPATIAL_CONSTRAINT. Начальные значения используются для создания групп. Если требуется три группы, анализ начнется с трех начальных объектов.
FIND_SEED_LOCATIONS—Начальные объекты выбираются для оптимизации производительности.
GET_SEEDS_FROM_FIELD—Ненулевые записи в поле инициализации будут использоваться как начальные точки для наращивания групп.
USE_RANDOM_SEEDS—Начальные объекты выбираются случайным образом.
String
Initialization_Field
(Дополнительный)
Числовое поле, определяющее начальные объекты. Объекты, для которых это поле имеет значение 1, используются для создания групп.
Field
Output_Report_File
(Дополнительный)
Полный путь к создаваемому PDF-файлу отчета со сводкой характеристик групп. Данный отчет содержит ряд графиков, помогающих сравнить характеристики каждой группы. Создание файла отчета может значительно увеличить время обработки.
File
Evaluate_Optimal_Number_of_Groups
(Дополнительный)
EVALUATE—Оцениваются группы 2-15.
DO_NOT_EVALUATE—Оценка числа групп не выполняется. Это значение по умолчанию
Boolean
Производные выходные данные
Имя
Описание
Тип данных
Output_FStat
Выходное значение Псевдо-F-статистики.
Double
Max_FStat_Group
Число групп, связанных с наибольшим значением псевдо-F-статистики.
Long
Max_FStat
Наибольшее псевдо-F-статистики для группы с 2 по 15.
Double
Пример кода
GroupingAnalysis, пример 1 (окно Python)
Пример скрипта в окне Python для использования функции GroupingAnalysis.
Следующий автономный Python скрипт демонстрирует, как использовать функцию GroupingAnalysis.
# Grouping Analysis of Vandalism data in a metropolitan area
# using the Grouping Analysis Tool
# Import system modules
import arcpy
import os
# Set geoprocessor object 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 Grouping Analysis tool to create groups based on different variables
# or analysis fields
# Process: Group Similar Features
ga = arcpy.stats.GroupingAnalysis("Dist_Vand.shp", "TARGET_FID",
"outGSF.shp", "4",
"Join_Count;TOTPOP_CY;VACANT_CY;UNEMP_CY",
"NO_SPATIAL_CONSRAINT", "EUCLIDEAN", "",
"", "FIND_SEED_LOCATIONS", "",
"outGSF.pdf", "DO_NOT_EVALUATE")
# Use Summary Statistic tool to get the Mean of variables used to group
# Process: Summary Statistics
SumStat = arcpy.Statistics_analysis("outGSF.shp", "outSS",
[["Join_Count", "MEAN"],
["VACANT_CY", "MEAN"],
["TOTPOP_CY", "MEAN"],
["UNEMP_CY", "MEAN"]],
"GSF_GROUP")
except:
# If an error occurred when running the tool, print out the error message.
print(arcpy.GetMessages())
До начала анализа геометрия пространственных объектов проецируется в Выходную систему координат. Во всех математических вычислениях учитывается пространственная привязка Выходной системы координат. Если выходная система координат выражена в градусах, минутах и секундах, то геодезические расстояния рассчитываются с помощью хордовых расстояний.