最近一直在做一个关于用BP神经网络预测网络流量的仿真实验,数据来源比较准确,都是实测出来的数值,在完成编程之后,运行的效果非常的不满意,基本上预测值和真实值相差太大 。有图为证:

我查阅过相关资料,BP在预测这块的效果是比较好的,但是预测出来的效果的确是不尽人意。算法设想的是利用前五天每天每小时的网络流量,来预测第六天每小时的流量,即24小时流量,最近,自己也在不停的查阅相关资料,估计是实验中的样本组合出现问题,根据资料上的说明,是说利用滚动式法来进行预测,即第一天到第五天预测第六天,第二天到第六天预测第七天,但是这样的意思,反映到算法上到底是如何表示呢,而我自己的表示就是:输入值p(:,1)+p(:,2)+p(:,3)+p(:,4)+p(:,5),目标值为p(:,6),P是连续15天每天每小时的流量数值的数组,共15行24列,不知道是不是我的输入值的组合出了问题,导致预测的结果误差如此之大,想请教各位高手们,来帮我看看这个问题,我不胜感激!

114147lb8zs24pm6e6bcp2.jpg (230.74 KB, 下载次数: 12)

2013-12-13 01:15 上传

那我现在吧程序完整的贴出来,请各位高手们帮我指正哈,主要就是样本训练那块,我的本意是希望利用前三天的流量来预测第四天的流量,但是预测的结果,不太理想,谢谢你们啦哈~p=[1365 1779 1499 1343 1699 1305 1481 1000 1496 6690 2963 5919  3600  4594  4882 5198 3231 7478 6664 4417 4667 3545 3964 4800;

3085 3096  799 1708  732 1586 2798 2220 2565 5164 4868 2949  3219  3556  4251 3380 6494 3182 3043 4707 3805 2095 3107 6746;

3124 2636 1407 1347 1896 1887 2627 3106 2282 3622 4862 2805  2843  2305  1590 2515 3864 2827 4104 2354  488 2144 1380 2274;

1250 3635  774 1623 1279 1269 1299 1516 1730 1630 1779 3128  2989  4037  2027 2731 2165 1972 2168 3139 2795 2544 3084 5177;

4202 2527 2004  896  754 1441 1717 1257 2870 2324 3927 1998  2886  4325  2806 2899 2788 3681 2943 3233 1996 3255 4332 3281;

2504  587 1297  746  641 1061 1588 1697 4502 9879 3435 2961  6507  2343  1806 3593 2746 2974 3275 2755 2817 2582 2868 3161;

2247 2031 1309 1725 1243 1402 1568 1069 2986 9115 4041 1411  2838  5794 11516 4201 1833 3329 1838 3510 1129 1174 1832 1273;

2086 1656 1988 1030 1563  847 1097  737 1750 2384 2094 1715  6860 13602  2927 3130 3174 1432  750 1853 2265 1794 1691 2784;

1754 1457 1543  745 1158 1338 1465  755 5146 2207 4985 3794  3481  3791  2184 4355 3607 4106 2550 2048 2144 2654 1590 3875;

2131 2919 1708 1252 1470 1228 1576 1137 1152 2412 4059 2344 12736  1492  1250 1622  988 1776 1461 1467 1032 1089 1000 2096;

1417 1527 1572 1776 1296 1263 1557 1013 1882 1361 2073 1854  1200  2090  1003 1527 1606 2105 2195 2706 2113 1380 1707 2565;

960 1784 1022  742 1057  946 1432 2653 3702 4395 3073 4737  2301  3136  3013 2240 3781 7096 2002 1545 1273 1651 1490 11066;

1043 1496 1203 1592 1157 1490 1320 1224 1692 2201 7071 2600  1746  1785  1413 4907 1618 2153 1804 1353  899 1031  820  487;

1279  940 1070 1139 1239 1150 1147  885 1044 1567 3372 4040  5060  1331  2749 1102 1685 6137 4984 6685 3870 4169 5370 6596;

6343 2527 2945 2578 1303 1576 2036 5365 24355 13025 6308 6200 5936 6747 5206 10394 5939 10414 6479 5385 3025 2126 4698 7238;

2208 3857 1224 1404 1361  962 1654 3103 2104 3201 2888 2760  2355  2170  1950 2496 1045 1923 2389 1427 1461  864 1163 1854;

2120 1744 1547 1547 1298 1046 1709 2185 1640 7986 2198 1742  1921  1155  2621 1050 1219 1208 2313 1851  811 1860 2395 4946;

2812 2064 1405 1054  718  886  725 1568 14499 7806 4884 5974  8107  5598  2184 2592 2781 2311 2391 1888 2384 5279 3933 2200;]';

p=p./1024;

