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

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

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

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

Иллюстрация

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Решение о том, сколько временных шагов следует исключить для проверки, является важным выбором. Чем больше временных шагов исключается, тем меньше временных шагов остается для определения модели проверки. Однако если исключить слишком мало временных шагов, то Проверка 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

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)
ИмяОписаниеТип данных
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

Пример кода

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")

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