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

Сводка

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

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

Иллюстрация

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

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

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

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

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

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

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

    Узнать больше о модели прогноза, модели проверки и статистике RMSE

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

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

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

Синтаксис

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})
ParameterОбъяснениеТип данных
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

Пример кода

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 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")
# Create a feature class visualizing the forecasts.
arcpy.stpm.VisualizeSpaceTimeCube3D("outForecastCube.nc", "Cars_NONE_ZEROS", 
                                    "VALUE", "Analysis.gdb/ForecastsFC")

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

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

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