Подпись | Описание | Тип данных |
Входные данные временного ряда | Куб netCDF, содержащий переменную, которая будет использоваться, чтобы спрогнозировать будущие временные ряды. Файл должен быть с расширением .nc, и должен быть создан инструментами Создать куб пространство-время по агрегации точек, Создать куб пространство-время из указанных местоположений или Создать куб пространство-время из многомерного растрового слоя. | File |
Выходная модель | Расположение выходной папки, в которой будет храниться обученная модель. Обученная модель будет сохранена как файл пакета глубокого обучения (.dlpk). | Folder |
Переменная анализа | Числовая переменная в наборе данных, которая будет прогнозироваться на будущие временные шаги. | String |
Длина последовательности | Количество предыдущих временных шагов, которые будут использованы при обучении модели. Если данные содержат сезонность (повторяющиеся циклы), укажите продолжительность, соответствующую одному сезону.
| Long |
Независимые переменные обучения (Дополнительный) | Независимые переменные от данных, которые будут использоваться для обучения модели. Включите опцию Категориальная для любых переменных, которые представляют классы или категории. | Value Table |
Максимальное число периодов времени (Дополнительный) | Максимальное количество периодов времени, для которых будет обучаться модель. Значение по умолчанию равно 20. | Long |
Количество временных рядов, исключаемых для проверки (Дополнительный) | Количество временных рядов, которые будут исключены для проверки. Например, если указано значение 14, в качестве данных проверки будут использоваться последние 14 строк во фрейме данных. По умолчанию это 10 процентов общих временных шагов. В идеале он должен составлять не менее 5 процентов от общего числа шагов во входном временном кубе.
| Long |
Тип модели (Дополнительный) | Определяет архитектуру модели, которая будет использоваться для обучения модели.
| String |
Размер пакета (Дополнительный) | Количество выборок, которые будут обрабатываться за один раз. Значение по умолчанию - 64. В зависимости от графического процессора компьютера это число может быть изменено на 8, 16, 32, 64 и так далее. | Long |
Аргументы модели (Дополнительный) | Дополнительные аргументы модели, которые будут использоваться для каждой модели. Эти аргументы можно использовать для настройки сложности и размера модели. См. Как работают модели прогнозирования временных рядов, чтобы понять архитектуру модели, поддерживаемые аргументы модели и их значения по умолчанию. | Value Table |
Остановка обучения, если модель более не улучшается. (Дополнительный) | Указывает, остановится ли обучение модели, если потеря проверки не зарегистрирует улучшение после пяти последовательных эпох.
| Boolean |
Выходной класс объектов (Дополнительный) | Выходной класс объектов, содержащий все местоположения куба пространства-времени с прогнозируемыми значениями, хранящимися в виде полей. Класс объектов будет создан с использованием прогноза обученной модели в наборе данных проверки. Выходные данные отображают прогноз для последнего временного ряда и содержат всплывающие диаграммы, показывающие прогноз временных рядов в наборе проверки. | Feature Class |
Выходной куб (Дополнительный) | Выходной пространственно-временной куб (файл .nc), содержащий значения входного пространственно-временного куба с замененными прогнозными значениями для соответствующих временных шагов проверки. | File |
Многошаговый (Дополнительный) | Определяет, будет ли использоваться одношаговый или многошаговый подход для обучения многомерной модели прогнозирования временных рядов.
| Boolean |
Краткая информация
Обучает модель прогнозирования временных рядов с помощью глубокого обучения, используя данные временных рядов из куба пространство-время. Обученную модель можно использовать для прогнозирования значений каждого местоположения куба пространство-время с помощью инструмента Обучить модель прогнозирования временных рядов.
Данные временных рядов могут следовать разным трендам и включать разные уровни сезонности. Традиционные модели прогнозирования временных рядов, основанные на статистических подходах, работают по-разному в зависимости от трендов и закономерностей сезонности данных. Модели, основанные на глубоком обучении, обладают высокой способностью к обучению и могут давать результаты в различных временных рядах при условии наличия достаточного количества обучающих данных.
Этот инструмент обучает модели прогнозирования временных рядов с использованием различных моделей на основе глубокого обучения, таких как полностью соединенная сеть (FCN), долговременная краткосрочная память (LSTM), InceptionTime, ResNet и ResCNN. Эти модели поддерживают многомерные временные ряды, в которых модель учится более чем на одной переменной, зависящей от времени, для прогнозирования будущих значений. Обученная модель сохраняется как файл пакета глубокого обучения (.dlpk) и может быть использована для прогнозирования будущих значения с помощью инструмента Прогнозирование с использованием модели временных рядов.
Подробнее о том, как работают Модели прогнозирования временных рядов
Использование
Вы должны установить соответствующую среду глубокого обучения для Python в ArcGIS Pro.
Этот инструмент поддерживает данные netCDF, созданные инструментами Создать куб пространство-время по агрегации точек, Создать куб пространство-время из указанных местоположений, Создать куб пространство-время из многомерного растрового слоя и Поднабор куба пространство-время.
По сравнению с другими инструментами прогнозирования в в группе Прогнозирование временных рядов, этот инструмент использует модели прогнозирования временных рядов на основе глубокого обучения. Модели глубокого обучения обладают высокой способностью к обучению и подходят для временных рядов, которые следуют сложным тенденциям и которые трудно моделировать с помощью простых математических функций. Однако им требуется больший объем данных для обучения, чтобы выявить такие сложные тенденции, также они используют большой объем вычислительных ресурсов для обучения и логического вывода. Для использования этого инструмента рекомендуется GPU.
-
Чтобы запустить этот инструмент с помощью графического процессора, установите для параметра Тип процессора значение GPU. Если у вас более одного графического процессора, вместо этого задайте параметр среды GPU ID.
Этот инструмент можно использовать для моделирования как одномерных, так и многомерных временных рядов. Если в кубе пространство-время есть другие переменные, связанные с прогнозируемой переменной, их можно включить в качестве независимых переменных для улучшения прогноза.
Прогнозирование одномерных временных рядов оценивается только одношаговым методом, который также является методом по умолчанию.
Прогнозирование многомерных временных рядов может быть использовано с применением двух различных подходов - одношагового и многошагового прогнозирования. Параметр Многошаговый становится активным, когда выбрано несколько независимых обучающих переменных.
При использовании одношагового метода модель может обновляться новыми данными на каждом временном шаге, что делает ее пригодной для применения в реальном времени. Однако, поскольку модель обновляется на каждом временном шаге, ошибки в прогнозах могут накапливаться с течением времени, что приводит к снижению точности долгосрочных прогнозов. При использовании многошагового прогнозирования модель предсказывает несколько точек будущих данных за пределами текущего временного шага. Например, если целью является прогноз на следующие 20 временных шагов, то модель будет генерировать сразу 20 последовательных прогнозов. Многошаговое прогнозирование позволяет модели рассматривать более широкий временной ряд, более эффективно улавливая долгосрочные тенденции и закономерности. Поскольку модель прогнозирует на несколько временных шагов вперед, вероятность накопления ошибок снижается, что приводит к более точным долгосрочным прогнозам. Однако, поскольку модель прогнозирует сразу несколько этапов, она может оказаться не столь гибкой, чтобы адаптироваться к изменениям в данных в реальном времени. Выбор между этими двумя подходами зависит от конкретных требований и характеристик задачи прогнозирования временных рядов.
Параметр Длина последовательности влияет на результат модели прогнозирования временных рядов и может быть определен как количество прошлых временных шагов, используемых в качестве исходных данных для прогнозирования следующего временного шага. Если длина последовательности равна n, то для прогнозирования следующего временного шага модель будет использовать в качестве входных данных последние n временных шагов. Значение параметра не может быть больше, чем общее количество входных временных рядов, оставшихся после исключения временных рядов проверки.
Вместо того, чтобы строить независимую модель прогноза в каждом местоположении куба пространство-время, этот инструмент обучает единую глобальную модель прогноза, которая использует обучающие данные из каждого местоположения. Эта глобальная модель будет использоваться для прогнозирования будущих значений в каждом местоположении с помощью инструмента Прогнозирование с использованием модели временных рядов.
Значения параметра Выходные объекты будут добавлены на панель Содержание с отображением, основанным на конечном прогнозируемом временном шаге.
Среди примеров использования данного инструмента можно назвать обучение модели прогнозирования спроса на товары розничной торговли на основе исторических данных о продажах, обучение модели прогнозирования распространения заболеваний или обучение модели прогнозирования выработки энергии ветра на основе исторических данных о производстве и погоде.
Важным моментом является принятие решения о том, сколько временных шагов следует исключить при проверке. Чем больше временных рядов будет исключено, тем меньше временных рядов будет для оценки RMSE проверки. Если исключить слишком мало временных рядов, среднеквадратическая ошибка проверки будет оцениваться с использованием небольшого количества данных и может вводить в заблуждение. Исключите как можно больше временных рядов, сохраняя при этом достаточное количество временных рядов для оценки RMSE проверки. Отложите для проверки как минимум столько временных рядов, сколько вы собираетесь прогнозировать, если в кубе пространство-время достаточно временных рядов для этого.
Информацию о требованиях к запуску этого инструмента и проблемах, с которыми вы можете столкнуться, см. в разделе Часто задаваемые вопросы по глубокому обучению.
Параметры
arcpy.geoai.TrainTimeSeriesForecastingModel(in_cube, out_model, analysis_variable, sequence_length, {explanatory_variables}, {max_epochs}, {validation_timesteps}, {model_type}, {batch_size}, {arguments}, {early_stopping}, {out_features}, {out_cube}, {multistep})
Имя | Описание | Тип данных |
in_cube | Куб netCDF, содержащий переменную, которая будет использоваться, чтобы спрогнозировать будущие временные ряды. Файл должен быть с расширением .nc, и должен быть создан инструментами Создать куб пространство-время по агрегации точек, Создать куб пространство-время из указанных местоположений или Создать куб пространство-время из многомерного растрового слоя. | File |
out_model | Расположение выходной папки, в которой будет храниться обученная модель. Обученная модель будет сохранена как файл пакета глубокого обучения (.dlpk). | Folder |
analysis_variable | Числовая переменная в наборе данных, которая будет прогнозироваться на будущие временные шаги. | String |
sequence_length | Количество предыдущих временных шагов, которые будут использованы при обучении модели. Если данные содержат сезонность (повторяющиеся циклы), укажите продолжительность, соответствующую одному сезону.
| Long |
explanatory_variables [explanatory_variables,...] (Дополнительный) | Независимые переменные от данных, которые будут использоваться для обучения модели. Используйте значение True после любых переменных, которые представляют классы или категории. | Value Table |
max_epochs (Дополнительный) | Максимальное количество периодов времени, для которых будет обучаться модель. Значение по умолчанию равно 20. | Long |
validation_timesteps (Дополнительный) | Количество временных рядов, которые будут исключены для проверки. Например, если указано значение 14, в качестве данных проверки будут использоваться последние 14 строк во фрейме данных. По умолчанию это 10 процентов общих временных шагов. В идеале он должен составлять не менее 5 процентов от общего числа шагов во входном временном кубе.
| Long |
model_type (Дополнительный) | Определяет архитектуру модели, которая будет использоваться для обучения модели.
| String |
batch_size (Дополнительный) | Количество выборок, которые будут обрабатываться за один раз. Значение по умолчанию - 64. В зависимости от графического процессора компьютера это число может быть изменено на 8, 16, 32, 64 и так далее. | Long |
arguments [arguments,...] (Дополнительный) | Дополнительные аргументы модели, которые будут использоваться для каждой модели. Эти аргументы можно использовать для настройки сложности и размера модели. См. Как работают модели прогнозирования временных рядов, чтобы понять архитектуру модели, поддерживаемые аргументы модели и их значения по умолчанию. | Value Table |
early_stopping (Дополнительный) | Указывает, остановится ли обучение модели, если потеря проверки не зарегистрирует улучшение после пяти последовательных эпох.
| Boolean |
out_features (Дополнительный) | Выходной класс объектов, содержащий все местоположения куба пространства-времени с прогнозируемыми значениями, хранящимися в виде полей. Класс объектов будет создан с использованием прогноза обученной модели в наборе данных проверки. Выходные данные отображают прогноз для последнего временного ряда и содержат всплывающие диаграммы, показывающие прогноз временных рядов в наборе проверки. | Feature Class |
out_cube (Дополнительный) | Выходной пространственно-временной куб (файл .nc), содержащий значения входного пространственно-временного куба с замененными прогнозными значениями для соответствующих временных шагов проверки. | File |
multistep (Дополнительный) | Определяет, будет ли использоваться одношаговый или многошаговый подход для обучения многомерной модели прогнозирования временных рядов.
| Boolean |
Пример кода
Это пример использования функции TrainTimeSeriesForecastingModel.
# Name: TrainTimeSeriesForecastingModel.py
# Description: Train a time series model on space-time cube data with
# different AI models.
# Import system modules
import arcpy
import os
# Set local variables
datapath = "path_to_data_for_forecasting"
out_path = "path_to_gdb_for_forecasting"
model_path = os.path.join(out_path, "model")
in_cube = os.path.join(datapath, "test_data")
out_features = os.path.join(out_path, "forecasted_feature.gdb", "forecasted")
# Run TrainTimeSeriesForecastingModel
arcpy.geoai.TrainTimeSeriesForecastingModel(
in_cube,
model_path,
"CONSUMPTION",
12,
None,
20,
2,
"InceptionTime",
64,
None,
True,
out_features
)
Параметры среды
Информация о лицензиях
- Basic: Нет
- Standard: Нет
- Advanced: Да