基于MATLAB的公路货运量预测案例分析报告_第1页
基于MATLAB的公路货运量预测案例分析报告_第2页
基于MATLAB的公路货运量预测案例分析报告_第3页
基于MATLAB的公路货运量预测案例分析报告_第4页
基于MATLAB的公路货运量预测案例分析报告_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于MATLAB的公路货运量预测案例分析报告 作者: 日期:15 个人收集整理 勿做商业用途目录:目录:2摘要21、引言32、常用的基于MATLAB的公路货运量预测模型的简介32.1、一次指数平滑模型32.2灰色Verhulst模型43、BP神经网络组合预测模型53。1BP神经网络组合预测模型背景介绍53。2MATLAB应用于BP神经网络的货运量组合预测模型5321 数据预处理5322 确定网络结构,初始化权重6323 网络训练6324 对训练好的网络进行检验, 判断是否具有良好的泛化功能6325 用训练好的网络进行模拟预测, 得到所要的预测值63。3 运用BP网络建模 应

2、用实例74对于该案例的结论与总结94.1 结论94.2 总结11参考文献12摘要科学准确地预测公路货运量是制定公路网规划的基础.公路货运量的预测方法有很多,可以根据不同的情况选择不同的预测模型.本文涉及了基于MATLAB的多种公路货运量方法,包括BP神经网络组合预测模型、一次指数平滑法公路货运量预测模型、灰色Verhulst模型的公路货运量预测模型,并在此着重介绍BP神经网络建立公路运量组合预测的理论模型,灵活利用神经网络通过自适应自学习能够拟合任意非线性函数的功能,有效克服传统的组合预测方法,在实际应用中把数据间的关系强加给某一类函数的不足,并借助于先进的数学计算软件进行简单的编程大大降低模

3、型的计算难度.实例证明该方法具有很高的预测精度。关键词:MATLAB;公路货运量;组合预测;BP神经网络1、引言运输需求预测是公路网规划、区域发展规划、基础建设投资决策及运输生产组织管理的基础,对交通运输需求的预测分析具有重大的社会意义和经济意义.可见,公路货运量的预测举足轻重,可靠的预测结果是进行规划的前提,决定着整个规划的成功。公路货运量的预测方法有很多,目前,常用的预测方法可分为单项预测方法和组合预测方法,可以根据不同的情况选择不同的预测模型。本文将介绍将包括BP神经网络组合预测模型、一次指数平滑法公路货运量预测模型、灰色Verhulst模型在内的几种公路货运量预测方法,其中着重介绍BP

4、神经网络建立公路运量组合预测的理论模型,并以实例加以解释阐述起基本原理。2、常用的基于MATLAB的公路货运量预测模型的简介由于不同的预测模型的预测机理不同,往往能提供不同的有用信息.单独采用某一种模型往往有其局限性。因此,为了利用各种预测方法所提供的信息,规避单一模型的局限性,从而尽可能地提高预测精度,我们采用组合预测的方法。下面将提供几种常用基于MATLAB的公路货运量预测模型。2.1、一次指数平滑模型一次指数平滑法是对原始时间序列数据进行平滑的一种方法。它适用于市场观测呈水平波动,无明显上升或下降趋势情况下的预测,一次指数平滑模型利用历史数据进行平滑来消除随机因素的影响。这种模型只需要本

