Прогноз на основе леса (Углубленный анализ пространственно-временных закономерностей)

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

Прогнозирует значения каждого местоположения пространственно-временного куба с использованием адаптации алгоритма случайного леса Лео Бреймана. Регрессионная модель леса обучается с использованием временных окон в каждом местоположении куба Пространство-Время.

Более подробно о работе инструмента Прогноз на основе леса

Иллюстрация

Иллюстрация инструмента Прогноз на основе леса
Прогнозируйте временные ряды с помощью инструмента Прогноз на основе леса.

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

  • Этот инструмент поддерживает файлы netCDF, созданные инструментами Создать куб Пространство-Время по агрегации точек, Создать куб Пространство-Время из указанных местоположений и Создать куб Пространство-Время из многомерного растрового слоя.

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

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

  • Для каждого места в параметре Входной куб Пространство-Время инструмент строит две модели, которые служат разным целям.

    • Модель прогноза - эта модель используется для прогнозирования значений пространственно-временного куба путем построения леса с использованием значений временного ряда и использования этого леса для прогнозирования значений будущих временных шагов. Подгонка прогнозной модели к значениям куба пространство-время измеряется прогнозным значением RMSE.
    • Модель проверки - эта модель используется для проверки модели прогноза и проверки того, насколько точно она может прогнозировать значения. Если для параметра Число временных шагов, исключаемых для проверки указано число больше 0, эта модель строится с использованием включенных временных шагов и используется для прогнозирования значений временных шагов, которые были исключены. Это позволяет увидеть, насколько хорошо модель может прогнозировать значения. Подгонка прогнозных значений к исключенным значениям измеряется Проверкой RMSE.

    Более подробно о прогнозной модели, модели проверки и статистике RMSE

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

  • Этот инструмент создает сообщения геообработки и всплывающие диаграммы, чтобы помочь вам понять и визуализировать результаты прогноза. Сообщения содержат информацию о структуре куба Пространство-Время и сводную статистику значений RMSE и длин сезонов. Если щелкнуть объект с помощью инструмента навигации Исследовать, отображается диаграмма-график во всплывающей панели, которая показывает значения куба Пространство-Время, соответствующие значения леса, прогнозные значения и допустимые границы для этого местоположения.

  • Вы можете включить независимые переменные для более точного прогнозирования используя параметр Другие переменные. Если вы указываете дополнительные переменные, модель прогнозирования выполняет многофакторный прогноз на основе леса. Каждая независимая переменная конвертируется в факторы с временным лагом, в пределах каждого временного окна, которые используются для обучения модели на основе леса. Это позволяет вам оценить любой отложенный (задержанный) эффект между независимой переменной и переменной анализа. Например, на основе увеличения числа госпитализаций во время пандемии можно прогнозировать число умерших через 14 дней, число госпитализаций не поможет в прогнозировании числа умерших в ближайшие 3 дня. Число временных лагов равно значению параметра Окно временного шага, поэтому временное окно должно быть шире любого отложенного эффекта, который вы хотите захватить.

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

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

  • Параметр Опция выброса может использоваться для определения статистически значимых выбросов в значениях временных рядов в каждом местоположении.

    Более подробно об определении выбросов во временных рядах

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

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

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

Параметры

ПодписьОписаниеТип данных
Входной куб Пространство-Время

Куб netCDF, содержащий переменную, которую вы хотите спрогнозировать на будущие временные шаги. Файл должен быть с расширением .nc, и должен быть создан инструментами Создать куб пространство-время по агрегации точек, Создать куб пространство-время из указанных местоположений или Создать куб пространство-время из многомерного растрового слоя.

File
Переменная анализа

Числовая переменная в файле netCDF, которая будет прогнозироваться на будущие временные шаги.

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

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

Feature Class
Выходной куб пространство-время
(Дополнительный)

Новый куб пространство-время (.nc файл), содержащий значения входного куба пространство-время с добавлением прогнозируемых временных шагов. Инструмент Визуализация куба Пространство-Время в 3D можно использовать для одновременного просмотра всех наблюдаемых и прогнозируемых значений.

