Анализ совместного размещения (Пространственная статистика)

Сводка

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

Более подробно о работе инструмента Анализ совместного размещения

Иллюстрация

Диаграмма Анализа совместного размещения

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

  • Этот инструмент работает только с точечными объектами. Категории, которые вы хотите проанализировать, могут содержаться в одном или двух отдельных наборах данных. Можно также использовать два отдельных набора данных, которые будут считаться категориями. Например, у вас может быть набор точечных данных с ресторанами разных типов, которые будут рассматриваться только в качестве категории RESTAURANTS, и другой набор точечных данных, содержащий разные виды преступлений, которые будут рассматриваться в качестве категории CRIMES.

  • Инструмент определит для каждого объекта Категории интереса, в какой степени его окрестностях присутствуют объекты Соседней категории, по сравнению с общим пространственным распределением категорий. К примеру, для каждого объекта категории A значение получаемого локального индекса совместного размещения (LCLQ), равное 1, означает, что у вас, скорее всего, будет категория B в качестве соседа, как и предполагается. LCLQ, больший 1, означает, что у вас больше шансов (по сравнению со случайным распределением) получить B в качестве соседа, а если LCLQ меньше 1, то для объекта категории A меньше шансов получить точку категории B в качестве соседа (по сравнению со случайным распределением).

    Примечание:

    Отношение совместного размещения данного анализа не является симметричным. Значения индекса совместного размещения, рассчитанные для сравнения категории A с категорией B, будут отличаться от значений индекса совместного размещения, рассчитанных для сравнения категории B с категорией A.

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

  • Можно задавать пространственные отношения в параметрах Диапазон расстояний, K ближайших соседей или в файле матрицы пространственных весов в параметре Типы окрестностей.

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

  • Параметр Число перестановок используется для вычисления значений p. Выбор числа перестановок является компромиссом между точностью и временем обработки. Хотя по умолчанию выполняется 99 перестановок, рекомендуем увеличить это значение для получения итоговых результатов анализа.

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

  • Результатом выполнения этого инструмента является карта, отображающая каждый интересующий входной объект, отображенный в зависимости от того, был ли он в значительной степени связан с входными соседними объектами или изолирован от них. Этот инструмент добавляет поля к Выходным объектам, в том числе для вычисленного Локального индекса совместного размещения, значения p, Бина LCLQ, используемых для отображения с помощью символов и Типа LCLQ. Можно указать необязательную Выходную таблицу для глобальных отношений, которая будет содержать глобальные индексы совместного размещения между всеми категориями в Поле интереса и всеми категориями, присутствующими в Поле, содержащем категорию окрестности.

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

Синтаксис

arcpy.stats.ColocationAnalysis(input_type, in_features_of_interest, output_features, {field_of_interest}, {time_field_of_interest}, {category_of_interest}, {input_feature_for_comparison}, {field_for_comparison}, {time_field_for_comparison}, {category_for_comparison}, neighborhood_type, {number_of_neighbors}, {distance_band}, {weights_matrix_file}, {temporal_relationship_type}, {time_step_interval}, {number_of_permutations}, {local_weighting_scheme}, {output_table})
ParameterОбъяснениеТип данных
input_type

Указывает, будут ли поступать значения параметра in_features_of_interest из одного и того же набора данных с указанными категориями, из разных наборов данных с указанными категориями или из разных наборов данных, которые будут рассматриваться, как отдельные категории (например, один набор данных содержит все точки, отображающие гепардов, и второй набор данных, в котором все точки отображают газелей).

  • SINGLE_DATASETАнализируемые категории содержатся в поле одного набора данных.
  • TWO_DATASETSАнализируемые категории содержатся в полях отдельных наборов данных.
  • DATASETS_WITHOUT_CATEGORIESБудут проанализированы два набора данных, соответствующие двум категориям.
String
in_features_of_interest

Класс пространственных объектов, содержащий точки с категориями.

Feature Layer
output_features

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

Feature Class
field_of_interest
(Дополнительный)

Поле, содержащее анализируемую категорию или категории.

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

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

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

Основная категория анализа. Инструмент будет определять для каждого значения category_of_interest степень, в которой основная категория притягивается к или сопоставляется со значением параметра neighboring_category.

String
input_feature_for_comparison
(Дополнительный)

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

Feature Layer
field_for_comparison
(Дополнительный)

Поле из параметра input_feature_for_comparison, содержащее сравниваемую категорию.

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

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

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

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

