Entrene una red neuronal autorregresiva no lineal con extrada externa (NARX) y prediga con datos nuevos de series de tiempo. La predicción de una secuencia de valores en una serie de tiempo también se conoce como predicción de pasos múltiples. Las redes de lazo cerrado pueden realizar predicciones de pasos múltiples. Cuando falta retroalimentación externa, las redes de lazo cerrado pueden seguir prediciendo mediante retroalimentación interna. En la predicción NARX, los valores futuros de una serie de tiempo se predicen a partir de valores anteriores de esa serie, la entrada de retroalimentación y una serie de tiempo externa.
Cargue los datos de predicción de la serie de tiempo sencilla.
Divida los datos en datos de entrenamiento XTrain
y TTrain
, y en datos para la predicción XPredict
. Utilice XPredict
para realizar la predicción después de crear la red de lazo cerrado.
Cree una red NARX. Defina los retardos de entrada, los retardos de retroalimentación y el tamaño de las capas ocultas.
Prepare los datos de series de tiempo utilizando preparets
. Esta función desplaza automáticamente las series de tiempo de entrada y objetivo en el número de pasos necesarios para llenar los estados de entrada y retardo de capa iniciales.
La práctica recomendada es crear completamente la red en un lazo abierto y, después, transformar la red en un lazo cerrado para la predicción de pasos múltiples. Después, la red de lazo cerrado puede predecir tantos valores futuros como desee. Si simula la red neuronal solo en el modo de lazo cerrado, la red puede realizar tantas predicciones como unidades de tiempo hay en la serie de entrada.
Entrene la red NARX. La función train
entrena la red en un lazo abierto (arquitectura paralela de serie), incluidos los pasos de validación y prueba.
Muestre la red entrenada.
Calcule la salida de red Y
, los estados de entrada finales Xf
y los estados de capa finales Af
de la red de lazo abierto a partir de la entrada de red Xs
, los estados de entrada iniciales Xi
y los estados de capa iniciales Ai
.
Calcule el rendimiento de la red.
Para predecir la salida para las 20 unidades de tiempo siguientes, simule primero la red en el modo de lazo cerrado. Los estados de entrada Xf
y los estados de capa Af
finales de la red de lazo abierto se convierten en los estados de entrada Xic
y los estados de capa Aic
iniciales de la red de lazo cerrado netc
.
Muestre la red de lazo cerrado.
Ejecute la predicción para las siguientes 20 unidades de tiempo en el modo de lazo cerrado.
Yc=1×20 cell array
{[-0.0156]} {[0.1133]} {[-0.1472]} {[-0.0706]} {[0.0355]} {[-0.2829]} {[0.2047]} {[-0.3809]} {[-0.2836]} {[0.1886]} {[-0.1813]} {[0.1373]} {[0.2189]} {[0.3122]} {[0.2346]} {[-0.0156]} {[0.0724]} {[0.3395]} {[0.1940]} {[0.0757]}