当前位置:文档之家› 基于BP神经网络的预测模型

基于BP神经网络的预测模型

基于BP神经网络的国际黄金价格预测模型公文易文秘资源网顾孟钧张志和陈友2009-1-2 13:35:26我要投稿添加到百度搜藏[摘要] 为了寻找国际黄金价格与道琼斯工业指数、美国消费者指数,国际黄金储备等因素之间的内在关系,本文对1972年~2006年间的各项数据首先进行归一化处理,利用MATLAB神经网络工具箱进行模拟训练,建立了基于BP神经网络的国际黄金价格预测模型[摘要] 为了寻找国际黄金价格与道琼斯工业指数、美国消费者指数,国际黄金储备等因素之间的内在关系,本文对1972年~2006年间的各项数据首先进行归一化处理,利用MATL AB神经网络工具箱进行模拟训练,建立了基于BP神经网络的国际黄金价格预测模型。

[关键词] MATLAB BP神经网络预测模型数据归一化一、引言自20世纪70年代初以来的30多年里,世界黄金价格出现了令人瞠目的剧烈变动。

20世纪70年代初,每盎司黄金价格仅为30多美元。

80年代初,黄金暴涨到每盎司近700美元。

本世纪初,黄金价格处于每盎司270美元左右,此后逐年攀升,到2006年5月12日达到了26年高点,每盎司730美元,此后又暴跌,仅一个月时间内就下跌了约160美元,跌幅高达21.9%。

最近两年,黄金价格一度冲高到每盎司900多美元。

黄金价格起伏如此之大,本文根据国际黄金价格的影响因素,通过BP神经网络预测模型来预测长期黄金价格。

二、影响因素刘曙光和胡再勇证实将观察期延长为1972年~2006年时,则影响黄金价格的主要因素扩展至包含道琼斯指数、美国消费者价格指数、美元名义有效汇率、美国联邦基金利率和世界黄金储备5个因素。

本文利用此观点,根据1972年~2006年各因素的值来建立神经网络预测模型。

三、模型构建1.模型选择:BP网络具有理论上能逼近任意非线性函数的能力,将输入模式映射到输出模式,只需用已知的模式训练网络,通过学习,网络就有了这种映射能力。

2.样本数据归一化:在训练前,对数据进行归一化处理,把输入向量和输出向量的取值范围都归一到[0,1]。

3.BP网络设计:采用单隐层的BP网络进行预测,由于输入样本为5维的输入向量,因此输入层一共有5个神经元,中间层取20个神经元,输出层一个神经元(即黄金价格),网络为5*20*1的结构。

中间层的传递函数为S型正切函数,输出层为S型对数函数。

中间层的神经元个数很难确定,测试时分别对12,15,20个数进行测试,寻找误差最小的。

4.网络训练:训练次数epochs5000,训练目标goal 0.001对30个样本数据进行训练,经过1818次的训练,目标误差达到要求,如图2所示:5.网络测试:神经元个数为20个时误差最小,此时网络的仿真结果如图3所示,预测精度80%以上,效果满意。

四、结论在对1976年~2006年的影响国际黄金价格的五种因素的数据进行归一化处理后,用M ATLAB建立的BP神经网络预测模型进行预测,达到了很好的效果。

国际黄金的长期价格受到许多因素的影响,本文只是对道琼斯工业指数等影响因素诸如分析,来预测长期的国际金价。

还有其他因素,如国际油价,局部政治因素等,如果考虑进去,预测精度会进一步提高。

参考文献:[1]徐优丽:基于神经网络的物流需求预测.浙江树人大学学报, 2008(01):56~58[2]刘曙光胡再勇:黄金价格的长期决定因素稳定性分析.世界经济研究,2008(02):35~41基于BP神经网络的中国铁矿石需求量预测来源:国土资源情报作者:郭娟发布时间:2009.03.04摘要:铁矿石作为国民经济发展的基础原料之一,在我国目前工业化全面发展的时期,正处于高消耗的状态首先,本文根据历年我国铁矿石的产量和进口量,对我国铁矿石的需求量进行了估算;然后运用Matlab工具,对铁矿石的需求量进行分析模拟,建立了神经网络模型;最后,对中国未来铁矿石需求进行了初步预测预测表明,中国铁矿石需求将在2012--2015年达到高峰期。

关键词:铁矿石需求量神经网络高峰一、引言伴随我国工业化、城镇化进程的不断推进,钢铁F业迅速发展,国民经济对钢铁的需求量不断增加,相应地对铁矿石需求量也在大幅上升,从而给我国铁矿石的生产带来了巨大的压力。

为了满足铁矿石消费量持续增长的需求,我国铁矿石产量一路飘升,从1978年到2007年,铁矿石产量从1.18亿吨增长到了7.07亿吨,增长了5倍。

2007年我国铁矿石产量占世界铁矿石总产量的20%,是世界上最大的铁矿石生产国。

但是,铁矿石产量增长仍远远跟不上需求的增长。

继2003年我国铁矿石进口量(1.48亿吨)超越日本、欧盟成为全球最大的铁矿石进口国后,进口铁矿占全球海运贸易量的比例不断加大。

1978--2007年的30年间,中国进口铁矿石从802.02万吨增长到3.83亿吨,翻了45倍。

二、BP神经网络概述神经网络是20世纪40年代新兴起来的一种预决策技术,因其具有极强的非线性动态处理能力,强大的自适应、自学习功能而被广泛应用于不同领域。

在众多神经网络中,BP神经网络是最具代表性和应用最为广泛的一种网络模型[1],其功能也发展得最全面和完整,因此本文运用BP神经网络的方法建立铁矿石需求模型,并利用该模型对铁矿石需求量进行预测。