5、期的实际值和本期的预测值便可预测下一期的数据,不需要保存大量的历史数据,方法比较简单易行,适用于中短期的交通量预测。 一次指数平滑模型为:式中ft-第t时期的一次指数平滑预测值,nt,2,1=;ty-第t时期的实际观测值,nt,,2,1=;指数平滑系数,(10),一般取0.30。8。 一次指数平滑模型是利用本期实际值和预测值来预测下一期的数据,其精度根据取值的不同而不同,通常用过去几个时期的预测值与实际值的误差分析选用误差较小的进行未来时期的预测。2。2灰色Verhulst模型设有n个原始数据样本序列x(0) = (x(0) (1), x(0) (2),, x(0) (n),对此数列进行一阶累

6、加生成一次累加序列1AGO: x(1) :x(1) = (x(1) (1), x(1) (2),􀀢, x(1) (n)) 。 其 中 : x(1) (1) = x(0) (1) ,,接着求出 x(1) 的紧邻均值生成序列z(1):z (1) = (z (1) (2), z (1) (3),.。, z (1) (n)),其中称公式(2)为灰色Verhulst 模型,a 和b 为参数.称公式(3)为灰色Verhulst 模型的白化方程,t 为时间。计算白化方程的参数列a = a,bT的最小二乘估计值其中:解白化方程可得:对上式计算出来的一次累加序列进行还原,得到各时段的预测值为:

7、x(0) (k +1) = x(1) (k +1) x(1) (k)模型精度检验:设原始序列:x(0) =(x(0) (1),x(0) (2),􀀢,x(0) (n),灰色Verhulst模型预测序列为x(0) =(x(0)(1),x(0)(2),􀀢,x(0)(n))计算残差: (0) (n) = x(0) (n) x(0) (n)计算相对误差:,计算x(0)的均值、方差:,计算 (0) (n)的均值、方差:,计算均方差比值。3、BP神经网络组合预测模型3.1BP神经网络组合预测模型背景介绍BP神经网络组合预测模型是一种组合预测模型,组合预测一般是指将两种或者

8、两种以上的预测方法所得到的预测结果选取适当的权重进行加权平均的预测方法。交通运输是国家重要的基础产业,对国民经济的发展有着举足轻重的作用,同时对区域产业经济结构的发展也有直接的影响.公路运输系统作为交通运输系统的一个子系统,在交通运输系统中的主导作用也日益凸显.近年来,我国交通基础设施和运输装备不断改善,为公路运输市场的快速发展创造了有利条件.在公路运输生产中,公路运输量是反映交通运输业生产成果的重要指标.随着计算机技术和神经网络技术的日趋成熟,许多学者应用神经网络技术对货运量进行预测;一些学者应用神经网络技术和其它预测方法(如灰色理论、二元回归模型、弹性系数法等)建立的公路货运量组合预测模型

9、具有较高的预测精度。研究表明,目前基于BP神经网络的公路运输量预测研究中,以对公路运输运量(客货运量)的预测,尤其对货运量的预测居多。反映公路产量的指标还有客货周转量,它更能综合反映公路运输部门为社会提供运输服务的能力,对公路网规划、建设和管理更具有指导意义。本文应用BP神经网络预测方法,建立福建省公路旅客周转量和货物周转量的预测模型,并对其进行科学预测。3.2MATLAB应用于BP神经网络的货运量组合预测模型MATLAB(MArrrix LABoratory)提供的神经网络T具箱(NNToo1)是其开发的多种T具箱之一,该工具箱提供了很多简单实用的函数,可以大大简化编程的丁作量MATLAB应

10、用于BP神经网络进行货运量组合预测计算,其主要计算步骤如下。321 数据预处理由于神经元的响应函数为Sigmoid函数, 因此输入值(输出值)都在(0,1)之间,必须对样本进行预处理.具体可以采用下式对单项预测值进行预处理: (4)输 值的处理为: (5)据式(5)进行处理之后,即可得到预测值。322 确定网络结构,初始化权重确定网络结构主要是确定隐层的神经元个数。隐层神经元个数太多会降低网络的泛化功能而且会使训练时间加长,降低系统的效率:太少则不能达到所要求的训练误差。一般根据试算确定,也可以参考以下公式:,其中f为隐层神经元个数,n、m分别为输入神经元个数和输出神经元个数.初始化网络的权值

11、和阈值可以采用MATLAB提供的初始化函数newff()建立一个BP神经网络:BTF,BLF,PF、式中,P为输入矩阵;【S1,S2, ,Sn】 表示隐含层和输出层神经元的个数;TF1, , ,TN1表示网络隐含层和输出层的传输函数: 1表示网络的反向训练函数:BLF表示网络的反向权值学习函数; 1表示性能数;net为新生成的BT神经网络.323 网络训练MATLAB提供了许多训练不同神经网络的函数,使得对神经网络的训练变得异常简单,其中,由动量的梯度下降法中附以自适应,r的训练函数为traingdx 函数的结构为:其中,net,P S1,S2, ,5 , l,TF2, ,TNI的意义同上。当

12、网络的训练达到了最大训练次数,或者是网络的误差平方和小于期望最小误差值时,网络就会停止训练。324 对训练好的网络进行检验, 判断是否具有良好的泛化功能把样本输入训练好的网络中,判断输出值是否与已知的样本值相符,如果相符,即说明该网络具有很好的泛化功能,能够应用于预测计算;否则,就要调整网络或者增大训练的样本数,对网络进行再次训练。该过程可以采用MATLAB中的函数sim()来实现.sire的表达式为:A=sire(net,P),其中,4为输出数据,P为输入样本数据,其他参数意义同前。该过程还可以用传递函数分步实现。325 用训练好的网络进行模拟预测, 得到所要的预测值模拟预测的过程和所采用的

13、函数同224节, 所不同的是输入数据P为要预测的输人数据,输出数据A就是所要得到的预测数据。3.3 运用BP网络建模 应用实例     根据调查得知某地区1990年到2011年的人口机动车数量,公路面积以及公路客运量和货运量的数据如下,需要预测2012年和2013年该地区的公路客运量和货运量. 我们可以把该问题分解为六个模块:      原始数据的输入; 数据归一化;  网络训练;  对原始数据进行仿真;  

14、;将原始数据仿真结果与样本进行对比;  对新数据进行仿真。    本文运用MATLAB的BP神经网络的工具箱来编程建立模型来解决。 某地区公路运量数据表年份人口数量/万人机动车数量/万辆公路面积/万平方千米公路客运量/万人公路货运量/万吨199020。510。50.1151231235199120。610.520.1251361248199221。030.590。1551891365199321。350。610。1752141375199422。320.650。1852681391199522.530.690.2153213

15、425199622.780.720.2553785241199723。580。760.2654315613199823.980。820。2854686243199924.120.980.3155116821200024。251.610.3155437531200124.561.920。3555767891200224。682.310。3755988012200324.992.650。3956458645200425。212.980。4256678962200525。463。240。4858219056200626。013。650.4858249786200726。323.850.5158631

16、0025200826。454。110.53592410068200927.254.250.56598511230201027。574.360.58603513450201128。584。780。59607513961201228。734。950.62201328.855。120。67本文运用MATLAB的BP神经网络的工具箱来编程建立模型来解决,代码如下clcclearsqrs=20.51 20.61 21.03 21。35 22。32 22.53 22。78 23。58 23。98 24。12 24.25 24.56 24。68 24。99 25.21 25。46 26。01 26。32 2

17、6。45 27。25 27.57 28.58;人数(单位:万人)sqjdcs=0.50 0。52 0.59 0.61 0.65 0.69 0。72 0。76 0。82 0。98 1.61 1.92 2.31 2。65 2。98 3.24 3。65 3.85 4.11 4。25 4.36 4。78;机动车数(单位:万辆)sqglmj=0。11 0。12 0。15 0。17 0.18 0.21 0.25 0.26 0.28 0.31 0。31 0.35 0.37 0。39 0.42 0.48 0.48 0。51 0。53 0。56 0.58 0.59;公路面积(单位:万平方千米)glkyl=512

18、3 5136 5189 5214 5268 5321 5378 5431 5468 5511 5543 5576 5598 5645 5667 5821 5824 5863 5924 5985 6035 6075;%公路客运量(单位:万人)glhyl=1235 1248 1365 1375 1391 3425 5241 5613 6243 6821 7531 7891 8012 8645 8962 9056 9786 10025 10068 11230 13450 13961;公路货运量(单位:万吨)p=sqrs;sqjdcs;sqglmj;t=glkyl;glhyl;pn,minp,maxp

19、,tn,mint,maxt=premnmx(p,t);dx=1,1;-1,1;1,1;net=newff(dx,3,7,2,'tansig',tansig,'purelin,traingdx');net.trainParam.show=1000;net。trainParam.Lr=0.05;net。trainparam。epochs=50000;net.trainparam.goal=0。6510(-3);net=train(net,pn,tn);an=sim(net,pn);a=postmnmx(an,mint,maxt);x=1990:2011;newk=a

20、(1,:);newh=a(2,:);figure (2);subplot(2,1,1);plot(x,newk,ro',x,glkyl,b+');legend('网络输出客运量,'实际客运量');xlabel(年份);ylabel('客运量/万人');title(运用工具箱客运量学习和测试对比图);subplot(2,1,2);plot(x,newh,ro',x,glhyl,b+);legend(网络输出货运量','实际货运量);xlabel('年份');ylabel(货运量/万吨);title(运

21、用工具箱学习和测试对比图');pnew=28。73 28.85 4。950 5.120 0。620 0.670;pnewn=tramnmx(pnew,minp,maxp);anewn=sim(net,pnewn);anew=postmnmx(anewn,mint,maxt)4对于该案例的结论与总结4.1 结论运行程序可得到如下结果: anew= 1。0e+004* 0.6110 0。6162 1。5859 1.9015 也就是说2012年和2013年的公路客运量分别为 6110万人和6162万人;货运量分别为15859万吨和19015万吨。 图4。1.1 从学习曲线图(图4.1.1)中

22、,可以看出网络的最后训练的误差很小,达到了期望的值。 图4.1.2 从实际样本与网络输出值之间的训练和测试的对比图中(图4.1.2),可以看出两者之间的误差极小,可以放心利用该网络进行预测.4。2 总结BP神经网络的运用极其广泛,并且在很多领域都很实用,在MATLAB工具箱的帮助下更显得简单快速,BP网络对于非线性的模仿能力很强,这也是它能够广泛运用的重要原因。基于MATLAB的BP神经网络应用于公路客运量组合预测的优点如下:a)灵活运用了BP神经网络能够逼近任意一个非常复杂的非线性函数的优点,克服了传统组合预测方法中用固定的某一类数学模型进行预测的不足,使得预测过程更加符合实际,预测结果更加

23、精确合理.b)利用MATLAB强大的数学计算功能,大大降低了神经网络计算的复杂性和难度,使神经网络的设计者可以从繁琐的编程中解脱出来,从而提高研究工作的效率和质量:C)由于BP神经元网络具有非线性动力学特性,更擅于处理联想记忆、经验推理和模糊推理实现经验与知识的结合,所以克服了其他预测方法的片面性,更适于多因素共同作用下公路货运量的预测:d)BP神经元网络具有自组织和自学习的能力,通过有导师和无导师学习.可以方便地记忆有关的知识,这有利于货运量组合预测中预测结果的获取。e)由于BP神经元网络表现出比较良好的容错性能,即使某一单项预测数据有偏差甚至错误,对组合预测结果的影响也较小。但另一方面BP神经网络也有一些缺点:用过BP网络的恩都会认识到一个问题,那就是BP网络的收敛速度是很慢的;它的网络模型的逼近和推广能力与学习样本的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论