Географически взвешенная регрессия (ГВР) (Пространственная статистика)

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

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

Прежние версии:
Усовершенствованная версия этого инструмента была добавлена в ArcGIS Pro 2.3. Это документация относится к устаревшему инструменту. Рекомендуется обновить и использовать новый инструмент Географически взвешенная регрессия в ArcGIS AllSource и более новых версиях.

Иллюстрация

Иллюстрация инструмента Географически взвешенная регрессия
ГВР - это локальная модель регрессии. Коэффициенты могут варьироваться.

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

  • Географически взвешенная регрессия формирует отдельное уравнение для каждого объекта в наборе данных, соединяющее зависимые и независимые переменные объектов в пределах ширины полосы диапазона для каждого объекта. Форма и протяженность ширины полосы зависит от входных параметров Тип кернфункции, Метод задания ширины полосы, Расстояние и Количество соседей с одним ограничением: если количество соседних объектов превысит 1 000, то в каждое локальное уравнение будет включена только ближайшая 1 000.

  • Географически взвешенная регрессия должна быть применена к наборам данных с несколькими сотнями объектов для лучших результатов. Это не подходящий метод для маленьких наборов данных. Инструмент не работает с мультиточечными данными.

  • Примечание:

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

    Инструмент ГВР также создает Выходной класс объектов и таблицу с итоговым отчетом выполнения инструмента и диагностическими значениями. Имя этой таблицы будет автоматически сгенерировано с использованием имени выходного класса объектов с суффиксом _supp. Выходной класс объектов автоматически добавляется в таблицу содержания со схемой отображения горячий/холодный, чтобы смоделировать невязки.

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

  • Рекомендуется использовать спроецированные данные. Это особенно важно всякий раз, когда расстояние является компонентом анализа – как это происходит в случае ГВР, если выбран Тип кернфункции Фиксированная. Настоятельно рекомендуется, чтобы данные находились в Системе координат проекции, а не в Географической системе координат.

  • Некоторые из вычислений, сделанных инструментом ГВР используют преимущества многократных центральных процессоров, чтобы увеличить работу и будут автоматически использовать до 8 потоков/процессоров для обработки.

  • Всегда следует начинать регрессионный анализ с регрессии по методу Наименьших квадратов (МНК). Сначала найдите модель МНК, определенную должным образом. Затем, используя те же самые независимые переменные, запустите ГВР (исключая любые "фиктивные" независимые переменные, представляющие различные пространственные режимы).

  • Зависимые и независимые переменные должны храниться в числовых полях, содержащих разнообразие значений. Линейные методы регрессии, такие, как ГВР, не являются подходящими для предсказания бинарных результатов (например, все значения для зависимой переменной равны или 1 или 0).

  • В глобальных регрессионных моделях, таких как метод наименьших квадратов (МНК), результаты не надежны, если для 2х и более переменных наблюдается мультиколлиниарность (когда 2 или более переменных избыточны или вместе «говорят об одном и том же»). Инструмент Географически взвешенная регрессия (географически взвешенная регрессия) строит уравнение локальной регрессии для каждого объекта в наборе данных. Когда значения для конкретной независимой переменной кластеризованы в пространстве, вы вероятнее всего будете иметь проблемы с локальной мультиколлинеарностью. Поле числа обусловленности (COND) в выходном классе объектов указывает на нестабильность результатов вследствие локальной мультиколлинеарности. Как правило, не стоит доверять результатам для объектов с числом обусловленности более 30, равным 0 или, для шейп-файлов, равным 1.7976931348623158e+308.

  • При включении номинальных или категорийных данных в модели ГВР необходимо быть очень внимательным. Если наблюдается кластеризация в пространстве по категориям, присутствует высокий риск столкновения с локальной мультиколлинеарностью. Число обусловленности, включенное в результаты Географически взвешенной регрессии, указывает, когда локальная коллинеарность – проблема (число обусловленности меньше чем ноль, больше чем 30, или Null). Результаты в присутствии локальной мультиколлинеарности непостоянны.

  • Не используйте искусственные независимые переменные, чтобы представить различные пространственные режимы в модели ГВР (например, переписным районам вне городского ядра назначают значения 1, в то время как всем другим назначают значение 0). Поскольку ГВР допускает изменение коэффициентов независимых переменных, эти независимые переменные пространственного режима являются ненужными, а их включение создаст проблемы с локальной мультиколлинеарностью.

  • Чтобы лучше понять региональное изменение среди коэффициентов ваших независимых переменных, исследуйте дополнительные растровые коэффициенты поверхности, созданные инструментом Географически взвешенная регрессия. Эти растровые поверхности создаются в Рабочей области растровых коэффициентов. Для полигональных данных можно использовать градуированный цвет или отображение от холодного-к-горячему для каждого поля с коэффициентами в Выходном классе объектов, чтобы изучить изменения в вашей области исследования.

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

  • Если класс объектов с Местоположения интерполяции предоставлен, но Независимые переменные интерполяции не определены, Выходной класс предсказанных пространственных объектов создается с рассчитанными коэффициентами только для каждого местоположения (без интерполяции).

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

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

  • Внимание:

    При использовании шейп-файлов, помните, что в них нельзя хранить нулевые (null) значения. Инструменты или другие процедуры, которые создают шейп-файлы из входных файлов, которые не являются шейп-файлами, могут, следовательно, сохранить пустые значения как ноль или как некоторое очень маленькое отрицательное число (-DBL_MAX =-1.7976931348623158e+308). Это может привести к неожиданным результатам. Дополнительную информацию см. в разделе Замечания, связанные с геообработкой для выходных данных шейп-файла.

  • Когда результатом вычисления будет бесконечность или неопределенным, результат для файлов, которые не являются шейп-файлами, будет Пустым; для шейп-файлов результат будет-DBL_MAX =-1.7976931348623158e+308.

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

  • Ошибки серьезных проблем в схеме модели или ошибки выявления локальных уравнений, не содержащих в своих описаниях достаточное количество соседей, зачастую указывают на проблемы с глобальной или локальной мультиколлинеарностью. Чтобы обнаружить, где встретилась проблема, запустите модель, используя МНК и проверьте значение фактора, увеличивающего дисперсию, для каждой переменной величины. Если некоторые из значений Фактора, увеличивающего дисперсию, – большие (выше 7,5, например), глобальная мультиколлинеарность не позволяет работать методу ГВР (географически взвешенная регрессия). Однако вероятнее всего, проблемой является локальная мультиколлинеарность. Попытайтесь создать тематическую карту для каждой независимой переменной. Если карта раскрывает пространственную кластеризацию идентичных значений, следует рассмотреть вариант исключения тех переменных из модели или комбинирования тех переменных с другими независимыми переменными для увеличения вариации значений. Если, например, вы моделируете значения для дома и имеете переменные для спален и ванных комнат отдельно, вы, возможно, захотите объединить их, чтобы увеличить вариацию значений или представить их как ванная комната/спальня. При конструировании моделей Географически взвешенной регрессии, избегайте использования фиктивных значений, пространственной кластеризации категорий или номинальных переменных, или переменных с очень малым числом возможных значений.

  • Географически взвешенная регрессия – линейная модель, к которой применимы те же самые требования, что и к МНК. Обратитесь к разделу Почему не работает модель регрессии в документе Основы регрессионного анализа, чтобы убедиться, что ваша модель ГВР корректно определена.

