Обучение модели прогнозирования временных рядов (GeoAI)

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

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

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

Этот инструмент обучает модели прогнозирования временных рядов с использованием различных моделей на основе глубокого обучения, таких как полностью соединенная сеть (FCN), долговременная краткосрочная память (LSTM), InceptionTime, ResNet и ResCNN. Эти модели поддерживают многомерные временные ряды, в которых модель учится более чем на одной переменной, зависящей от времени, для прогнозирования будущих значений. Обученная модель сохраняется как файл пакета глубокого обучения (.dlpk) и может быть использована для прогнозирования будущих значения с помощью инструмента Прогнозирование с использованием модели временных рядов.

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

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

  • Вы должны установить соответствующую среду глубокого обучения для Python в ArcGIS Pro.

    Узнайте, как установить среду глубокого обучения для ArcGIS

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

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

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

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

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

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

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

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

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

Параметры

ПодписьОписаниеТип данных
Входные данные временного ряда

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

File
Выходная модель

Расположение выходной папки, в которой будет храниться обученная модель. Обученная модель будет сохранена как файл пакета глубокого обучения (.dlpk).

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

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

String
Длина последовательности

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

Long
Независимые переменные обучения
(Дополнительный)

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

Value Table
Максимальное число периодов времени
(Дополнительный)

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

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

Количество временных рядов, которые будут исключены для проверки. Если указано значение 14, в качестве данных проверки будут использоваться последние 14 строк во фрейме данных. Это значение не может превышать 25 процентов от количества входных временных рядов. Значение по умолчанию равно 2.

Long
Тип модели
(Дополнительный)

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

  • InceptionTime
  • ResNet
  • ResCNN
  • FCN
  • LSTM

Тип модели по умолчанию - InceptionTime.

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

String
Размер пакета
(Дополнительный)

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

В зависимости от графического процессора компьютера это число может быть изменено на 8, 16, 32, 64 и так далее.

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

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

Value Table
Остановка обучения, если модель более не улучшается.
(Дополнительный)

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

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

  • Не отмечено - обучение модели будет продолжено, пока не будет достигнуто максимально возможное число эпох.

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

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

Feature Class

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})
ИмяОписаниеТип данных
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 строк во фрейме данных. Это значение не может превышать 25 процентов от количества входных временных рядов. Значение по умолчанию равно 2.

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

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

  • InceptionTime
  • ResNet
  • ResCNN
  • FCN
  • LSTM

Тип модели по умолчанию - InceptionTime.

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

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

В зависимости от графического процессора компьютера это число может быть изменено на 8, 16, 32, 64 и так далее.

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

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

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

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

  • TRUEОбучение модели остановится, если потеря проверки не зарегистрирует улучшение после пяти последовательных эпох. Это значение по умолчанию
  • FALSEОбучение модели будет продолжено, пока не будет достигнуто максимально возможное число эпох.
Boolean
out_features
(Дополнительный)

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

Feature Class

Пример кода

TrainTimeSeriesForecastingModel (автономный скрипт)

Это пример использования функции 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: Да

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