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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Можно повысить скорость работы инструмента Обобщенная линейная регрессия одним из следующих методов:

    • Задайте экстент анализа так, чтобы обработать только интересующие вас данные.
    • Не выводите таблицу коэффициентов.
    • Используйте локальные данные там, где запускается анализ.

  • Этот инструмент геообработки работает от Spark. Анализ выполняется на настольном компьютере с использованием нескольких ядер параллельно. См. Информация по инструментами GeoAnalytics Desktop, чтобы узнать больше о выполнении анализа.

  • При запуске инструментов GeoAnalytics Desktop анализ выполняется на настольном компьютере. Для оптимальной производительности данные должны быть доступны на настольном компьютере. Если используется размещенный векторный слой, рекомендуется применить ArcGIS GeoAnalytics Server. Если данные находятся не на жестком диске, для запуска инструмента потребуется больше времени. Чтобы использовать ArcGIS GeoAnalytics Server для выполнения анализа, см. GeoAnalytics Tools.

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

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

Параметры

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

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

Table View
Зависимая переменная

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

Field
Тип модели

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

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

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

Field
Выходные объекты

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

Table; Feature Class
Входные объекты прогнозирования
(Дополнительный)

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

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

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

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

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

Value Table
Выходные объекты прогнозирования
(Дополнительный)

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

Table; Feature Class
Выходная таблица коэффициентов
(Дополнительный)

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

Table

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

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

Table View
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

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

Table; Feature Class
input_features_to_predict
(Дополнительный)

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

Table View
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
output_predicted_features
(Дополнительный)

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

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

Table; Feature Class
coefficient_table
(Дополнительный)

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

Table

Пример кода

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

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

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

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

# Import system modules
import arcpy
arcpy.env.workspace = "c:/data/city.gdb"

# Set local variables
trainingDataset = "old_crimes"
predictionDataset = "new_crimes"
outputTrainingName = "training"
outputPredictedName = "predicted"

# Run Generalized Linear Regression
arcpy.geoanalytics.GeneralizedLinearRegression(
    trainingData, "ArrestMade", "BINARY", ["CRIME_TYPE", "WARD", "DAY_OF_MONTH"], 
    outputTrainingName, None, outputPredictedName, 
    [["CRIME_TYPE", "CRIME_TYPE"], ["WARD", "WARD"], ["DAY_OF_MONTH", "DAY_OF_MON"]], 
    [["Arrest", "NoArrest"]])