Параметры

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

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

Feature Layer
Зависимая переменная

Числовое поле, содержащее значения, которые нужно смоделировать.

Field
Независимые переменные

Перечень полей, представляющих независимые переменные в вашей регрессионной модели.

Field
Выходной класс объектов

Выходной класс объектов с оценками зависимых переменных и невязками.

Feature Class
Тип кернфункции

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

  • ФиксированныйПространственный контекст (Гауссово ядро), используемый для решения каждого локального регрессионного анализа, является фиксированным расстоянием.
  • АдаптивноеПространственный контекст (Гауссово ядро) является функцией от конкретного количества соседей. Где распределение объектов плотное, пространственный контекст меньше; где распределение объектов редкое, пространственный контекст больше.
String
Метод задания ширины полосы

Определяет, каким образом задается экстент кернфункции. Когда вы выбираете Информационный критерий Акаике или Перекрестная проверка, инструмент найдет оптимальное расстояние или число соседей. Если вы не уверены, какие значения указать в параметрах Расстояние или Число соседей, обычно выбирается Информационный критерий Акаике или Перекрестная проверка. Однако после того, как инструмент определит оптимальное расстояние или количество соседей, следует использовать опцию Как определено ниже.

  • Информационный критерий АкаикеЭкстент кернфункции определяется с помощью Информационного критерия Акаике.
  • Перекрестная проверкаЭкстент кернфункции определяется с помощью Перекрестной проверки.
  • Как определено нижеЭкстент кернфункции определяется с помощью фиксированного расстояния или фиксированного количества соседей. Необходимо задать значение для параметра Расстояние или Число соседей.
