✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
及时准确的交通流信息对于智能交通系统的实现至关重要.针对现有预测方法不能充分利用交通流的时空特征,进而不能很好地提取交通流序列内在规律的问题,提出了一种结合卷积神经网络(CNN)和双向长短时记忆网络(BiLSTM)的深度学习预测模型(C-BiLSTM),在网络底层利用一维CNN来捕获观测点交通流数据的空间特征,然后输入到双向LSTM网络提取时间周期特征,最后由全连接层输出预测结果.使用美国交通研究数据实验室的实测交通数据进行验证,结果表明,所提出的C-BiLSTM组合模型具有更高的准确性,其性能相比双向LSTM网络预测模型提升了1.6%,相比单向LSTM网络预测模型提升了6.6%,是一种高精度的交通流预测模型.
⛄ 部分代码
%环境准备
%清理工作区间及命令窗口
clc;clear;
warning off;
%导入数据
data=xlsread('data');
%准备输入和输出训练数据
%BiLSTM数据评价
error_test=BiLSTMoutput_test'-output_test';
pererror_test=error_test./output_test';
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]. 工业仪表与自动化装置, 2020.