Подготовка данных для прогноза (Пространственная статистика)

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

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

Более подробно о том, как работает Подготовка данных для прогноза

Иллюстрация

Иллюстрация инструмента Подготовка данных для прогноза

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

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

  • Для использования растров в качестве независимых переменных необходима лицензия Дополнительный модуль ArcGIS Spatial Analyst.

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

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

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

Параметры

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

Объекты, к которым будет применено разбиение, извлечение или балансировка.

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

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

Feature Class
Тип разбиения
(Дополнительный)

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

  • Произвольное разбиениеВходные объекты будут случайным образом разделены на обучающие и тестовые поднаборы. Это значение по умолчанию
  • Пространственное разбиениеВходные объекты будут пространственно разделены на обучающие и тестовые поднаборы.
  • НетВходные объекты не будут разделены.
String
Выходной тестовый поднабор объектов
(Дополнительный)

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

Feature Class
Переменная для прогнозирования
(Дополнительный)

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

Field
Рассматривать переменную как Категориальную
(Дополнительный)

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

  • Отмечено — значение параметра Переменная для прогнозирования будет интерпретироваться как категорийная переменная.
  • Не отмечено — значение параметра Переменная для прогнозирования не будет интерпретирована как категорийная переменная - интерпретируется как непрерывная. Это значение по умолчанию

Boolean
Независимые переменные
(Дополнительный)

Список полей, представляющих независимые переменные, которые помогут прогнозировать значения или категории для параметра Переменная для прогнозирования. Включите опцию Категориальная для любых переменных, которые представляют классы или категории (например, почвенно-растительный покров – его наличие или отсутствие).

Value Table
Независимые объекты расстояния
(Дополнительный)

Независимые объекты расстояния обучения. Независимые переменные будут созданы автоматически, путем вычисления расстояния от предоставленных объектов до Входных объектов. Расстояния будут вычислены от каждого из объектов набора, указанного в параметре Входные объекты до ближайшего объекта из этого набора. Если входные объекты являются полигонами или линиями, атрибуты расстояния вычисляются как расстояние между ближайшими сегментами пары объектов.

Feature Layer
Независимые растры
(Дополнительный)

Независимые переменные обучения, извлеченные из растров. Независимые переменные обучения будут автоматически созданы путем извлечения значений ячеек растра. Для каждого из Входных объектов значение ячейки растра извлекается в именно в этом местоположении. Билинейный пересчет растра используется, если значение растра извлекается из непрерывных растров. Метод ближайшего соседа используется, если значение растра извлекается из категориальных растров. Включите опцию Категориальная для любых переменных, которые представляют классы или категории например, почвенно-растительный покров – его наличие или отсутствие.

Value Table
Конвертировать полигоны в разрешение растра для обучения
(Дополнительный)

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

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

Boolean
Процент данных как тестовый поднабор
(Дополнительный)

Процент входных объектов, которые будут сохранены как тестовый или проверочный набор данных. Значение по умолчанию равно 10.

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

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

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

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

Linear Unit
Число итераций прореживания
(Дополнительный)

Число итераций, которое будет использовано для поиска оптимального решения пространственного прореживания, с поддержанием минимального возможного числа объектов, с тем, чтобы не было двух объектов в пределах Минимального расстояния ближайшей окрестности. Минимальное число итераций - 1, а максимальное - 50. Значение по умолчанию равно 10.

Long
Кодировать категориальную независимую переменную
(Дополнительный)

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

  • Отмечено - категориальная независимая переменная будет закодирована. Каждое категорийное значение будет преобразовано в новое поле с присвоением значений 0 или 1. Значение 1 указывает наличие категориального значения, а 0 - отсутствие.
  • Не отмечено - категориальная независимая переменная не будет закодирована. Это значение по умолчанию

Boolean
Присоединить все поля из входных объектов
(Дополнительный)

Указывает, будут ли все поля скопированы из входных пространственных объектов в выходные объекты.

  • Не отмечено - в выходные объекты будут скопированы только входные поля.
  • Отмечено – все поля из входных пространственных объектов будут скопированы в выходные объекты. Это значение по умолчанию

Boolean

arcpy.stats.PrepareData(in_features, out_features, {splitting_type}, {out_test_features}, {variable_predict}, {treat_variable_as_categorical}, {explanatory_variables}, {distance_features}, {explanatory_rasters}, {use_raster_values}, {percent}, {balancing_type}, {thinning_distance_band}, {number_of_iterations}, {encode_variables}, {append_all_fields})
ИмяОписаниеТип данных
in_features

Объекты, к которым будет применено разбиение, извлечение или балансировка.

Feature Class
out_features

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

Feature Class
splitting_type
(Дополнительный)

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

  • RANDOM_SPLITВходные объекты будут случайным образом разделены на обучающие и тестовые поднаборы. Это значение по умолчанию
  • SPATIAL_SPLITВходные объекты будут пространственно разделены на обучающие и тестовые поднаборы.
  • NONEВходные объекты не будут разделены.
