Оценка прогнозов перекрестной проверкой (Пространственная статистика)

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

Оценивает производительность модели прогнозирования при помощи перекрестной проверки. Этот инструмент вычисляет показатели проверки для моделей, созданных при помощи инструментов Классификация на основе леса, Классификация с бустингом и регрессия, Обобщенная линейная регрессия и Прогнозирование только присутствия. Он позволяет указать тип оценки (например, K-кратное или пространственное K-кратное распределение), число групп и балансировку редких событий для обеспечения надежной и непредвзятой оценки модели.

Изучите, как работает Оценка прогнозов перекрестной проверкой

Иллюстрация

Иллюстрация инструмента Оценка прогнозов перекрестной проверкой

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

  • Параметр Тип оценки содержит следующие опции для разбиения объектов по группам:

    • Пространственное k-кратное распределение — Используйте пространственную перекрестную проверку для оценки того, как модель выполняет прогноз объектов, географически находящихся вне изучаемой области обучающих данных.
    • Произвольное k-кратное распределение — Используйте произвольную перекрестную проверку для оценки того, как модель выполняет прогноз объектов, географически находящихся в изучаемой области обучающих данных

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

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

  • Этот инструмент не будет принимать объекты анализа, которые были сначала подвергнуты избыточной выборке в инструменте Подготовка данных для прогноза, то есть сбалансированы с использованием произвольной избыточной выборки или SMOTE. Данные с избыточной выборкой не могут быть использованы в наборе для проверки из-за утечки данных.

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

  • Инструмент создает следующие выходные данные:

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

Параметры

ПодписьОписаниеТип данных
Объекты результата анализа

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

Feature Layer
Выходные объекты

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

Feature Class
Выходная таблица проверок

Выходная таблица будет содержать показатели оценки для каждого запуска проверки.

Table
Входные объекты анализа

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

Feature Layer
Тип оценки
(Дополнительный)

Задает метод, который используется для разбиения значения параметра Объекты результата анализа на k групп.

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

Число групп, на которое будет разбито значение параметра Объекты результата анализа. Число групп должно быть больше 1. Значение по умолчанию равно 10.

Long
Тип балансировки
(Дополнительный)

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

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

arcpy.stats.CrossValidate(analysis_result_features, out_features, out_table, analysis_input_features, {evaluation_type}, {num_groups}, {balancing_type})
ИмяОписаниеТип данных
analysis_result_features

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

Feature Layer
out_features

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

Feature Class
out_table

Выходная таблица будет содержать показатели оценки для каждого запуска проверки.

Table
analysis_input_features

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

Feature Layer
evaluation_type
(Дополнительный)

Задает метод, который используется для разбиения значения параметра analysis_result_features на k групп.

  • RANDOM_KFOLDОбъекты результата анализа будут произвольно разбиты на k групп. Каждая группа будет содержать одинаковое или схожее число объектов. При прогнозировании категорий (классификации) каждая категория в зависимой переменной будет отображаться в каждой обучающей группе. Это значение по умолчанию
  • SPATIAL_KFOLDОбъекты результата анализа будут пространственно разбиты на k групп при помощи кластеризации k-средних для входных центроидов полигонов или точек. При прогнозировании категорий (классификации) каждая категория в зависимой переменной будет отображаться в каждой обучающей группе. Каждая группа пространственно отделена от других.
String
num_groups
(Дополнительный)

Число групп, на которое будет разбито значение параметра analysis_result_features. Число групп должно быть больше 1. Значение по умолчанию равно 10.

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

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

  • NONEОбъекты результата анализа не будут сбалансированы. Это значение по умолчанию
  • RANDOM_UNDERПроизвольные объекты будут удаляться из каждого класса, кроме класса меньшинства, до тех пор, пока число объектов не совпадет с числом объектов в классе меньшинства.
  • TOMEK_UNDERОбъекты в каждом классе не меньшинства, которые близки к объектам в классе меньшинства, будут удалены. Этот метод улучшит границу между классами, однако каждый класс может содержать разное число объектов.
  • KMED_UNDERОбъекты из класса не меньшинства, которые не являются репрезентативными для этого класса, будут удаляться до тех пор, пока количество объектов не сравняется с количеством объектов из класса меньшинства.
  • RANDOM_OVERОбъекты в классе меньшинства будут дублироваться случайным образом до тех пор, пока их количество не сравняется с количеством объектов в классе большинства.
  • SMOTE_OVERСинтетические объекты будут создаваться для класса меньшинства путем интерполяции между существующими объектами то тех пор, пока число объектов не совпадет с числом объектов в классе большинства.
String

Пример кода

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

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

# Evaluate a predictive model with cross validation
import arcpy
arcpy.env.workspace = r"c:\data\project_data.gdb"

arcpy.stats.CrossValidate(
    analysis_result_features=r"in_analysis_result_features",
    out_features=r"out_feature",
    out_table=r"out_table",
    analysis_input_features=r"analyis_in_feature",
    evaluation_type="RANDOM_KFOLD",
    num_groups=10,
    balancing_type="NONE"
)
CrossValidate, пример 2 (автономный скрипт)

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

# Evaluate a predictive model with cross validation

import arcpy 

# Set the current workspace.
arcpy.env.workspace = r"c:\data\project_data.gdb"

# Run tool

arcpy.stats.CrossValidate(
    analysis_result_features=r"in_analysis_result_features",
    out_features=r"out_feature",
    out_table=r"out_table",
    analysis_input_features=r"analyis_in_feature",
    evaluation_type="RANDOM_KFOLD",
    num_groups=10,
    balancing_type="NONE"
)

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

  • Basic: Ограниченные
  • Standard: Ограниченные
  • Advanced: Ограниченные

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