String
neighborhood_type

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

  • DISTANCE_BANDКаждый объект анализируется в контексте соседних объектов. Соседние объекты в пределах указанного критического расстояния (distance_band) получают вес 1 и влияют на расчеты для целевого объекта. Соседние объекты за пределами указанного критического расстояния получают вес 0 и не оказывают влияния на расчеты для целевого объекта.
  • K_NEAREST_NEIGHBORSБлижайшие k объекты будут включены в анализ в качестве соседей. Число соседей определяется параметром number_of_neighbors. Влияние соседа в анализе взвешивается на основе расстояния до самого дальнего соседа. Это значение по умолчанию.
  • GET_SPATIAL_WEIGHTS_FROM_FILEПри использовании SINGLE_DATASET в input_type пространственные отношения могут определяться на основе заданного файла матрицы пространственных весов. Влияние соседа в анализе взвешивается на основе расстояния до самого дальнего соседа. Путь к файлу пространственных весов указан в параметре weights_matrix_file.
String
number_of_neighbors
(Дополнительный)

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

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

Размер окрестности постоянен (фиксирован) для каждого объекта. Все находящиеся в пределах этого расстояния объекты будут использоваться для тестирования локальных отношений между категориями. Если значение не задано, будет использоваться среднее расстояние, на котором у каждого объекта есть хотя бы 8 соседей.

Linear Unit
weights_matrix_file
(Дополнительный)

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

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

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

  • BEFOREВременное окно будет расширяться назад во времени для каждого значения in_features_of_interest. У соседних объектов должна быть отметка даты/времени, которая появляется до отметки даты/времени интересующего объекта, чтобы они были включены в анализ. Это значение по умолчанию.
  • AFTERВременное окно расширяется вперед во времени для каждого значения in_features_of_interest. У соседних объектов должна быть отметка даты/времени, которая появляется после отметки даты/времени интересующего объекта, чтобы они были включены в анализ.
  • SPANВременное окно расширяется назад и вперед во времени для каждого значения in_features_of_interest. У соседних объектов должна быть отметка даты/времени, которая появляется в пределах временного интервала time_step_interval до или после отметки даты/времени интересующего объекта, чтобы они были включены в анализ. К примеру, если для параметра time_step_interval задано значение, равное 1 неделе, окно будет охватывать 1 неделю до целевого объекта и 1 неделю после него.
String
time_step_interval
(Дополнительный)

Целое число и единица измерения, соответствующие числу временных единиц, составляющих временное окно.

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

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

  • 99Анализ будет использовать 99 перестановок. С 99 перестановками минимально возможное псевдо p-значение равно 0.02, а все остальные псевдо p-значения будут кратны этому значению. Это значение по умолчанию.
  • 199Анализ будет использовать 199 перестановок. С 199 перестановками, минимально возможное псевдо p-значение равно 0.01, а все остальные псевдо p-значения будут четным произведением этого значения.
  • 499Анализ будет использовать 499 перестановок. С 499 перестановками минимально возможное псевдо p-значение равно 0.004, а все остальные псевдо p-значения будут четным произведением этого значения.
  • 999Анализ будет использовать 999 перестановок. С 999 перестановками, минимально возможное псевдо p-значение равно 0.002, а все остальные псевдо p-значения будут четным произведением этого значения.
  • 9999Анализ будет использовать 9 999 перестановок. С 9 999 перестановками минимально возможное псевдо p-значение равно 0.0002, а все остальные псевдо p-значения будут четным произведением этого значения.
Long
local_weighting_scheme
(Дополнительный)

Определяет тип кернфункции, которая будет использоваться при присвоении пространственных весов. Кернфункция определяет, каким образом каждый объект связан с остальными объектами в пределах окрестности.

  • BISQUAREОбъекты взвешиваются на основе расстояния до самого дальнего соседа или границы диапазона расстояний, причем объектам, находящимся за пределами указанной окрестности, будет присвоено значение веса, равное 0.
  • GAUSSIANОбъекты взвешиваются на основе расстояния до самого дальнего соседа или границы диапазона расстояний, и вес падает быстрее, чем в Биквадратной функции. Вес, равный 0, присваивается объектам, находящимся за пределами указанной окрестности. Это значение по умолчанию.
  • NONEСхема взвешивания не будет применяться, и всем элементам окрестности будет присвоен вес 1, то есть они вносят одинаковый вклад. Вес, равный 0, будет присвоен объектам, находящимся за пределами окрестности.
String
output_table
(Дополнительный)

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

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

Table

Пример кода

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

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

import arcpy
arcpy.env.workspace = r"C:\Analysis"
# Two categories from the same categorical field.
# Find the colocation of elementary schools and middle schools
arcpy.stats.ColocationAnalysis("SINGLE_DATASET", r"Colocation.gdb\Schools",
                               r"Outputs.gdb\School_Colocation", "Facility_Type", None,
                               "Elementary", None, None, None, "Middle", "K_NEAREST_NEIGHBORS",
                               8, None, None, "BEFORE", None, 99, "BISQUARE",
                               r"Outputs.gdb\Global_School_Colocation")