BP神经网络是误差反向传播的多层前馈网络,它可以任意精度逼近任意的连续函数,主要应用于非线性建模函数逼近模式分类等力面。

BP神经网络由输人层、隐含层、输出层组成。

以带一个隐含层的BP神经网络为例,网络的一般结构见图1。

在BP神经网络中,信号由输人单向传至输出,且同一层的神经元之间互不传递信号[2]。

每个神经元与相邻层的所有神经元相连。

某一层的神经元的输出值通过连接权系数的加强或抑制传输到下一层的神经元。

除了输入层外,每一神经元的输人为前一层所有神经元之输出值的加权和。

图2给出了一个基本的BP神经元模型,它具有R个输入,每个输入都通过一个适当的权值、与神经元相连,神经元的输出可表示成[3]:三、铁矿石需求量的BP神经网络预测模型的建立和Matlab实现1989年Robert Hecht--Nielson证明了对于任何在闭区间的一个连续函数都可以用一个隐含层的BP网络来逼近,因而一个3层的BP网络可以完成任意的N维到M维的映射,所以本文采用3层BP神经网络。

1.样本数据处理对铁矿石的消费量,我们用国产原矿产量加净进口量来估算,由于我国铁矿石基本没有对外出口,铁矿石消费量约等于国产原矿产量加进口量的总和。

本文铁矿石消费量按65%成品矿计量,我国进口铁矿石品位多数在65%左右,折合为成品矿换算系数是1。

而国产原矿品位一般在35%左右,按品位折合为成品矿时,换算系数约为0.5。

1981--2007年我国铁矿石消费量计算结果见表1。

2.BP网络结构设计输入层:根据铁矿石产量数据的特点以及我国进行5年规划的惯例,选择输入层神经元个数为5。

即用1981--1985年的国内铁矿石需求量作为网络的输人,1986年的国内铁矿石需求量作为输出,依此类推,就得到22组数据。

输出层:由于输出的结果只有一个指标,即铁矿石需求量,因此取输出节点数为1。

隐含层:理论分析表明,具有单隐层的前向网络可以以任意精度映射任何的连续函数,本研究选用只有一个隐层的前向网络,而对于隐含层节点数使用经验公式s≥k×m/(m+n)来确定[5]。

其中:m为输入层节点数,取5;n为输出层节点数,取1;k为学习样本个数,取22。

由此可以计算出网络隐含层节点数为19个。

传递函数:一个神经网络,如果第一层是S型函数,而第二层是线形函数,就可以用来模拟任何函数(必须是连续有界的)。

因此,确定隐含层传递函数为S型函数“tansig",输出层传递函数为线形函数“purelin”。

训练函数:为了确定最快捷准确的训练函数,本文采用比较法来确定。

利用Matlab中常用的训练函数训练网络,得到不同函数的训练结果,最终确定采用,Levenberg Marquart算法,如表2所示。

从表2中可以看出,trainlm()函数的迭代次数最少,收敛精度最高,故采用Levenberg Marquart算法是最为快速和精确的。

3.BP网络建立及训练利用Matlab中的神经网络工具箱,可方便地直接在Matlab中调用相关函数实现BP网络模型的学习、训练、拟合及预测(仿真)过程。

具体步骤为:第一步,数据归一化。

为了在Matlab中计算的方便,在网络建立之前,需要对数据的大小进行归一化处理。

本文采用的是[-1,1]归一化,利用Matlab工具箱中的Premnmx()函数把数据归一化为单位方差和零均值,这相当于把原始数据看成服从正态分布。

第二步,建立网络。

数据归一化后,通过newff()函数并使用选定的训练函数trainlm (),生成了一个前馈的5-19-1的二层BP神经网络。

第三步,训练网络。

通过train()函数对已生成的网络进行学习训练,学习步长设为200个周期,目标误差设为0.001,学习速度设为0.05并每隔20步显示一次结果。

训练结果表明,训练从第三个周期开始,误差小于目标误差,误差平方和的均值为0.000281,此时停止训练。

第四步,网络仿真模拟及数据还原。

将经过归一化处理过的样本数据带人已训练的网络进行仿真模拟,此过程通过Matlab工具箱中的sim()函数来实现。

最后将运算结果通过Postmnmx ()函数进行反归一化处理,从而得到有效的预测值。

4.BP网络模型检验把1981--2007年的中国铁矿石消费量数据带人已训练好的模型,通过仿真模拟和数据的反归一化处理,可以得到1986--2007年铁矿石需求量的预测值,(见表3)。

从表中可以看出,误差百分比小于6%的有19项,占86.36%;大于6%的有2项,占13.64%。

说明铁矿石需求预测的神经网络模型误差很小,该模型的泛化能力较好,模拟的结果比较可靠。

四、铁矿石需求量的BP神经网络预测分析把2003--2007年中国铁矿石消费量的实际数据作为训练好的神经网络的输人,得到2008年需求量预测值。

将2004--2007年实际数据以及2008年的预测结果作为输入,得到2009年预测值,依此类推,可以得到2008--2015年中国铁矿石需求量的预测结果,如表4所示。

从表中可以看出,中国铁矿石需求量2008--2011年持续上升,2008年为78854万吨,2010年为86713万吨。

2012--2015年中国铁矿石需求量进人高峰阶段,为87828万--90379万吨。

图3是中国铁矿石需求预测模型的真实值和预测曲线图,从图中可以看出,运用BP神经网络仿真的效果十分理想,训练后的BP网络能很好地逼近给定的目标函数。

从图3中同时可以看出,2008--2011年未来4年中国铁矿石需求呈上升趋势,但增幅将会下降;2012--2015年进人铁矿石需求高峰阶段,铁矿石需求趋于平缓。

相关主题