Series temporales multidimensionales | MATLAB implementa la red neuronal convolucional CNN-BiGRU combinada con la predicción de series temporales multivariadas de unidades recurrentes bidireccionales

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

4
5
6
1
2

3

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

1
2

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

Supongo que te gusta

Origin blog.csdn.net/kjm13182345320/article/details/130722289
Recomendado
Clasificación