String
Расстояние
(Дополнительный)

Используемое расстояние, когда параметр Тип кернфункции задан как Фиксированная, а Метод задания ширины полосы – как Как определено ниже.

Double
Число соседей
(Дополнительный)

Точное число соседей для включения в локальную ширину полосы Гауссова ядра, когда для параметра Тип кернфункции задано Адаптивное, а для Метода задания ширины полосы выбрано Как определено ниже.

Long
Веса
(Дополнительный)

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

Field
Рабочая область растровых коэффициентов
(Дополнительный)

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

Workspace
Размер выходной ячейки
(Дополнительный)

Размер ячейки (число) или ссылка на размер ячейки (путь к растровому набору данных) для использования при создании растров коэффициентов.

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

Analysis Cell Size
Местоположения интерполяции
(Дополнительный)

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

Feature Layer
Независимые переменные интерполяции
(Дополнительный)

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

Field
Выходной класс объектов интерполяции
(Дополнительный)

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

Feature Class

Производные выходные данные

ПодписьОписаниеТип данных
Выходная таблица

Таблица с итоговым отчетом по выполнению инструмента и значениями проверок.

Table
Выходной растр регрессии

Рабочая область, где будут создаваться растровые коэффициенты.

Raster Layer

arcpy.stats.GeographicallyWeightedRegression(in_features, dependent_field, explanatory_field, out_featureclass, kernel_type, bandwidth_method, {distance}, {number_of_neighbors}, {weight_field}, {coefficient_raster_workspace}, {cell_size}, {in_prediction_locations}, {prediction_explanatory_field}, {out_prediction_featureclass})
ИмяОписаниеТип данных
in_features

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

Feature Layer
dependent_field

Числовое поле, содержащее значения, которые нужно смоделировать.

Field
explanatory_field
[explanatory_field,...]

Перечень полей, представляющих независимые переменные в вашей регрессионной модели.

Field
out_featureclass

Выходной класс объектов с оценками зависимых переменных и невязками.

Feature Class
kernel_type

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

  • FIXEDПространственный контекст (Гауссово ядро), используемый для решения каждого локального регрессионного анализа, является фиксированным расстоянием.
  • ADAPTIVEПространственный контекст (Гауссово ядро) является функцией от конкретного количества соседей. Где распределение объектов плотное, пространственный контекст меньше; где распределение объектов редкое, пространственный контекст больше.
String
bandwidth_method

