Оптимизированный анализ горячих точек (Пространственная статистика)

Краткая информация

Получая случайные точки или объекты с весами (точки или полигоны), создает карту статистически значимых "горячих" точек и "холодных" точек на основе статистического показателя Getis-Ord Gi*. При этом выполняется оценка характеристик класса входных объектов для получения оптимальных результатов.

Подробнее о том, как работает Оптимизированный анализ горячих точек

Иллюстрация

Иллюстрация работы инструмента Оптимизированный анализ горячих точек

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

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

    Примечание:

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

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

  • Инструмент создает новый Выходной класс объектов с z-оценкой, p-значением и уровнем достоверности (Gi_Bin) для каждого объекта во Входном классе объектов. Он также содержит поле (NNeighbors), в которое записывается для каждого объекта число соседних объектов, включенных в вычисление.

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

  • Поле Gi_Bin определяет статистически значимые "горячие" и "холодные" точки с поправкой на множественное тестирование и пространственную зависимость, используя метод коррекции средней доли ложных отклонений гипотезы (FDR). Объекты с +/-3 бинами (объекты со значением Gi_Bin +3 или -3) отражают статистическую значимость с уровнем достоверности 99 процентов; объекты с +/-2 bins отражают статистическую значимость с уровнем достоверности 95 процентов; объекты с +/-1 bins отражают статистическую значимость с уровнем достоверности 90 процентов; а кластеризация для объектов со значением 0 в поле Gi_Bin не имеет статистической значимости.

  • Поля p-значений и z-оценки не отражают коррекцию FDR (False Discovery Rate). Дополнительные сведения о z-оценке и p-значениях см. в разделе Что такое z-оценка? Что такое p-значение?

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

    Внимание:

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

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

  • Если Вы предоставляете Поле анализа, то оно должно содержать разные значения. Для математических расчетов этой статистики требуется, чтобы анализируемые переменные обладали некоторой вариабельностью; например, анализ не будет выполняться, если все входящие значения равны 1.

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

    Поскольку лежащая в основе и используемая этим инструментом статистика Getis-Ord Gi* является асимптотически нормальной, то даже когда в Поле анализа содержатся искаженные данные, результаты получаются надежными.

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

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

    • Для Подсчета количества инцидентов внутри регулярной сетки и Подсчета количества инцидентов внутри гексагональной сетки вычисляется подходящий размер ячейки, использующийся для создания регулярной или гексагональной сетки, покрывающей точки инцидентов и вычисления числа точек в каждой ячейке. Если не существует векторного слоя Ограничивающие полигоны, определяющие возможное расположение инцидентов, то ячейки сетки с нулевым количеством точек удаляются, и анализируются только оставшиеся ячейки. При наличии векторного слоя ограничивающих полигонов сохраняются и анализируются все ячейки внутри ограничивающих полигонов. Количество точек для каждой полигональной ячейки используется в качестве поля анализа.
      Примечание:

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

    • Для Подсчет количества инцидентов внутри полигонов агрегации необходимо предоставить векторный слой Полигоны для агрегирования инцидентов по количеству. Инциденты точек, попадающие внутрь каждого полигона, будут посчитаны, и эти полигоны со связанным количеством инцидентов будут затем проанализированы. Опция Подсчет количества инцидентов внутри полигонов агрегации является подходящей стратегией агрегации, когда точки связаны с административными единицами, такими как участки, округа или школьные районы. Вы также можете использовать эту опцию, если вы хотите, чтобы изучаемая область оставалась одной и той же во время множественных анализов, чтобы воспользоваться преимуществом сравнения.
    • Для параметра Замыкание ближайших инцидентов для создания взвешенных точек вычисляется расстояние замыкания, которое используется для агрегирования ближайших точек инцидентов. Каждой агрегированной точке присваивается количество, отражающее число инцидентов, которые были замкнуты друг с другом. Агрегированные точки затем анализируются, при этом количество инцидентов используется в качестве поля анализа. Опция Замыкание ближайших инцидентов для создания взвешенных точек является подходящей стратегией агрегации, когда у вас есть много совпадающих или почти совпадающих точек, и вы хотите сохранить аспекты пространственной структурной закономерности исходных точечных данных.

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

    Внимание:

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

  • Когда вы выбираете опцию Подсчет количества инцидентов внутри сетки или Подсчет количества инцидентов внутри гексагональной сетки для Метода агрегирования данных инцидентов, вы можете дополнительно предоставить векторный слой Ограничивающие полигоны, определяющие возможное расположение инцидентов. Когда не предоставлено никаких ограничивающих полигонов, инструмент не может узнать, должно ли расположение без инцидента иметь значение 0, указывающее, что инцидент возможен, но не произошел, или расположение должно быть удалено из анализа, поскольку инциденты никогда не происходят в данном расположении. Соответственно, если не существует ни одного ограничивающего полигона, то для анализа берутся только те ячейки, которые содержат как минимум один инцидент. Если такое поведение вам не подходит, вы можете предоставить векторный слой Ограничивающие полигоны, определяющие возможное расположение инцидентов, чтобы убедиться, что все берутся все расположения внутри ограничивающих полигонов. Прямоугольные или шестиугольные ячейки, в которых нет инцидентов, получат значение количества инцидентов, равное нулю.

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

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

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

    Размер ячеек шестиугольников по сравнению с регулярной сеткой

  • Вам необходимо использовать инструменты Построить матрицу пространственных весов и Анализ горячих точек (Getis-Ord Gi*) либо Углубленный анализ пространственно-временных закономерностей, если вы хотите идентифицировать горячие точки пространства-времени. Подробная информация о пространственно-временно кластерном анализе содержится в разделах Пространственно-временной кластерный анализ и Углубленный анализ пространственно-временных закономерностей.

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

  • Слой Выходных объектов автоматически добавляется в таблицу содержания с методом отображения по умолчанию, примененного к полю Gi_Bin. Применяемое отображение со шкалой «от горячего к холодному» определяется файлом слоя в <ArcGIS Pro>\Resources\ArcToolBox\Templates\Layers. Способ отображения по умолчанию, если это необходимо, можно применить заново с помощью инструмента Применить символы слоя.

  • Внимание:

    При использовании шейп-файлов, помните, что в них нельзя хранить нулевые (null) значения. Инструменты или другие процедуры, создающие шейп-файлы из прочих входных данных, могут хранить значения NULL в виде 0 или оперировать ими как нулем. В некоторых случаях нули в шейп-файлах хранятся как очень маленькие отрицательные числа. Это может привести к неожиданным результатам. Дополнительные сведения см. в разделе Рекомендации по геообработке выходных данных шейп-файла.

