Обучите нелинейное авторегрессивное с внешним входом (NARX) нейронная сеть и предскажите на новых данных временных рядов. Предсказание последовательности значений во временных рядах также известно как многоступенчатое предсказание. Сети с обратной связью могут выполнить многоступенчатые предсказания. Когда внешняя обратная связь отсутствует, сети с обратной связью могут продолжить предсказывать при помощи внутренней обратной связи. В предсказании NARX будущие значения временных рядов предсказаны от прошлых значений того ряда, входа обратной связи и ряда внешнего времени.
Загрузите простые данные о предсказании временных рядов.
Разделите данные в обучающие данные XTrain
и TTrain
, и данные для предсказания XPredict
. Используйте XPredict
выполнять предсказание после того, как вы создаете сеть с обратной связью.
Создайте сеть NARX. Задайте входные задержки, задержки обратной связи и размер скрытых слоев.
Подготовьте данные временных рядов с помощью preparets
. Эта функция автоматически переключает вход, и целевые временные ряды количеством шагов должны были заполнить начальный вход и состояния задержки слоя.
Методические рекомендации должны полностью создать сеть в разомкнутом контуре, и затем преобразовать сеть к замкнутому циклу для многоступенчатого вперед предсказания. Затем сеть с обратной связью может предсказать столько будущих значений, сколько вы хотите. Если вы симулируете нейронную сеть в режиме с обратной связью только, сеть может выполнить столько же предсказаний сколько количество временных шагов во входном ряду.
Обучите сеть NARX. 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]}