Обобщенная линейная регрессия (GeoAnalytics)

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

Выполняет обобщенную линейную регрессию (ОЛР) для вычисления прогнозов или моделирования взаимосвязи между независимыми переменными и зависимой переменной. Инструмент используется для подгонки различных моделей, в частности, непрерывных (МНК), бинарных (логистических) и числовых (Пуассона).

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

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

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

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

  • Убедитесь, что вы используете корректную опцию в параметре Тип модели (Непрерывная, Бинарная или Количественная).

  • Сводная информация по результатам и проверки записываются в окно сообщений, а также под информацией о классе объектов отображаются диаграммы. Диагностический отчет зависит от значения параметра Тип модели. Доступны следующие три типа модели:

    • Используйте тип модели Непрерывная (Гауссова), если зависимая переменная представлена широким диапазоном значений, например, измерения температуры воздуха или объемы продаж. В идеале зависимая переменная должна подчиняться принципу нормального распределения.
    • Используйте тип модели Бинарная (логистическая), если зависимая переменная представлена двумя возможными значениями, скажем удалось или не удалось, или наличие - отсутствие. Поле, в котором содержится зависимая переменная, должно быть числовым или текстовым. Если поле числовое, в нем могут содержаться только нули и единицы. Если поле текстовое, оно может содержать два разных значения. Если вы используете текстовое поле, вы должны использовать параметр Зависимые от карт переменные, чтобы сопоставить отдельные текстовые значения с единицами и нулями. В данных должна присутствовать вариабельность из двух вариантов - нуля и единицы.

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

    Параметры Зависимая переменная и Описательная переменная должны быть заданы числовыми полями, содержащими диапазоны значений. Инструмент не может работать, когда все переменные имеют одинаковые значения (например, все значения для поля равны 9.0).

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

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

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

  • Обобщенная линейная регрессия в GeoAnalytics имеет следующие ограничения:

    • Это глобальная модель регрессии, которая не учитывает пространственное распределение данных.
    • При анализе к невязке не применяется тест Moran's I.
    • В качестве входных данных поддерживаются наборы данных объектов (точечные, линейные, полигональные или таблицы), растры не поддерживаются.
    • Классифицировать значения по нескольким классам нельзя.

  • Этот инструмент геообработки работает на ArcGIS GeoAnalytics Server. Анализ выполняется на вашем GeoAnalytics Server, а результаты сохраняются в ресурсы на ArcGIS Enterprise.

  • При запуске инструментов GeoAnalytics Server анализ выполняется на GeoAnalytics Server. Для оптимальной производительности сделайте данные доступными для GeoAnalytics Server через векторные слои, размещенные на вашем портале ArcGIS Enterprise или через файловое хранилище больших данных. Данные, которые не являются локальными для GeoAnalytics Server, будут перемещены на GeoAnalytics Server до начала анализа. Это означает, что для запуска инструмента потребуется больше времени, а в некоторых случаях перемещение данных с ArcGIS Pro на GeoAnalytics Server может завершиться ошибкой. Порог сбоя зависит от скорости сети, а также от размера и сложности данных. Рекомендуется всегда публиковать данные или создавать файловое хранилище больших данных.

    Более подробно о публикации локаторов на портале

    Более подробно о создании файловых хранилищ больших данных в Server Manager

Параметры

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

Слой, содержащий зависимые и независимые переменные.

Record Set
Зависимая переменная

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

Field
Тип модели

Указывает тип моделируемых данных.

  • Непрерывные (Гауссовы)Значение dependent_variable – непрерывное. Будет использована модель Гаусса и инструмент вычислит регрессию по методу наименьших квадратов. Это значение по умолчанию
  • Бинарные (Логистические)Значение dependent_variable указывает наличие или отсутствие. Это могут быть как обычные 1 и 0, так и строковые значения, сопоставленные с 0 или 1 в параметре Сопоставить независимые переменные. Используется логистическая модель регрессии.
  • Количественные (Пуассона)Значение dependent_variable дискретно и представляет события, например, число преступлений, заболеваний или дорожных происшествий. Используется модель регрессии Пуассона.
  • Непрерывные (Гауссовы)Значение Зависимой переменной – непрерывное. Будет использована модель Гаусса и инструмент вычислит регрессию по методу наименьших квадратов. Это значение по умолчанию
  • Бинарные (Логистические)Зависимая переменная указывает наличие или отсутствие. Это могут быть как обычные 1 и 0, так и строковые значения, сопоставленные с 0 или 1 в параметре explanatory_variables_to_match. Используется логистическая модель регрессии.
  • Количественные (Пуассона)Зависимая переменная дискретна и представляет события, например, число преступлений, заболеваний или дорожных происшествий. Используется модель регрессии Пуассона.
String
Независимые переменные

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

Field
Имя выходных объектов

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

String
Построить таблицу коэффициентов
(Дополнительный)

Указывает, будет ли создана выходная таблица со значениями коэффициентов (логическими).

  • Отмечено – таблица со значениями коэффициентов будет создана.
  • Не отмечено – таблица со значениями коэффициентов не будет создана. Это значение по умолчанию
Boolean
Входные объекты прогнозирования
(Дополнительный)

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

Record Set
Сопоставление независимых переменных
(Дополнительный)

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

Value Table
Переменные, зависимые от карты
(Дополнительный)

Две строки, представляющие значения, используемые для сопоставления с 0 (отсутствие) и 1 (наличие) для бинарной регрессии. По умолчанию будут использоваться 0 и 1. Например, если вы хотите спрогнозировать арест, и у вас есть поля со значениями Арест и Без ареста, введите Без ареста для False Value (0) и Арест для True Value (1).