Параметры

ПодписьОписаниеТип данных
Входные объекты

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

Feature Layer
Выходные объекты

Выходной класс объектов для получения результатов z-оценки, р-значения и Gi_Bin.

Feature Class
Поле анализа
(Дополнительный)

Числовое поле (количество инцидентов, тяжести преступления, тестовые оценки и т.д.), которое должно быть оценено.

Field
Метод агрегирования данных инцидентов
(Дополнительный)

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

  • Подсчет количества инцидентов внутри прямоугольной сеткиЯчейка регулярной сетки будет перекрывать точки данных инцидентов и будет произведен подсчет количества инцидентов внутри каждой полигональной ячейки. Если не существует ни одного ограничивающего полигона в параметре Ограничивающие полигоны, определяющие возможное расположение инцидентов, то в анализе будут использоваться только ячейки сетки с как минимум одним инцидентом; в противном случае, будут анализироваться все ячейки внутри ограничивающих полигонов.
  • Подсчет количества инцидентов внутри гексагональной сеткиЯчейка гексагональной сетки будет перекрывать точки данных инцидентов и будет произведен подсчет количества инцидентов внутри каждой полигональной ячейки. Если не существует ни одного ограничивающего полигона в параметре Ограничивающие полигоны, определяющие возможное расположение инцидентов, то в анализе будут использоваться только ячейки сетки с как минимум одним инцидентом; в противном случае, будут анализироваться все ячейки внутри ограничивающих полигонов.
  • Подсчет количества инцидентов внутри полигонов агрегацииВам необходимо полигоны агрегирования, чтобы покрыть точечные данные инцидентов в параметре Полигоны для агрегирования инцидентов в количество. Инциденты внутри каждого полигона будут посчитаны.
  • Замыкание ближайших инцидентов для создания взвешенных точекСоседние инциденты будут агрегированы вместе, чтобы создать одну точку с весом. Вес для каждой точки – это количество агрегированных инцидентов для этого местоположения.
String
Ограничивающие полигоны, определяющие места возможных инцидентов
(Дополнительный)

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

Feature Layer
Полигоны для агрегирования инцидентов в блоки
(Дополнительный)

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

Feature Layer
Поверхность плотности
(Дополнительный)

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

Raster Dataset
Размер ячейки
(Дополнительный)

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

Linear Unit
Диапазон расстояний
(Дополнительный)

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

