Краткая информация
Выполняет Географически взвешенную регрессию, локальную форму линейной регрессии, используемую для моделирования отношений, варьирующихся в пространстве.
Иллюстрация
Использование
Географически взвешенная регрессия формирует отдельное уравнение для каждого объекта в наборе данных, соединяющее зависимые и независимые переменные объектов, попадающих в пределы ширины диапазона для каждого объекта. Форма и протяженность ширины полосы зависит от входных параметров Тип Ядра, Метод задания ширины полосы , Расстояние и Количество соседей с одним ограничением: если количество соседних объектов превысит 1 000, то в каждое локальное уравнение будет включена только ближайшая 1 000.
Географически взвешенная регрессия должна быть применена к наборам данных с несколькими сотнями объектов для лучших результатов. Это не подходящий метод для маленьких наборов данных. Инструмент не работает с мультиточечными данными.
Инструмент ГВР также создает Выходной класс объектов и таблицу с итоговым отчетом выполнения инструмента и диагностическими значениями. Имя этой таблицы будет автоматически сгенерировано с использованием имени выходного класса объектов с суффиксом _supp. Выходной класс объектов автоматически добавляется в таблицу содержания со схемой отображения горячий/холодный, чтобы смоделировать невязки. Полное пояснение по каждому результату см. в Интерпретация результатов Географически взвешенной регрессии.
Файл _supp всегда создается в том же местоположении, что и Выходной класс объектов, кроме случая, когда выходной класс объектов создается внутри Набора классов объектов. Если выходной класс объектов находится внутри набора классов, таблица _supp создается в базе геоданных, содержащей этот набор классов объектов.
Всегда рекомендуется использовать спроецированные данные; это особенно важно всякий раз, когда расстояние является компонентом анализа – как это происходит в случае Географически взвешенной регрессии, если выбран Тип кернфункции Фиксированная. Крайне рекомендуется, чтобы данные находились в Системе координат проекции, а не в Географической системе координат.
Некоторые из вычислений, сделанных инструментом Географически взвешенная регрессия, используют преимущества многократных центральных процессоров, чтобы увеличить работу и будут автоматически использовать до 8 потоков/процессоров для обработки.
Всегда следует начинать регрессионный анализ с регрессии по методу Наименьших квадратов (МНК). Сначала найдите модель МНК (OLS), определенную должным образом, затем, используя те же самые независимые переменные, запустите ГВР (исключая любые "фиктивные" независимые переменные, представляющие различные пространственные режимы).
Зависимые и независимые переменные должны храниться в числовых полях, содержащих разнообразие значений. Линейные методы регрессии, такие как Географически взвешенная регрессия, не являются подходящими для предсказания бинарных результатов (например, все ценности для зависимой переменной или 1 или 0).
В глобальных регрессионных моделях, таких как МНК (OLS), результаты не надежны, когда 2 или более переменных испытывают мультиколлинеарность (когда 2 или более переменных избыточны или вместе "рассказывают одну и ту же историю"). Инструмент Географически взвешенная регрессия (географически взвешенная регрессия) строит уравнение локальной регрессии для каждого объекта в наборе данных. Когда значения для конкретной независимой переменной кластеризуются в пространстве, вы вероятнее всего будете иметь проблемы с локальной мультиколлинеарностью. Поле числа обусловленности (COND) в выходном классе объектов указывает на нестабильность результатов вследствие локальной мультиколлинеарности. Как правило, не стоит доверять результатам для объектов с числом обусловленности более 30, равным 0 или, для шейп-файлов, равным 1.7976931348623158e+308.
Предостережение должно использоваться при включении номинальных или категорийных данных в модели Географически взвешенная регрессия. Где категории кластеризуются в пространстве, есть сильный риск столкновения с локальными проблемами мультиколлинеарности. Число обусловленности, включенное в результаты Географически взвешенной регрессии, указывает, когда локальная коллинеарность – проблема (число обусловленности меньше чем ноль, больше чем 30, или Null). Результаты в присутствии локальной мультиколлинеарности непостоянны.
Не используйте "фиктивные" независимые переменные, чтобы представить различные пространственные режимы в модели Географически взвешенная регрессия (например, переписным районам вне городского ядра назначают значения 1, в то время как всем другим назначают значение 0). Поскольку ГВР допускает изменение коэффициентов независимых переменных, эти независимые переменные пространственного режима являются ненужными, а их включение создаст проблемы с локальной мультиколлинеарностью.
Чтобы лучше понять региональное изменение среди коэффициентов ваших независимых переменных, исследуйте дополнительные растровые коэффициенты поверхности, созданные инструментом Географически взвешенная регрессия. Эти растровые поверхности создаются в Рабочей области растров коэффициентов, если вы указываете ее. Для полигональных данных можно использовать градуированный цвет или отображение от холодного-к-горячему для каждого поля с коэффициентами в Выходном классе объектов, чтобы изучить изменения в вашей области исследования.
Вы можете использовать ГВР для интерполяции, предоставив класс пространственных объектов для Местоположения интерполяции (часто совпадает с входным классом объектов), Независимые переменные интерполяции и Выходной класс объектов интерполяции. Обязательно один к одному соответствие полей, используемых для калибровки модели регрессии (значения, введенные для независимых переменных), и полей, используемых для интерполяции (значения, введенные для поля с независимыми переменными интерполяции). Порядок этих переменных должен быть одним и тем же. Предположите, например, что вы моделируете дорожные происшествия как функцию ограничений скорости, дорожных условий, числа переулков, и числа автомобилей. Вы можете прогнозировать влияние, которое изменяющиеся ограничения скорости или улучшающиеся дороги могли бы оказать на статистику дорожных происшествий, создавая новые переменные с исправленными ограничениями скорости и дорожными условиями. Существующие переменные будут использоваться для калибровки регрессионной модели и в качестве независимых переменных. Исправленные переменные будут использоваться для интерполяции и будут введены как Независимые переменные интерполяции.
Если класс объектов с Местоположения интерполяции предоставлен, но Независимые переменные интерполяции не определены, Выходной класс предсказанных пространственных объектов создается с рассчитанными коэффициентами только для каждого местоположения (без интерполяции).
Регрессионная модель – не определена, если отсутствует ключевая независимая переменная. Статистически существенная пространственная автокорреляция невязок регрессии и/или неожиданное пространственное изменение среди коэффициентов одной или более независимых переменных предполагают, что ваша модель не определена. Вы должны приложить все усилия (посредством остаточного анализа методом Наименьших квадратов и коэффициентов вариационного анализа Географически взвешенной регрессии, например), чтобы обнаружить эти ключевые недостающие переменные с тем, чтобы включить их в модель.
Постоянный вопрос, имеет ли смысл для независимой переменной быть нестационарной. Например, предположите, что вы моделируете плотность определенного вида растений, как функцию нескольких переменных, включая ASPECT. Если вы находите, что коэффициент для переменной ASPECT изменяется в области исследования, вы, вероятно, видите доказательства недостатка ключевой независимой переменной (возможно, распространенность конкурирующей растительности, например). Вы должны приложить все усилия, чтобы включать все ключевые независимые переменные в вашу регрессионную модель.
Когда результатом вычисления будет бесконечность или неопределенным, результат для файлов, которые не являются шейп-файлами, будет Пустым; для шейп-файлов результат будет-DBL_MAX =-1.7976931348623158e+308.
Когда вы выбираете AICc(скорректированный информационный критерий Акаике) или CV (перекрестная проверка) для параметра Метод задания ширины полосы, Географически взвешенная регрессия найдет оптимальное расстояние (для фиксированной кернфункции) или оптимального количества соседей (для адаптивной кернфункции). Проблемы локальной мультиколлинеарности, однако, будут препятствовать методам задания ширины диапазона AICc и CV в нахождении оптимального расстояния/числа соседей. Если вы получите ошибку, сообщающую о серьезных проблемах в схеме модели, попробуйте указать определенное расстояние или количество соседей, затем проверьте все числа обусловленности в выходном классе объектов, чтобы увидеть, какие значения связаны с локальными проблемами коллинеарности.
Ошибки серьезных проблем в схеме модели или ошибки выявления локальных уравнений, не содержащих в своих описаниях достаточное количество соседей, зачастую указывают на проблемы с глобальной или локальной мультиколлинеарностью. Чтобы обнаружить, где встретилась проблема, запустите модель, используя МНК и проверьте значение фактора, увеличивающего дисперсию, для каждой переменной величины. Если некоторые из значений Фактора, увеличивающего дисперсию, – большие (выше 7,5, например), глобальная мультиколлинеарность не позволяет работать методу ГВР (географически взвешенная регрессия). Однако вероятнее всего, проблемой является локальная мультиколлинеарность. Попытайтесь создать тематическую карту для каждой независимой переменной. Если карта раскрывает пространственную кластеризацию идентичных значений, следует рассмотреть вариант исключения тех переменных из модели или комбинирования тех переменных с другими независимыми переменными для увеличения вариации значений. Если, например, вы моделируете значения для дома и имеете переменные для спален и ванных комнат отдельно, вы, возможно, захотите объединить их, чтобы увеличить вариацию значений или представить их как ванная комната/спальня. При конструировании моделей Географически взвешенной регрессии, избегайте использования бинарных значений, пространственной кластеризации номинальных переменных, или переменных с очень малым числом возможных значений.
Географически взвешенная регрессия – линейная модель, к которой применимы те же самые требования, что и к МНК. Обратитесь к разделу Почему не работает модель регрессии в документе Основы регрессионного анализа, чтобы убедиться, что ваша модель настроена соответствующим образом.
Синтаксис
GeographicallyWeightedRegression_stats (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 | Указывает, создается ли ядро как фиксированное, или оно может изменяться в пространстве как функция от плотности объектов.
| String |
bandwidth_method | Определяет, как экстент кернфункции должен быть определен. Когда выбраны AICc или CV, инструмент вычислит оптимальное расстояние или количество соседей. Обычно AICc или CV выбираются, если вы не уверены, какие значения использовать для параметров Расстояние или число соседей. Однако после того, как инструмент определит оптимальное расстояние или количество соседей, следует использовать опцию BANDWIDTH_PARAMETER.
| 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 |
Пример кода
GeographicallyWeightedRegression, пример (окно Python)
Пример скрипта окна Python для использования функции GeographicallyWeightedRegression.
import arcpy
arcpy.env.workspace = "c:/data"
arcpy.GeographicallyWeightedRegression_stats("CallData.shp", "Calls","BUS_COUNT;RENTROCC00;NoHSDip",
"CallsGWR.shp", "ADAPTIVE", "BANDWIDTH PARAMETER",
"#", "25", "#","CoefRasters", "135", "PredictionPoints",
"#", "GWRCallPredictions.shp")
GeographicallyWeightedRegression, пример (автономный скрипт Python)
Следующий автономный скрипт 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.GeographicallyWeightedRegression_stats("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.GenerateSpatialWeightsMatrix_stats("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.SpatialAutocorrelation_stats("CallsGWR.shp", "StdResid",
"NO_REPORT", "GET_SPATIAL_WEIGHTS_FROM_FILE",
"EUCLIDEAN_DISTANCE", "NONE", "#",
"CallData25Neighs.swm")
except:
# If an error occurred when running the tool, print out the error message.
print(arcpy.GetMessages())
Параметры среды
Информация о лицензиях
- ArcGIS Desktop Basic: Требует ArcGIS Spatial Analyst или Geostatistical Analyst
- ArcGIS Desktop Standard: Требует ArcGIS Spatial Analyst или Geostatistical Analyst
- ArcGIS Desktop Advanced: Да