t=[1250 3635  774 1623 1279 1269 1299 1516 1730 1630 1779 3128  2989  4037  2027 2731 2165 1972 2168 3139 2795 2544 3084 5177;

4202 2527 2004  896  754 1441 1717 1257 2870 2324 3927 1998  2886  4325  2806 2899 2788 3681 2943 3233 1996 3255 4332 3281;

2504  587 1297  746  641 1061 1588 1697 4502 9879 3435 2961  6507  2343  1806 3593 2746 2974 3275 2755 2817 2582 2868 3161;

2247 2031 1309 1725 1243 1402 1568 1069 2986 9115 4041 1411  2838  5794 11516 4201 1833 3329 1838 3510 1129 1174 1832 1273;

2086 1656 1988 1030 1563  847 1097  737 1750 2384 2094 1715  6860 13602  2927 3130 3174 1432  750 1853 2265 1794 1691 2784;

1754 1457 1543  745 1158 1338 1465  755 5146 2207 4985 3794  3481  3791  2184 4355 3607 4106 2550 2048 2144 2654 1590 3875;

2131 2919 1708 1252 1470 1228 1576 1137 1152 2412 4059 2344 12736  1492  1250 1622  988 1776 1461 1467 1032 1089 1000 2096;

1417 1527 1572 1776 1296 1263 1557 1013 1882 1361 2073 1854  1200  2090  1003 1527 1606 2105 2195 2706 2113 1380 1707 2565;

960 1784 1022  742 1057  946 1432 2653 3702 4395 3073 4737  2301  3136  3013 2240 3781 7096 2002 1545 1273 1651 1490 11066;

1043 1496 1203 1592 1157 1490 1320 1224 1692 2201 7071 2600  1746  1785  1413 4907 1618 2153 1804 1353  899 1031  820  487;

1279  940 1070 1139 1239 1150 1147  885 1044 1567 3372 4040  5060  1331  2749 1102 1685 6137 4984 6685 3870 4169 5370 6596;

6343 2527 2945 2578 1303 1576 2036 5365 24355 13025 6308 6200 5936 6747 5206 10394 5939 10414 6479 5385 3025 2126 4698 7238;

2208 3857 1224 1404 1361  962 1654 3103 2104 3201 2888 2760  2355  2170  1950 2496 1045 1923 2389 1427 1461  864 1163 1854;

2120 1744 1547 1547 1298 1046 1709 2185 1640 7986 2198 1742  1921  1155  2621 1050 1219 1208 2313 1851  811 1860 2395 4946;

2812 2064 1405 1054  718  886  725 1568 14499 7806 4884 5974  8107  5598  2184 2592 2781 2311 2391 1888 2384 5279 3933 2200;

2911 1228 1411 1315 1061  751 1539 1181 1181 2478 7403 3854  4997  2553  2646 3560 4587 1675 2222 2261 1379  993 1948 3253;]';

t=t./1024;

u=t;

%%%%%%归一到 0 1 之间

for i=1:24

p(i,:)=(p(i,:)-min(p(i,:)))/(max(p(i,:))-min(p(i,:)));

end

for i=1:24

t(i,:)=(t(i,:)-min(t(i,:)))/(max(t(i,:))-min(t(i,:)));

end

threshold=[0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1];

net=newff(threshold,[95,24],{'tansig','purelin'},'traingdx');

net.trainParam.epochs=5000;

%训练次数

net.trainParam.goal=1e-4;

%训练结束的目标

net.trainParam.lr=0.06;

trainParam.lr_inc =1.1;

%这个应该是学习率

net.trainParam.show=50;

P=[p(:,1)+p(:,2)+p(:,3) p(:,2)+p(:,3)+p(:,4) p(:,3)+p(:,4)+p(:,5) p(:,4)+p(:,5)+p(:,6) p(:,5)+p(:,6)+p(:,7) p(:,6)+p(:,7)+p(:,8) p(:,7)+p(:,8)+p(:,9) p(:,8)+p(:,9)+p(:,10) p(:,9)+p(:,10)+p(:,11) p(:,10)+p(:,11)+p(:,12) p(:,11)+p(:,12)+p(:,13) p(:,12)+p(:,13)+p(:,14) p(:,13)+p(:,14)+p(:,15)  p(:,14)+p(:,15)+p(:,16)  p(:,15)+p(:,16)+p(:,17)];

T=[t(:,1) t(:,2) t(:,3) t(:,4) t(:,5) t(:,6) t(:,7) t(:,8) t(:,9) t(:,10) t(:,11) t(:,12) t(:,13) t(:,14) t(:,15)];

%输入样本的输入和目标

net=train(net,P,T);

%训练网络

test=[p(:,16)+p(:,17)+p(:,18)];

out=sim(net,test);%仿真预测,归一化后的实际输出

%反归一化

for i=1:24

predict(i)=out(i)*(max(u(i,:))-min(u(i,:)))+ min(u(i,:));

end

predict=abs(predict)

%绘制预报曲线

y=[u(:,16)];

X=0:23;

figure(1);

plot(X,predict,'r*-',X,y,'bo-');

legend('predicted data','actual data')

xlabel('00:00~23:00(h)');

ylabel('network traffic(M)');