Linear Unit

arcpy.stats.OptimizedHotSpotAnalysis(Input_Features, Output_Features, {Analysis_Field}, {Incident_Data_Aggregation_Method}, {Bounding_Polygons_Defining_Where_Incidents_Are_Possible}, {Polygons_For_Aggregating_Incidents_Into_Counts}, {Density_Surface}, {Cell_Size}, {Distance_Band})
ИмяОписаниеТип данных
Input_Features

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

Feature Layer
Output_Features

Выходной класс объектов для получения результатов z-оценки, р-значения и Gi_Bin.

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

Числовое поле (количество инцидентов, тяжести преступления, тестовые оценки и т.д.), которое должно быть оценено.

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

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

  • COUNT_INCIDENTS_WITHIN_FISHNET_POLYGONSЯчейка регулярной сетки будет перекрывать точки данных инцидентов и будет произведен подсчет количества инцидентов внутри каждой полигональной ячейки. Если ограничивающий полигон для параметра Bounding_Polygons_Defining_Where_Incidents_Are_Possible не указан, то в анализе будут использоваться только те ячейки, которые содержат хотя бы один инцидент; в противном случае, будут анализироваться все ячейки внутри ограничивающих полигонов.
  • COUNT_INCIDENTS_WITHIN_HEXAGON_POLYGONSЯчейка гексагональной сетки будет перекрывать точки данных инцидентов и будет произведен подсчет количества инцидентов внутри каждой полигональной ячейки. Если ограничивающий полигон для параметра Bounding_Polygons_Defining_Where_Incidents_Are_Possible не указан, то в анализе будут использоваться только те ячейки, которые содержат хотя бы один инцидент; в противном случае, будут анализироваться все ячейки внутри ограничивающих полигонов.
  • COUNT_INCIDENTS_WITHIN_AGGREGATION_POLYGONSПолигоны агрегирования указывают для того, чтобы охватить точечные данные инцидентов в параметре Polygons_For_Aggregating_Incidents_Into_Counts. Инциденты внутри каждого полигона будут посчитаны.
  • SNAP_NEARBY_INCIDENTS_TO_CREATE_WEIGHTED_POINTSСоседние инциденты будут агрегированы вместе, чтобы создать одну точку с весом. Вес для каждой точки – это количество агрегированных инцидентов для этого местоположения.
String
Bounding_Polygons_Defining_Where_Incidents_Are_Possible
(Дополнительный)

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

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

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

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

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

Raster Dataset
Cell_Size
(Дополнительный)

Размер ячейки сетки, используемой для агрегирования Input_Features. При агрегации в гексагональную сетку, это расстояние используется в качестве высоты для построения гексагональных полигонов.

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

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

Linear Unit

Пример кода

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

Пример скрипта в окне Python для использования функции OptimizedHotSpotAnalysis.

import arcpy
arcpy.env.workspace = r"C:\OHSA"
arcpy.OptimizedHotSpotAnalysis_stats("911Count.shp", "911OptimizedHotSpots.shp", 
                                     "#", "SNAP_NEARBY_INCIDENTS_TO_CREATE_WEIGHTED_POINTS")
OptimizedHotSpotAnalysis, пример 2 (автономный скрипт Python)

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

# Analyze the spatial distribution of 911 calls in a metropolitan area

# Import system modules
import arcpy

# Set property to overwrite existing output, by default
arcpy.env.overwriteOutput = True

# Local variables...
workspace = r"C:\OHSA\data.gdb"

try:
    # Set the current workspace (to avoid having to specify the full path to 
    # the feature classes each time)
    arcpy.env.workspace = workspace

    # Create a polygon that defines where incidents are possible  
    # Process: Minimum Bounding Geometry of 911 call data
    arcpy.management.MinimumBoundingGeometry("Calls911", "Calls911_MBG", 
                                             "CONVEX_HULL", "ALL", "#", 
                                             "NO_MBG_FIELDS")

    # Optimized Hot Spot Analysis of 911 call data using fishnet aggregation method with a bounding polygon of 911 call data
    # Process: Optimized Hot Spot Analysis 
    ohsa = arcpy.stats.OptimizedHotSpotAnalysis("Calls911", "Calls911_ohsaFishnet", 
                                                "#", "COUNT_INCIDENTS_WITHIN_FISHNET_POLYGONS", 
                                                "Calls911_MBG") 

except arcpy.ExecuteError:
    # If any error occurred when running the tool, print the messages
    print(arcpy.GetMessages())

Параметры среды

Особые случаи

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

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