Predicción de regresión | MATLAB implementa la predicción de regresión de salida única de entrada múltiple de unidad recurrente bidireccional de convolución de tiempo TCN-BiGRU

Predicción de regresión | MATLAB implementa la predicción de regresión de salida única de entrada múltiple de unidad recurrente bidireccional de convolución de tiempo TCN-BiGRU

efecto predictivo

1
2

3

4
5
![67

introducción básica

1. MATLAB implementa la predicción de regresión de una sola salida y entrada múltiple de la unidad recurrente bidireccional de convolución temporal TCN-BiGRU; 2.
El entorno operativo es Matlab2021b;
3. Ingresa múltiples características, genera una sola variable y predicción de regresión multivariante; 4. Los datos
son un conjunto de datos, datos de Excel, las primeras 7 columnas son de entrada y la última columna es de salida. MainTCN_BiGRUNN. Evaluación; El modelo TCN extrae los datos pasados ​​a través de uno convolución causal bidimensional para garantizar la sincronización, la conexión residual acelera la velocidad de convergencia y la convolución dilatada realiza la extracción de características de
sincronización
. Como una variante de la red neuronal cíclica, el modelo BiGRU tiene capacidades de ajuste no lineal, puede extraer características de datos de manera efectiva y logra una velocidad de convergencia más rápida al tiempo que garantiza resultados de predicción similares a LSTM. En este documento, los dos se combinan para construir el modelo TCN-BiGRU.

Descripcion del modelo

Dado que TCN tiene una estructura de convolución causal expandida y tiene capacidades sobresalientes de extracción de características, las características originales se pueden fusionar para obtener características abstractas de alta dimensión, lo que fortalece la extracción de información de características. La red BiGRU
tiene una poderosa capacidad de predicción de tiempo. Combinando el TCN y la red BiGRU, la extracción de características TCN se ingresa a la red BiGRU, lo que mejora la eficiencia de procesamiento de la unidad de memoria de la red BiGRU y permite que el modelo de predicción aprenda la compleja relación interactiva de la serie temporal de manera más efectiva
. Por lo tanto, este artículo construye un modelo de predicción TCN-BiGRU.

TCN-BiGRU es un modelo de red neuronal que combina la red neuronal convolucional temporal (TCN) y la unidad recurrente cerrada bidireccional (BiGRU). TCN es una red neuronal convolucional capaz de procesar datos de secuencias, que pueden capturar dependencias a largo plazo en secuencias. BiGRU es una red neuronal recurrente con unidades de memoria que pueden manejar dependencias tanto a corto como a largo plazo en datos de secuencia.
La entrada del modelo TCN-BiGRU puede ser múltiples secuencias, y cada secuencia puede ser una característica o variable diferente. Por ejemplo, si queremos predecir la temperatura promedio de una determinada ciudad para la próxima semana, podemos usar múltiples variables como la temperatura, la humedad, la presión del aire, etc. en el último período de tiempo como secuencia de entrada. La salida del modelo es un valor, la temperatura promedio en algún momento en el futuro.
En TCN-BiGRU, las capas convolucionales temporales se usan para capturar dependencias a largo plazo en secuencias, y las capas BiGRU se usan para manejar dependencias a corto y largo plazo en secuencias. Varias secuencias de entrada se fusionan en un tensor, que luego se alimenta a la red TCN-BiGRU para el entrenamiento. Durante el entrenamiento, el objetivo de optimización del modelo es minimizar la brecha entre el resultado previsto y el valor real.
El modelo TCN-BiGRU funciona bien en problemas de regresión y pronóstico de series de tiempo, especialmente para datos de secuencias dependientes a largo plazo. Se puede utilizar en muchos escenarios de aplicación, como la predicción del precio de las acciones, la predicción del flujo de tráfico, etc.

programación

  • Código fuente completo y método de adquisición de datos 1: los bloggers de cartas privadas responden a la predicción de regresión de salida única de entrada única de unidad recurrente bidireccional de convolución de tiempo TCN-BiGRU ;
  • Complete el programa y el método de descarga de datos 2 (suscríbase a la columna "Optimización de combinación" y, al mismo tiempo, obtenga 8 programas incluidos en la columna "Optimización de combinación", y envíeme un mensaje privado para obtener los datos después de la suscripción): Implementación de MATLAB Implementación de MATLAB de TCN-GRU Predicción de regresión de salida única de entrada única de unidad recurrente controlada por convolución de tiempo, solo este programa se puede obtener fuera de la columna .
%% 预测
t_sim1 = predict(net, p_train); 
t_sim2 = predict(net, p_test ); 

%%  数据反归一化
T_sim1 = mapminmax('reverse', t_sim1, ps_output);
T_sim2 = mapminmax('reverse', t_sim2, ps_output);

%%  均方根误差
error1 = sqrt(sum((T_sim1' - T_train).^2) ./ M);
error2 = sqrt(sum((T_sim2' - T_test ).^2) ./ N);


%%  相关指标计算

%  MAE
mae1 = sum(abs(T_sim1' - T_train)) ./ M ;
mae2 = sum(abs(T_sim2' - T_test )) ./ N ;

disp(['训练集数据的MAE为:', num2str(mae1)])
disp(['测试集数据的MAE为:', num2str(mae2)])

%% 平均绝对百分比误差MAPE
MAPE1 = mean(abs((T_train - T_sim1')./T_train));
MAPE2 = mean(abs((T_test - T_sim2')./T_test));

disp(['训练集数据的MAPE为:', num2str(MAPE1)])
disp(['测试集数据的MAPE为:', num2str(MAPE2)])

%  MBE
mbe1 = sum(abs(T_sim1' - T_train)) ./ M ;
mbe2 = sum(abs(T_sim1' - T_train)) ./ N ;

disp(['训练集数据的MBE为:', num2str(mbe1)])
disp(['测试集数据的MBE为:', num2str(mbe2)])

%均方误差 MSE
mse1 = sum((T_sim1' - T_train).^2)./M;
mse2 = sum((T_sim2' - T_test).^2)./N;

disp(['训练集数据的MSE为:', num2str(mse1)])
disp(['测试集数据的MSE为:', num2str(mse2)])

Referencias

[1]https://blog.csdn.net/kjm13182345320/article/details/128577926?spm=1001.2014.3001.5501
.3001.5501

Supongo que te gusta

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