针对长短期记忆循环神经网络在对时间序列进行学习时存在早期特征记忆效果差,难以充分挖掘整个网络流量特征等问题,提出一种基于双向长短期记忆循环神经网络的网络流量预测方法,以提高网络流量预测的准确性.对网络流量序列进行双向学习,避免单向学习导致较早学习部分特征提取和记忆效果差的问题.同时双向学习可以充分挖掘网络流量天与天之间双向的特征,完整地学习到网络流量的整体特征.仿真实验结果表明,改进后的方法相比原方法具有更好的预测效果.
%环境准备
%清理工作区间及命令窗口
clc;clear;
warning off;
%导入数据
data=xlsread('data');
error=error_test';
pererror=pererror_test';
avererror=sum(abs(error))/(ntest);
averpererror=sum(abs(pererror))/(ntest);
RMSE = sqrt(mean((error).^2));
disp('BiLSTM网络预测绝对平均误差MAE');
disp(avererror);
disp('BiLSTM网络预测平均绝对误差百分比MAPE');
disp(averpererror)
disp('BiLSTM网络预测均方根误差RMSE')
disp(RMSE)
% 数据可视化分析
%测试数据
figure()
plot(BiLSTMoutput_test,'r-.')
hold on
plot(output_test,'k--')
legend( '预测测试数据','实际分析数据','Location','NorthWest','FontName','仿宋');
title('BiLSTM网络模型结果及真实值','fontsize',15,'FontName','仿宋')
xlabel('样本','fontsize',10,'FontName','仿宋');
ylabel('数值','fontsize',10,'FontName','仿宋');
%-------------------------------------------------------------------------------------
figure()
stairs(pererror_test,'-.','Color',[255 50 0]./255,'linewidth',1)
legend('BiLSTM网络测试相对误差','Location','NorthEast','FontName','仿宋')
title('BiLSTM网络预测相对误差','fontsize',10,'FontName','仿宋')
ylabel('误差','fontsize',10,'FontName','仿宋')
xlabel('样本','fontsize',10,'FontName','仿宋')
%-------------------------------------------------------------------------------------
[1]杜秀丽, 范志宇, 吕亚娜,等. 基于双向长短期记忆循环神经网络的网络流量预测[J]. 计算机应用与软件, 2022, 39(2):7.
部分理论引用网络文献,若有侵权联系博主删除。