matlab生成网络流量,BP神经网络 预测网络流量相关推荐

  1. 请用matlab写“遗传算法优化bp神经网络预测城市公交系统车站客流量”的代码,数据和参数随便给出...

    我无法提供MATLAB代码,但我可以提供一些建议.首先,您需要准备要用于训练的数据集,包括公交系统的车站客流量数据.其次,您需要设计一个BP神经网络模型,用来根据输入的数据预测车站客流量.最后,您可以 ...

  2. 回归预测 | MATLAB实现DBN-BP深度置信网络结合BP神经网络多输入单输出回归预测

    回归预测 | MATLAB实现DBN-BP深度置信网络结合BP神经网络多输入单输出回归预测 目录 回归预测 | MATLAB实现DBN-BP深度置信网络结合BP神经网络多输入单输出回归预测 预测效果 ...

  3. 汽轮机振动的日平均峰峰值的BP神经网络预测matlab仿真

    目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 BP神经网络是一种具有一个输入层,一个或多个隐含层和一个输出层的多层网络.隐含层和输出层上的每个神经 ...

  4. MATLAB实现BP神经网络预测汽油辛烷值

    MATLAB实现BP神经网络预测汽油辛烷值 今天学习的新内容,在这里记录一下便于日后复习 1.清空变量,做好准备工作 %% I. 清空环境变量 clear all clc 2.导入数据,划分前50个为 ...

  5. 生猪价格matlab,基于时间序列的BP神经网络猪肉价格预测

    科技创新 2m6钎第20期I科技创新与应用 基于时间序列的BP神经网络猪肉价格预测 张津张瑞斌 (成都理工大学管理科学学院,四川成都610059) 摘要:猪肉价格是不稳定的,起伏变化的,猪肉价格的预测 ...

  6. BP神经网络预测回归MATLAB代码(代码完整可直接用,注释详细,可供学习)

    BP神经网络预测回归MATLAB代码(代码完整可直接用,注释详细,可供学习) 一.前言 二.代码部分 2.1 初始化 2.2 读取数据 2.3 设置训练集和测试集 2.4 数据归一化 2.5 求解最佳 ...

  7. 优化算法 | 基于粒子群优化算法的Bp神经网络预测21~22赛季NBA总冠军(附MATLAB代码)

    文章目录 前言 一.数据准备 二.基于PSO的Bp神经网络预测 1.粒子表达方式 2.目标函数 3.粒子速度和位置的更新 三.MATLAB代码 四.预测结果 五.代码获取方式 总结 近期你可能错过了的 ...

  8. bp学习函数matlab代码,小范学数量经济学之四:BP神经网络预测的MATLAB模拟代码

    股票价格预测神器:BP神经网络预测的matlab模拟代码: 自动优选神经元个数: 自动迭代15000次,精度0.001: 代码运行效果图: 原始代码自此处开始: % 本代码由重庆科技学院范巧副教授于2 ...

  9. MATLAB中用BP神经网络预测人体脂肪百分比数据

    原文链接:http://tecdat.cn/?p=22739 这个例子说明了一个函数拟合的神经网络如何根据测量结果来估计脂肪百分比(BFP) (点击文末"阅读原文"获取完整代码数据 ...

  10. matlab 神经网络dpi,基于DPI和BP神经网络的P2P流量识别研究

    研究与开发 现代计算机 2019.04 上 文章编号:1007-1423(2019)10-0031-05 DOI:10.3969/j.issn.1007-1423.2019.10.007 基于 DPI ...

最新文章

  1. c语言第七章函数选择答案,C语言选择题及答案
  2. Java数字反转(编程题)
  3. 基于springboot多模块项目使用maven命令打成war包放到服务器上运行的问题
  4. 【机器视觉学习笔记】Harris 角点检测算法(C++)
  5. 美国华裔科学家谈免疫系统真相!运动,心情胜过一切药品!
  6. QT跨平台项目开发经验(项目打包)
  7. linux查看双机热备运行,linux双机热备,故障切换!!!
  8. python3小游戏源代码_Python入门塔防小游戏,开发步骤和源码,带你轻松学python...
  9. Acronisnbsp;Truenbsp;Image进行…
  10. 腾讯技术分享:GIF动图技术详解及手机QQ动态表情压缩技术实践
  11. 北京新东方全部托福资料
  12. 四分之一波长传输线应用举例
  13. python读取并显示图片
  14. OpenCV项目实战
  15. Python list列表groupby分组用法
  16. 麒麟V10系统安装教程
  17. 弹窗动画PopupWindow
  18. P001【项目一】客户信息管理软件_Customer类(2)
  19. 【STM32 HAL库+STM32CUBEMX】使用usart1打印串口数据
  20. 2023青海大学计算机考研信息汇总

热门文章

  1. 浅谈iOS中的蓝牙技术(二) CoreBluetooth
  2. rebar3 的使用
  3. Android WebView onReceivedTitle 方法不被调用的问题
  4. 用 Lucene 构建文档数据库
  5. POJ-3621 Sightseeing Cows 01分数(参数搜索)规划问题-最优比率环
  6. java的传值和传址问题
  7. vue 中使用axios的总结
  8. 架构实战篇(三)-Spring Boot架构搭建RESTful API案例
  9. C#winform实现下载文件的功能
  10. C# Json、datatable、model互相转换