Series temporales multidimensionales | MATLAB implementa la red neuronal convolucional CNN-BiGRU combinada con la predicción de series temporales multivariadas de unidades recurrentes bidireccionales
resultado del pronóstico
introducción básica
Serie temporal multidimensional | MATLAB implementa la red neuronal convolucional CNN-BiGRU combinada con la predicción de series temporales multivariadas de unidades recurrentes bidireccionales 1.
Matlab implementa la red neuronal convolucional CNN-BiGRU combinada con la predicción de series temporales multivariadas de unidades recurrentes bidireccionales
2. Entorno operativo Para Matlab2020b;
3. Ingrese múltiples funciones, genere una sola variable, considere la influencia de las funciones históricas, predicción de series de tiempo multivariadas;
4. Los datos son un conjunto de datos, MainCNN_BiGRUNTS.m es el programa principal, simplemente ejecútelo y coloque todos los archivos en un archivo 5.
La ventana de comandos genera una evaluación de múltiples índices R2, MSE, MAE, MAPE y MBE;
Características del modelo
El modelo CNN-BiGRU combina una red neuronal convolucional (CNN) y una unidad recurrente bidireccional (BiGRU), y se utiliza principalmente para pronosticar datos de series temporales multivariadas. Las principales características del modelo se resumen a continuación:
- Modelado de la correlación entre múltiples variables: el modelo CNN-BiGRU puede modelar la correlación entre múltiples variables, mejorando así la precisión y la estabilidad de las predicciones.
- Selección de características adaptativas: el modelo puede seleccionar características importantes de forma adaptativa, lo que reduce el impacto del ruido y la información redundante en los resultados de la predicción.
- Capacidad de modelado de secuencias: las unidades recurrentes controladas bidireccionales pueden aprender dependencias a largo plazo en secuencias, lo que puede capturar mejor los cambios dinámicos en las series temporales.
- Robustez: el modelo CNN-BiGRU puede manejar valores faltantes y atípicos, y los datos de entrada están normalizados y estandarizados, lo que mejora la robustez y la capacidad de generalización del modelo.
- Escalabilidad: el modelo puede ajustar de manera flexible la estructura de la red y los hiperparámetros para adaptarse a diferentes conjuntos de datos y tareas, y puede integrarse y combinarse con otros modelos de aprendizaje profundo para mejorar aún más el efecto de predicción.
Cabe señalar que el modelo CNN-BiGRU también tiene algunas limitaciones y desafíos, como un largo tiempo de entrenamiento, una estructura de modelo compleja, una gran cantidad de datos y recursos informáticos, etc. En aplicaciones prácticas, es necesario optimizar y mejorar el modelo según la situación específica para mejorar el efecto de predicción y la eficiencia.
programación
- El código fuente completo y los datos pueden ser obtenidos por blogueros de mensajes privados.
% 定义CNN层参数
filterSize = [3 3];
numFilters = 32;
poolSize = [2 2];
% 定义BiGRU层参数
numHiddenUnits = 64;
outputMode = 'last';
% 定义全连接层参数
numClasses = 1;
% 定义网络结构
layers = [
sequenceInputLayer(numFeatures)
convolution2dLayer(filterSize, numFilters, 'Padding', 1)
reluLayer
maxPooling2dLayer(poolSize, 'Stride', 2)
sequenceFoldingLayer
gruLayer(numHiddenUnits, 'OutputMode', outputMode, 'Bidirectional', true)
fullyConnectedLayer(numClasses)
regressionLayer];
% 定义训练选项
options = trainingOptions('adam', ...
'MaxEpochs', 20, ...
'MiniBatchSize', 32, ...
'ValidationData', {
XValidation, YValidation}, ...
'ValidationFrequency', 10, ...
'Verbose', false);
% 训练模型
net = trainNetwork(XTrain, YTrain, layers, options);
% 预测结果
YPred = predict(net, XTest);
resumir
El modelo CNN-BiGRU combina una red neuronal convolucional (CNN) y una unidad recurrente bidireccional (BiGRU), y se utiliza principalmente para pronosticar datos de series temporales multivariadas. Las características principales de este modelo son la capacidad de modelar la correlación entre múltiples variables y la capacidad de seleccionar características importantes de forma adaptativa.
Específicamente, el modelo primero usa una red neuronal convolucional para extraer características de datos de series temporales de múltiples variables, y luego ingresa estas características en una unidad recurrente bidireccional para el modelado de secuencias. Las unidades recurrentes controladas bidireccionalmente pueden aprender dependencias a largo plazo en secuencias y pueden seleccionar de forma adaptativa qué características son más útiles para predecir resultados. Finalmente, el modelo usa una capa completamente conectada para procesar la salida y obtener la predicción final.
Para utilizar este modelo para el pronóstico de series temporales multivariadas, es necesario preparar el conjunto de datos correspondiente y entrenar y ajustar los parámetros del modelo. En aplicaciones prácticas, también es necesario optimizar y mejorar el modelo según la situación específica para mejorar el efecto de predicción.
Referencias
[1] https://blog.csdn.net/kjm13182345320/article/details/127515229???pm=1001.2014.3001.5502
[2] https://blog.csdn.net/kjm131823453320/details = 1001.2014 .3001.5502