# Categories from different datasets without categories
# Find the colocation of elementary schools and hospitals
arcpy.stats.ColocationAnalysis("DATASETS_WITHOUT_CATEGORIES", r"Colocation.gdb\Schools",
                               r"Outputs.gdb\Schools_Hospitals", None, None, '',
                               r"Colocation.gdb\Hospitals", None, None, '', "DISTANCE_BAND",
                               None, "30 Kilometers", None, "BEFORE", None, 199, "GAUSSIAN",
                               None)
# Categories from two datasets
# Find the colocation of elementary schools and hospitals
arcpy.stats.ColocationAnalysis("TWO_DATASETS", r"Colocation.gdb\Schools",
                               r"Outputs.gdb\Elementary_Hospitals", "Facility_Type", None,
                               "Elementary", r"Colocation.gdb\Hospitals", None, None, '',
                               "K_NEAREST_NEIGHBORS", 15, None, None, "BEFORE", None, 499,
                               "NONE", None)
ColocationAnalysis, пример 2 (автономный скрипт)

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

# Analyze the spatial relationship (colocation) between elementary school locations and hospital locations
# Two categories from the same categorical field.
# Find the colocation of elementary schools and  middle schools
intype = "SINGLE_DATASET"
infc_interest = r"Colocation.gdb\Schools"
outfc = r"Outputs.gdb\School_Colocation"
field_interest = "Facility_Type"
time_field = ""
cat_interest = "Elementary"
infc_neigh = ""
field_neigh = ""
time_field_neigh = ""
cat_neigh = "Middle"
neighborhood_type = "K_NEAREST_NEIGHBORS"
num_neighbors = 8
dist_band = ""
swm_file = ""
temporal_type = ""
time_step_interval = ""
num_permutation = 99
weighting_scheme ="BISQUARE"
out_global_tbl = r"Outputs.gdb\Global_School_Colocation"
arcpy.stats.ColocationAnalysis(intype, infc_interest, outfc, field_interest,
                               time_field, cat_interest, infc_neigh, field_neigh,
                               time_field_neigh, cat_neigh, neighborhood_type,
                               num_neighbors, dist_band, swm_file, temporal_type,
                               time_step_interval num_permutation, weighting_scheme,
                               out_global_tbl)
# Categories from different datasets without categories
# Find the colocation of schools and hospitals
intype = "DATASETS_WITHOUT_CATEGORIES"
infc_interest = r"Colocation.gdb\Schools"
outfc = r"Outputs.gdb\Schools_Hospitals"
field_interest = ""
time_field = ""
cat_interest = ""
infc_neigh = r"Colocation.gdb\Hospitals"
field_neigh = ""
time_field_neigh = ""
cat_neigh = ""
neighborhood_type = "DISTANCE_BAND"
num_neighbors = ""
dist_band = "30 Kilometers"
swm_file = ""
temporal_type = ""
time_step_interval = ""
num_permutation = 199
weighting_scheme ="GAUSSIAN"
out_global_tbl = ""
arcpy.stats.ColocationAnalysis(intype, infc_interest, outfc, field_interest,
                               time_field, cat_interest, infc_neigh, field_neigh,
                               time_field_neigh, cat_neigh, neighborhood_type,
                               num_neighbors, dist_band, swm_file, temporal_type,
                               time_step_interval num_permutation, weighting_scheme,
                               out_global_tbl)
# Categories from two datasets
# Find the colocation of elementary schools and hospitals
intype = "TWO_DATASETS"
infc_interest = r"Colocation.gdb\Schools"
outfc = r"Outputs.gdb\Elementary_Hospitals"
field_interest = "Facility_Type"
time_field = ""
cat_interest = "Elementary"
infc_neigh = r"Colocation.gdb\Hospitals"
field_neigh = ""
time_field_neigh = ""
cat_neigh = ""
neighborhood_type = "K_NEAREST_NEIGHBORS"
num_neighbors = 15
dist_band = ""
swm_file = ""
temporal_type = ""
time_step_interval = ""
num_permutation = 499
weighting_scheme ="NONE"
out_global_tbl = ""
arcpy.stats.ColocationAnalysis(intype, infc_interest, outfc, field_interest,
                               time_field, cat_interest, infc_neigh, field_neigh,
                               time_field_neigh, cat_neigh, neighborhood_type,
                               num_neighbors, dist_band, swm_file, temporal_type,
                               time_step_interval num_permutation, weighting_scheme,
                               out_global_tbl)

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

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

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