File
Количество временных шагов для прогноза
(Дополнительный)

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

Long
Окно временного шага
(Дополнительный)

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

Более подробно о сезонности и выборе временного окна

Long
Количество временных шагов, исключаемых для проверки
(Дополнительный)

Количество временных шагов в конце каждого временного ряда, которые необходимо исключить для проверки. Значение по умолчанию равно 10 процентам (округляется в меньшую сторону) от числа входных временных шагов, и это значение не может быть больше 25 процентов от числа временных шагов. Укажите значение 0, чтобы не исключать никаких временных шагов.

Long
Число деревьев
(Дополнительный)

Число деревьев, которые будут созданы для создания модели леса. Увеличение числа деревьев приведет к более точному прогнозированию модели, но модель будет дольше вычисляться. По умолчанию число деревьев равно 100, а значение должно быть не менее 1 и не более 1000.

Long
Минимальный размер листа
(Дополнительный)

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

Long
Максимальная глубина дерева
(Дополнительный)

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

Long
Процент обучения, доступного для каждого дерева (%)
(Дополнительный)

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

Long
Подход к прогнозу
(Дополнительный)

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

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

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

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

  • ОтсутствуетВыбросы не будут определяться. Это значение по умолчанию.
  • Определять выбросыВыбросы будут определяться с использованием теста Генерализованный ESD.
String
Уровень достоверности
(Дополнительный)

Задает уровень достоверности теста выбросов во временных рядах.

  • 90%Уровень достоверности теста составляет 90 процентов. Это значение по умолчанию.
  • 95%Уровень достоверности теста составляет 95 процентов.
  • 99%Уровень достоверности теста составляет 99 процентов.
String
Максимальное число выбросов

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

Long
Другие переменные
(Дополнительный)

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

String
Порог значимости (%)
(Дополнительный)

Процент факторов, учитываемых при оценке значимости при прогнозировании переменной анализа. Например, если это значение равно 20, верхние 20 процентов факторов для каждого местоположения будут включены в таблицу значимости. Каждая переменная (переменная анализа, и каждая независимая переменная) однократно представлены как факторы в каждом временном шаге в окне временного шага, поэтому число факторов в каждом местоположении соответствует длине временного окна, умноженной на число переменных. Число факторов, умноженное на порог значимости определяет количество значимых факторов в каждом местоположении. Значение по умолчанию - 10, оно должно быть целочисленным в диапазоне от 0 до 100.

Long
Выходная таблица значимости
(Дополнительный)

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

Table

arcpy.stpm.ForestBasedForecast(in_cube, analysis_variable, output_features, {output_cube}, {number_of_time_steps_to_forecast}, {time_window}, {number_for_validation}, {number_of_trees}, {minimum_leaf_size}, {maximum_depth}, {sample_size}, {forecast_approach}, {outlier_option}, {level_of_confidence}, maximum_number_of_outliers, {other_variables}, {importance_threshold}, {output_importance_table})
ИмяОписаниеТип данных
in_cube

Куб netCDF, содержащий переменную, которую вы хотите спрогнозировать на будущие временные шаги. Файл должен быть с расширением .nc, и должен быть создан инструментами Создать куб пространство-время по агрегации точек, Создать куб пространство-время из указанных местоположений или Создать куб пространство-время из многомерного растрового слоя.

File
analysis_variable

Числовая переменная в файле netCDF, которая будет прогнозироваться на будущие временные шаги.

String
output_features

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

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

Новый куб пространство-время (.nc файл), содержащий значения входного куба пространство-время с добавлением прогнозируемых временных шагов. Инструмент Визуализация куба Пространство-Время в 3D можно использовать для одновременного просмотра всех наблюдаемых и прогнозируемых значений.

File
number_of_time_steps_to_forecast
(Дополнительный)

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

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

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

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

Количество временных шагов в конце каждого временного ряда, которые необходимо исключить для проверки. Значение по умолчанию равно 10 процентам (округляется в меньшую сторону) от числа входных временных шагов, и это значение не может быть больше 25 процентов от числа временных шагов. Укажите значение 0, чтобы не исключать никаких временных шагов.

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