Value Table
Хранилище данных
(Дополнительный)

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

  • Хранилище пространственно-временных больших данныхРезультаты будут храниться в хранилище больших пространственно-временных данных. Это значение по умолчанию
  • Реляционное хранилище данныхРезультаты будут храниться в хранилище реляционных данных.
String

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

ПодписьОписаниеТип данных
Выходные данные

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

Record Set
Выходные объекты прогнозирования

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

Record Set
Выходная таблица коэффициентов

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

Record Set

arcpy.geoanalytics.GeneralizedLinearRegression(input_features, dependent_variable, model_type, explanatory_variables, output_features_name, {generate_coefficient_table}, {input_features_to_predict}, {explanatory_variables_to_match}, {dependent_variable_mapping}, {data_store})
ИмяОписаниеТип данных
input_features

Слой, содержащий зависимые и независимые переменные.

Record Set
dependent_variable

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

Field
model_type

Указывает тип моделируемых данных.

  • CONTINUOUSЗначение dependent_variable – непрерывное. Будет использована модель Гаусса и инструмент вычислит регрессию по методу наименьших квадратов. Это значение по умолчанию
  • BINARYЗначение dependent_variable указывает наличие или отсутствие. Это могут быть как обычные 1 и 0, так и строковые значения, сопоставленные с 0 или 1 в параметре Сопоставить независимые переменные. Используется логистическая модель регрессии.
  • COUNTЗначение dependent_variable дискретно и представляет события, например, число преступлений, заболеваний или дорожных происшествий. Используется модель регрессии Пуассона.
String
explanatory_variables
[explanatory_variables,...]

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

Field
output_features_name

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

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

Указывает, будет ли создана выходная таблица со значениями коэффициентов (логическими).

  • CREATE_TABLEТаблица со значениями коэффициентов будет создана.
  • NO_TABLEТаблица со значениями коэффициентов не будет создана. Это значение по умолчанию
Boolean
input_features_to_predict
(Дополнительный)

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

Record Set
explanatory_variables_to_match
[[Field from Prediction Locations, Field from Input Features],...]
(Дополнительный)

Сопоставляет независимые переменные в параметре input_features_to_predict с соответствующими независимыми переменными в параметре input_features, например, [["LandCover2000", "LandCover2010"], ["Income", "PerCapitaIncome"]].

Value Table
dependent_variable_mapping
[dependent_variable_mapping,...]
(Дополнительный)

Две строки, представляющие значения, используемые для сопоставления с 0 (отсутствие) и 1 (наличие) для бинарной регрессии. По умолчанию будут использоваться 0 и 1. Например, если вы хотите спрогнозировать арест, и у вас есть поля со значениями Арест и Без ареста, вы будете вводить Без ареста для Ложного значения (0) и Арест для Истинного значения (1).

Value Table
data_store
(Дополнительный)

Задает ArcGIS Data Store, где будут сохраняться выходные данные. По умолчанию – SPATIOTEMPORAL_DATA_STORE. Все результаты, находящиеся в хранилище пространственно-временных больших данных, будут храниться в системе WGS84. Результаты в реляционном хранилище данных сохраняют свои систему координат.

  • SPATIOTEMPORAL_DATA_STOREРезультаты будут храниться в хранилище больших пространственно-временных данных. Это значение по умолчанию
  • RELATIONAL_DATA_STOREРезультаты будут храниться в хранилище реляционных данных.
String

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

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

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

Record Set
output_predicted_features

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

Record Set
coefficient_table

Выходная таблица, содержащая коэффициенты подгонки для модели. Выходные данные создаются, если параметр generate_coefficient_table установлен на CREATE_TABLE.

Record Set

Пример кода

GeneralizedLinearRegression пример (автономный скрипт)

В следующем автономном скрипте показано использование функции GeneralizedLinearRegression.

В этом скрипте создается модель и прогнозируется, был ли произведен арест за преступление.

# Description: Run GLR on crime data and predict if an arrest was made for a crime reporting.
#
# Requirements: ArcGIS GeoAnalytics Server

# Import system modules
import arcpy

# Set local variables
trainingDataset = "https://analysis.org.com/server/rest/services/Hosted/old_crimes/FeatureServer/0"
predictionDataset = "https://analysis.org.com/server/rest/services/Hosted/new_crimes/FeatureServer/0"
outputTrainingName = "training"

# Run GLR
arcpy.geoanalytics.GeneralizedLinearRegression(
    trainingDataset, "ArrestMade", "BINARY", ["CRIME_TYPE", "WARD", "DAY_OF_MONTH"], outputTrainingName, 
    "NO_TABLE", predictionDataset, [["CRIME_TYPE", "CRIME_TYPE"], ["WARD", "WARD"], ["DAY_OF_MONTH", "DAY_OF_MON"]], 
    [["Arrest", "NoArrest"]], "SPATIOTEMPORAL_DATA_STORE")

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

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

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

Система координат, используемая при анализе. Если данный параметр не указан, анализ будет выполнен во входной системе координат. Для GeoAnalytics Tools готовые результаты будут храниться в пространственно-временном хранилище данных в WGS84.

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

  • Basic: Обязательно ArcGIS GeoAnalytics Server
  • Standard: Обязательно ArcGIS GeoAnalytics Server
  • Advanced: Обязательно ArcGIS GeoAnalytics Server

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