Метод наименьших квадратов (МНК) (Пространственная статистика)

Сводка

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

Примечание:

Функциональность этого инструмента включена в инструмент Обобщенная линейная регрессия, добавленный в ArcGIS Pro 2.3. Инструмент Обобщенная линейная регрессия поддерживает дополнительные модели.

Подробнее о том, как работает Метод наименьших квадратов (МНК)

Иллюстрация

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

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

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

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

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

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

  • Поле Unique ID связывает прогнозированные значения в модели с каждым объектом. Следовательно, значения поля Unique ID должны быть уникальными для каждого объекта и, как правило, это поле должно быть постоянным полем, принадлежащим классу объектов. Если у вас нет поля Unique ID, вы можете легко создать его путем добавления нового целого поля в вашу таблицу класса объектов и введения значений поля, аналогичных полю FID/OID. Вы не можете использовать поле FID/OID напрямую в параметре Уникальный ID.

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

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

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

  • Если результатом вычисления является бесконечность или неопределенность, результат для файлов, которые не являются шейп-файлами, будет Null; для шейп-файлов результат будет – DBL_MAX (например, -1.7976931348623158e+308).

  • Итоговые результаты диагностики модели записываются в итоговый отчет по МНК и в дополнительную выходную таблицу результатов диагностики. Обе записи включают результаты диагностики исправленного Информационного критерия Akaike (AICc), коэффициент определения, соединенную F-статистику, статистику Вальда, стьюдентизированную Кенкером статистику Бреуша-Пагана и статистику Жарке-Бера. Диагностическая таблица также включает нескорректированные значения AIC и S-квадрат.

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

  • На компьютерах с языковыми пакетами ArcGIS для арабского языка и других языков, которые читаются справа налево, в PDF-файле выходного отчета может отсутствовать текст или элементы форматирования. Эти проблемы описаны в этой статье.

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

  • Внимание:

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

Синтаксис

arcpy.stats.OrdinaryLeastSquares(Input_Feature_Class, Unique_ID_Field, Output_Feature_Class, Dependent_Variable, Explanatory_Variables, {Coefficient_Output_Table}, {Diagnostic_Output_Table}, {Output_Report_File})
ParameterОбъяснениеТип данных
Input_Feature_Class

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

Feature Layer
Unique_ID_Field

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

Field
Output_Feature_Class

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

Feature Class
Dependent_Variable

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

Field
Explanatory_Variables
[Explanatory_Variables,...]

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

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

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

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

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

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

Полный путь к дополнительному PDF-файлу, создаваемому инструментом. Этот файл отчета включает данные диагностики модели, графические данные и примечания, которые помогают интерпретировать результаты регрессии по МНК.

File

Пример кода

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

В следующем скрипте окна Python показано, как используется инструмент OrdinaryLeastSquares.

import arcpy
arcpy.env.workspace = r"c:\data"
arcpy.OrdinaryLeastSquares_stats("USCounties.shp", "MYID","olsResults.shp", 
                                 "GROWTH","LOGPCR69;SOUTH;LPCR_SOUTH;PopDen69",
                                 "olsCoefTab.dbf","olsDiagTab.dbf")
OrdinaryLeastSquares, пример 2 (автономный скрипт Python)

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

# Analyze the growth of regional per capita incomes in US
# Counties from 1969 -- 2002 using Ordinary Least Squares Regression
# 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
    # Growth as a function of {log of starting income, dummy for South
    # counties, interaction term for South counties, population density}
    # Process: Ordinary Least Squares... 
    ols = arcpy.OrdinaryLeastSquares_stats("USCounties.shp", "MYID", 
                        "olsResults.shp", "GROWTH",
                        "LOGPCR69;SOUTH;LPCR_SOUTH;PopDen69",
                        "olsCoefTab.dbf",
                        "olsDiagTab.dbf")
    # Create Spatial Weights Matrix (Can be based on input or output FC)
    # Process: Generate Spatial Weights Matrix... 
    swm = arcpy.GenerateSpatialWeightsMatrix_stats("USCounties.shp", "MYID",
                        "euclidean6Neighs.swm",
                        "K_NEAREST_NEIGHBORS",
                        "#", "#", "#", 6) 
                        
    # Calculate Moran's Index of Spatial Autocorrelation for 
    # OLS Residuals using a SWM File.  
    # Process: Spatial Autocorrelation (Morans I)...      
    moransI = arcpy.SpatialAutocorrelation_stats("olsResults.shp", "Residual",
                        "NO_REPORT", "GET_SPATIAL_WEIGHTS_FROM_FILE", 
                        "EUCLIDEAN_DISTANCE", "NONE", "#", 
                        "euclidean6Neighs.swm")
except:
    # If an error occurred when running the tool, print out the error message.
    print(arcpy.GetMessages())

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

  • Basic: Да
  • Standard: Да
  • Advanced: Да

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