Число деревьев, которые будут созданы для создания модели леса. Увеличение числа деревьев приведет к более точному прогнозированию модели, но модель будет дольше вычисляться. По умолчанию число деревьев равно 100, а значение должно быть не менее 1 и не более 1000.

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

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

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

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

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

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

Более подробно об обучении прогнозной модели на основе леса

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

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

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

Более подробно о параметре Подход к прогнозу

  • VALUEЗначения в пределах временного окна не будут исключены из тренда, и зависимая переменная будет представлена своим необработанным значением. Если независимые переменные включены в параметр Другие переменные, доступна только опция Подход к прогнозу по умолчанию.
  • VALUE_DETRENDЗначения в пределах временного окна будут линейно исключены из тренда, и зависимая переменная будет представлена своим значением без тренда. Это значение по умолчанию
  • RESIDUALЗначения в пределах временного окна не будут исключены, а зависимая переменная будет представлена остатком модели линейной регрессии с использованием значений в пределах временного окна в качестве независимых переменных.
  • RESIDUAL_DETRENDЗначения в пределах временного окна будут линейно исключены, а зависимая переменная будет представлена остатком модели линейной регрессии с использованием значений без трендов в пределах временного окна в качестве независимых переменных.
String
outlier_option
(Дополнительный)

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

  • NONEВыбросы не будут определяться. Это значение по умолчанию.
  • IDENTIFYВыбросы будут определяться с использованием теста Генерализованный ESD.
String
level_of_confidence
(Дополнительный)

Задает уровень достоверности теста выбросов во временных рядах.

  • 90%Уровень достоверности теста составляет 90 процентов. Это значение по умолчанию.
  • 95%Уровень достоверности теста составляет 95 процентов.
  • 99%Уровень достоверности теста составляет 99 процентов.
String
maximum_number_of_outliers

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

Long
other_variables
[other_variables,...]
(Дополнительный)

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

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

Процент факторов, учитываемых при оценке значимости при прогнозировании переменной анализа. Например, если это значение равно 20, верхние 20 процентов факторов для каждого местоположения будут включены в таблицу значимости. Каждая переменная (переменная анализа, и каждая независимая переменная) однократно представлены как факторы в каждом временном шаге в окне временного шага, поэтому число факторов в каждом местоположении соответствует длине временного окна, умноженной на число переменных. Число факторов, умноженное на порог значимости определяет количество значимых факторов в каждом местоположении. Значение по умолчанию - 10, оно должно быть целочисленным в диапазоне от 0 до 100.

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

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

Table

Пример кода

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

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

import arcpy
arcpy.env.workspace = "C:/Analysis"

# Forecast four time steps using a random forest with detrending.
arcpy.stpm.ForestBasedForecast("CarTheft.nc","Cars_NONE_ZEROS", 
                               "Analysis.gdb/Forecasts", "outForecastCube.nc"
                               4, 3, 5, 100, "", "", 100, "VALUE_DETREND")
ForestBasedForecast, пример 2 (автономный скрипт)

Следующий скрипт Python, демонстрирующий использование инструмента ForestBasedForecast для прогнозирования количества угонов автомобилей.

# Forecast change in car thefts using a random forest.

# Import system modules.
import arcpy

# Set property to overwrite existing output, by default.
arcpy.env.overwriteOutput = True

# Set workspace.
workspace = r"C:\Analysis"
arcpy.env.workspace = workspace

# Forecast three time steps using a random forest based on change.
arcpy.stpm.ForestBasedForecast("CarTheft.nc","Cars_NONE_ZEROS", 
                               "Analysis.gdb/Forecasts", "outForecastCube.nc"
                               4, 3, 5, 100, "", "", 100, "CHANGE",
                               "IDENTIFY", "90%", 4)

# Create a feature class visualizing the forecasts.
arcpy.stpm.VisualizeSpaceTimeCube3D("outForecastCube.nc", "Cars_NONE_ZEROS", 
                                    "VALUE", "Analysis.gdb/ForecastsFC")

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

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

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