当前位置 : 主页 > 编程语言 > python >

【LSTM预测】基于双向长短时记忆BiLSTM(多输入单输出)数据预测含Matlab源码

来源:互联网 收集:自由互联 发布时间:2022-06-18
1 简介 针对长短期记忆循环神经网络在对时间序列进行学习时存在早期特征记忆效果差,难以充分挖掘整个网络流量特征等问题,提出一种基于双向长短期记忆循环神经网络的网络流量预

1 简介

针对长短期记忆循环神经网络在对时间序列进行学习时存在早期特征记忆效果差,难以充分挖掘整个网络流量特征等问题,提出一种基于双向长短期记忆循环神经网络的网络流量预测方法,以提高网络流量预测的准确性.对网络流量序列进行双向学习,避免单向学习导致较早学习部分特征提取和记忆效果差的问题.同时双向学习可以充分挖掘网络流量天与天之间双向的特征,完整地学习到网络流量的整体特征.仿真实验结果表明,改进后的方法相比原方法具有更好的预测效果.

2 部分代码

%环境准备
%清理工作区间及命令窗口
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','仿宋')
%-------------------------------------------------------------------------------------

3 仿真结果

【LSTM预测】基于双向长短时记忆BiLSTM(多输入单输出)数据预测含Matlab源码_循环神经网络

【LSTM预测】基于双向长短时记忆BiLSTM(多输入单输出)数据预测含Matlab源码_测试数据_02

4 参考文献

[1]杜秀丽, 范志宇, 吕亚娜,等. 基于双向长短期记忆循环神经网络的网络流量预测[J]. 计算机应用与软件, 2022, 39(2):7.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

【LSTM预测】基于双向长短时记忆BiLSTM(多输入单输出)数据预测含Matlab源码_matlab代码_03




网友评论