正文:
- 数据归一化处理
一个合适的归一化方法能极大减少训练次数而加快训练速度。本文采用的是以S型函数作为转移函数,该函数的值域是[0, 1],因此训练时要把数据规范到[0, 1],因为0和1分别是S型函数的最小值和最大值,为了达到0或1必须训练很多次并修改权值,导致训练速度很慢,所以数据处理时应尽量避开0或1。归一化公式为:
(i=1,2,…n)
式中
——原始资料的第
个实际样本的第i个实际样本的输入值
——规范化后第
个实际样本的第i个实际样本的输入值
——根据数据实际情况所取的低于数据中最小值的数值
——根据实际数据情况所取的大于数据中最大值的数值
数据归一化后的数据如表2所示:
年份 |
GDP (亿元) |
全社会固定资产投资 (亿元) |
第一产业 (亿元) |
第二产业 (亿元) |
第三产业 (亿元) |
货物周转量 (亿吨公里) |
货运量 (万吨) |
1999 |
-0.8692 |
-0.9542 |
-1.0000 |
-0.9481 |
-0.9415 |
-0.9199 |
1.0000 |
2000 |
-0.8610 |
-0.9530 |
-1.0000 |
-0.9442 |
-0.9369 |
-0.9186 |
1.0000 |
2001 |
-0.8452 |
-0.9476 |
-1.0000 |
-0.9384 |
-0.9278 |
-0.9188 |
1.0000 |
2002 |
-0.8262 |
-0.9394 |
-1.0000 |
-0.9312 |
-0.9178 |
-0.9183 |
1.0000 |
2003 |
-0.8151 |
-0.9334 |
-1.0000 |
-0.9265 |
-0.9116 |
-0.9190 |
1.0000 |
2004 |
-0.7899 |
-0.9150 |
-1.0000 |
-0.9146 |
-0.8994 |
-0.9135 |
1.0000 |
2005 |
-0.7817 |
-0.9030 |
-1.0000 |
-0.9067 |
-0.8975 |
-0.8818 |
1.0000 |
2006 |
-0.7609 |
-0.8832 |
-1.0000 |
-0.8876 |
-0.8876 |
-0.8844 |
1.0000 |
表 2 归一化后的数据表
- 构建人工神经网络模型
选取表1中1999~2004年各指标值作为样本输入
,1999~2004年的全社会货物运输量作为样本输出
,以此来训练BP神经网络并预测2006年的全社会货物运输量。
建立一个含一个隐含层的BP神经网络,由于输入样本有六个指标故第一层(隐含层)神经元个数设置为2×6+1=13个,而样本输出仅一个全社会货物运输量指标,故第二层(输出层)神经元个数设置为一个。训练函数设置为trainlm函数,自适应函数设置为learngdm函数,第一层的传递函数设置为tansig函数,第二层的传递函数设置为purelin函数。训练周期设置为100,平均误差平方和设置为10
-10。
经过权值初始化后对BP网络进行训练,其模拟逼近的误差曲线如图1所示:
图1 误差曲线图
从图1可以看出,该BP网络经过六个训练周期即达到了要求的目标误差范
围,训练效果较好。用2005年各指标值作为模拟输入c,导入训练好的BP网络,经过模拟即可得到2006年的货物运输量预测值y, y=[1.0148]。最后利用postmnmx函数对y进行反归一化处理,得到2006年货物运输量的预测值为19417,与2006年货物运输量的实际值20817.75的误差率为0.0673。因为影响货物运输量的经济和非经济因素众多,故指标的选取不能完全反应出规律性,另外2005和2006年的货运量较前几年的增长幅度很大,因此,本文的预测还是可以接受的。
- 结束语
本文阐述的货运量需求预测模型,是建立在对经济与物流之间内在关系研究的基础上提出的BP神经网络预测模型。该模型在一定程度上反映了经济与货运量之间的复杂映射关系,它不同于以往简单的货运量预测线性回归或者时间序列预测模型,更重要的是本模型不是直接利用物流数据本身来预测货运量,而是采用经济指标来对货运量需求进行预测,为从经济与物流一体化的角度研究物流需求提供了新的思路。
2/3 首页 上一页 1 2 3 下一页 尾页