Обучите нелинейный авторегрессив с внешней входной (NARX) нейронной сетью и предсказайте на новых данных временных рядов. Предсказание последовательности значений во временных рядах также известно как многоступенчатое предсказание. Сети с обратной связью могут выполнять многоступенчатые предсказания. Когда внешняя обратная связь отсутствует, сети с обратной связью могут продолжать прогнозировать с помощью внутренней обратной связи. В предсказании NARX будущие значения временного ряда предсказываются из прошлых значений этого ряда, входов обратной связи и внешних временных рядов.
Загрузите простые данные предсказания временных рядов.
Разделите данные на обучающие данные XTrain
и TTrain
, и данные для предсказания XPredict
. Использование XPredict
для выполнения предсказания после создания сети с обратной связью.
Создайте сеть NARX. Задайте входы, задержки обратной связи и размер скрытых слоев.
Подготовьте данные временных рядов с помощью preparets
. Эта функция автоматически смещает входной и целевой временные ряды на количество шагов, необходимых для заполнения начальных состояний входа и задержки слоя.
Рекомендуемая практика состоит в том, чтобы полностью создать сеть в разомкнутый контур, а затем преобразовать сеть в замкнутый цикл для многостадийных предсказаний. Затем сеть с обратной связью может предсказать столько будущих значений, сколько вы хотите. Если вы симулируете нейронную сеть только в режиме с обратной связью, сеть может выполнить столько предсказаний, сколько временных шагов в вход серии.
Обучите сеть NARX. The train
функция обучает сеть в разомкнутом контуре (последовательно-параллельной архитектуре), включая шаги валидации и тестирования.
Отображение обученной сети.
Вычислите выходной параметр сети Y
, конечные входные состояния Xf
и конечные состояния слоя Af
разомкнутые контуры от входного сигнала сети Xs
, начальные входные состояния Xi
, и начальные состояния слоя Ai
.
Вычислите эффективность сети.
Чтобы предсказать выход для следующих 20 временных шагов, сначала симулируйте сеть в режиме с обратной связью. Конечные входные состояния Xf
и состояния слоев Af
сети без разомкнутого контура становятся начальными входными состояниями Xic
и состояния слоев Aic
сети с обратной связью netc
.
Отображение сети с обратной связью.
Запустите предсказание на 20 временных шагов вперед в режиме с обратной связью.
Yc =
1x20 cell array
Columns 1 through 5
{[-0.0156]} {[0.1133]} {[-0.1472]} {[-0.0706]} {[0.0355]}
Columns 6 through 10
{[-0.2829]} {[0.2047]} {[-0.3809]} {[-0.2836]} {[0.1886]}
Columns 11 through 15
{[-0.1813]} {[0.1373]} {[0.2189]} {[0.3122]} {[0.2346]}
Columns 16 through 20
{[-0.0156]} {[0.0724]} {[0.3395]} {[0.1940]} {[0.0757]}