Pronóstico de series de tiempo | MATLAB implementa el pronóstico de series de tiempo de red neuronal de memoria convolucional a largo plazo a largo plazo CNN-LSTM (pronóstico de energía eólica)

Pronóstico de series de tiempo | MATLAB implementa el pronóstico de series de tiempo de red neuronal de memoria convolucional a largo plazo a largo plazo CNN-LSTM (pronóstico de energía eólica)

efecto predictivo

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

introducción básica

1. MATLAB implementa la predicción de series de tiempo de redes neuronales de memoria a corto plazo convolucional a largo plazo CNN-LSTM (predicción de energía eólica); 2. El
entorno operativo es Matlab2021b;
3. Predicción de series de tiempo de una sola variable;
4. Los datos son un conjunto de datos. una sola variable de datos de Excel, MainCNN_LSTMTS.m es el programa principal, simplemente ejecútelo y coloque todos los archivos en una carpeta
5. La ventana de comando genera evaluaciones de múltiples índices de R2, MSE, RMSE, MAE y MAPE;

programación

  • Código fuente completo y método de adquisición de datos: los blogueros de cartas privadas responden a MATLAB para implementar la predicción de series de tiempo de la red neuronal de memoria a corto plazo convolucional CNN-LSTM (predicción de energía eólica) ;
%% 预测
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?pm=1001.2014.3001.5501
[2] https://blog.csdn.net/kjm131823453320/details = 1001.2014 .3001.5501

Supongo que te gusta

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