Определяет, каким образом задается экстент кернфункции. Когда выбраны AICc или CV, инструмент вычислит оптимальное расстояние или количество соседей. Обычно выбираются AICc или CV, если вы не уверены, какие значения использовать для параметра distance или number_of_neighbors. Однако после того, как инструмент определит оптимальное расстояние или количество соседей, следует использовать опцию BANDWIDTH_PARAMETER.

  • AICcЭкстент кернфункции определяется с помощью Информационного критерия Akaike (AICc).
  • CVЭкстент кернфункции определяется с помощью Перекрестной проверки.
  • BANDWIDTH_PARAMETERЭкстент кернфункции определяется с помощью фиксированного расстояния или фиксированного количества соседей. Необходимо задать значение для параметра distance или number_of_neighbors.
String
distance
(Дополнительный)

Расстояние, когда для kernel_type задано FIXED, а для bandwidth_method задано BANDWIDTH_PARAMETER.

Double
number_of_neighbors
(Дополнительный)

Точное число соседей для включения в локальную ширину полосы Гауссова ядра, когда для параметра kernel_type задано ADAPTIVE, а для bandwidth_method задано BANDWIDTH_PARAMETER.

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

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

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

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

Workspace
cell_size
(Дополнительный)

Размер ячейки (число) или ссылка на размер ячейки (путь к растровому набору данных) для использования при создании растров коэффициентов.

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

Analysis Cell Size
in_prediction_locations
(Дополнительный)

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

Feature Layer
prediction_explanatory_field
[prediction_explanatory_field,...]
(Дополнительный)

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

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

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

Feature Class

Производные выходные данные

ИмяОписаниеТип данных
out_table

Таблица с итоговым отчетом по выполнению инструмента и значениями проверок.

Table
out_regression_rasters

Рабочая область, где будут создаваться растровые коэффициенты.

Raster Layer

Пример кода

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

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

import arcpy
arcpy.env.workspace = "c:/data"
arcpy.stats.GeographicallyWeightedRegression("CallData.shp", "Calls", ["BUS_COUNT", "RENTROCC00", "NoHSDip"],
                                             "CallsGWR.shp", "ADAPTIVE", "BANDWIDTH PARAMETER",
                                             "#", "25", "#","CoefRasters", "135", "PredictionPoints", 
                                             "#", "GWRCallPredictions.shp")
GeographicallyWeightedRegression, пример (автономный скрипт)

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

# Model 911 emergency calls using GWR

# Import system modules
import arcpy

# Set property to overwrite existing outputs
arcpy.env.overwriteOutput = True

# Local variables...
workspace = r"C:\Data"

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

    # 911 Calls as a function of {number of businesses, number of rental units,
    # number of adults who didn't finish high school}
    # Process: Geographically Weighted Regression... 
    gwr = arcpy.stats.GeographicallyWeightedRegression("CallData.shp", "Calls", 
                        "BUS_COUNT;RENTROCC00;NoHSDip",
                        "CallsGWR.shp", "ADAPTIVE", "BANDWIDTH PARAMETER", "#", "25", "#",
                        "CoefRasters", "135", "PredictionPoints", "#", "GWRCallPredictions.shp")

    # Create Spatial Weights Matrix to use with Global Moran's I tool
    # Process: Generate Spatial Weights Matrix... 
    swm = arcpy.stats.GenerateSpatialWeightsMatrix("CallsGWR.shp", "UniqID",
                        "CallData25Neighs.swm",
                        "K_NEAREST_NEIGHBORS",
                        "#", "#", "#", 25) 
                        
    # Calculate Moran's Index of Spatial Autocorrelation for 
    # OLS Residuals using a SWM File.  
    # Process: Spatial Autocorrelation (Morans I)...      
    moransI = arcpy.stats.SpatialAutocorrelation("CallsGWR.shp", "StdResid",
                        "NO_REPORT", "GET_SPATIAL_WEIGHTS_FROM_FILE", 
                        "EUCLIDEAN_DISTANCE", "NONE", "#", 
                        "CallData25Neighs.swm")

except arcpy.ExecuteError:
    # If an error occurred when running the tool, print out the error message.
    print(arcpy.GetMessages())

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

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

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

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