String
out_test_features
(Дополнительный)

Поднабор параметра in_features будет использован в качестве тестовых объектов. Этот параметр доступен, если параметр splitting_type установлен на RANDOM_SPLIT или SPATIAL_SPLIT.

Feature Class
variable_predict
(Дополнительный)

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

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

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

  • CATEGORICALЗначение параметра variable_predict будет интерпретироваться как категорийная переменная.
  • NUMERICЗначение параметра variable_predict не будет интерпретирована как категорийная переменная - интерпретируется как непрерывная. Это значение по умолчанию
Boolean
explanatory_variables
[explanatory_variables,...]
(Дополнительный)

Список полей, представляющих независимые переменные, которые помогут прогнозировать значения или категории variable_predict. Используйте параметр CATEGORICAL для переменных, которые представляют классы или категории (например, почвенно-растительный покров – его наличие или отсутствие).

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

Независимые объекты расстояния обучения. Независимые переменные будут созданы автоматически, путем вычисления расстояния от предоставленных объектов до параметра in_features. Расстояния будут вычислены от каждого из объектов набора, указанного в параметре in_features до ближайшего объекта из этого набора. Если входные объекты являются полигонами или линиями, атрибуты расстояния вычисляются как расстояние между ближайшими сегментами пары объектов.

Feature Layer
explanatory_rasters
[explanatory_rasters,...]
(Дополнительный)

Независимые переменные обучения, извлеченные из растров. Независимые переменные обучения будут автоматически созданы путем извлечения значений ячеек растра. Для каждого объекта в in_features значение ячейки растра извлекается в именно в этом местоположении. Билинейный пересчет растра используется, если значение растра извлекается из непрерывных растров. Метод ближайшего соседа используется, если значение растра извлекается из категориальных растров. Используйте параметр CATEGORICAL для любого растра, который представляют классы или категории например, почвенно-растительный покров – его наличие или отсутствие.

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

Определяет то, как полигоны будут рассматриваться, если параметр in_features задан полигонами с категориальной variable_predict, и заданы только параметр explanatory_rasters.

  • SAMPLE_POLYGONПолигоны будут разделены на все ячейки растра с центроидами, попадающими в пределы полигонов. Затем значения растра в каждом центроиде извлекаются и используются для обучения модели. Модель больше не обучается на полигонах, а обучается на значениях растра, извлеченных для каждого центроида ячейки. Это значение по умолчанию
  • NO_SAMPLE_POLYGONКаждому полигону будет присвоено среднее значение нижележащих непрерывных растров или значение большинства нижележащих категориальных растров.
Boolean
percent
(Дополнительный)

Процент входных объектов, которые будут сохранены как тестовый или проверочный набор данных. Значение по умолчанию равно 10.

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

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

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

Минимальное расстояние между двумя любыми точками присутствия или двумя любыми точками в одной и той же категории параметра variable_predict, если применено пространственное прореживание.

Linear Unit
number_of_iterations
(Дополнительный)

Число итераций, которое будет использовано для поиска оптимального решения пространственного прореживания, с поддержанием минимального возможного числа объектов, с тем, чтобы не было двух объектов в пределах thinning_distance_band. Минимальное число итераций - 1, а максимальное - 50. Значение по умолчанию равно 10.

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

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

  • ENCODEКатегориальная независимая переменная будет закодирована. Каждое категорийное значение будет преобразовано в новое поле с присвоением значений 0 или 1. Значение 1 указывает наличие категориального значения, а 0 - отсутствие.
  • NO_ENCODEКатегориальная независимая переменная не будет закодирована. Это значение по умолчанию
Boolean
append_all_fields
(Дополнительный)

Указывает, будут ли все поля скопированы из входных пространственных объектов в выходные объекты.

  • NO_APPENDВ выходные объекты будут скопированы только входные поля.
  • APPENDВсе поля из входных пространственных объектов будут скопированы в выходные объекты. Это значение по умолчанию
Boolean

Пример кода

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

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

# Prepare data for prediction.
import arcpy

arcpy.env.workspace = r"c:\data\project_data.gdb"
arcpy.stats.PrepareData(
    in_features = r"in_feature_class",
    out_features = r"out_feature_class",
    splitting_type="RANDOM_SPLIT",
    variable_predict=None,
    treat_variable_as_categorical="NUMERIC"   
)
PrepareData, пример 2 (автономный скрипт)

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

# Prepare data for prediction.
import arcpy

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

# Run tool
arcpy.stats.PrepareData(
    in_features = r"in_feature_class",
    out_features = r"out_feature_class",
    splitting_type="RANDOM_SPLIT",
    variable_predict=None,
    treat_variable_as_categorical="NUMERIC"
)

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

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

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