您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 股票报告 > 基于BP神经网络的CPI预测模型
数学建模论文姓名:王付才学号:200901603专业:水利水电工程电话:13526844045邮箱:mumahewy@163.com基于BP神经网络的CPI预测模型摘要消费者价格指数CPI是反映国民经济和百姓生活的重要指标之一,对衡量通货膨胀的程度具有重要作用。本文对2008年1月份--2011年3月份的CPI进行归一化处理,利用matlab神经网络工具箱进行模拟训练,建立了基于BP神经网络的CPI预测模型。关键词:CPI神经网络时间序列模型MATLAB问题背景3月份CPI涨幅超出预期国家统计局15日发布的数据显示,一季度中国国内生产总值(GDP)为96311亿元,按可比价格计算,同比增长9.7%,环比增长2.1%。盛来运表示,今年城乡居民收入稳定增长,农村居民收入增速快于城镇居民。一季度,城镇居民人均可支配收入5963元,同比增长12.3%,扣除价格因素,实际增长7.1%。农村居民人均现金收入2187元,同比增长20.6%,扣除价格因素,实际增长14.3%。国家统计局发布的数据还显示,一季度,居民消费价格指数CPI同比上涨5.0%。其中,城市上涨4.9%,农村上涨5.5%。3月份居民消费价格同比上涨5.4%,创下新高,超出市场很多人的预期。盛来运认为,3月份CPI受翘尾因素影响比较大,当月的影响是3.2个百分点,占CPI同比涨幅的60%。而新涨价因素的影响只有2.2个百分点,比上个月回落了0.2个百分点。物价上涨原因很复杂业内人士普遍认为,这一轮物价上涨原因很复杂,并有加剧的趋势,其一,输入性通胀压力还在加大。受全球流动性充裕、美元走软、西亚北非局势动荡、日本地震灾害的影响,国际大宗商品价格不断上升,原油期货价格持续攀升。特别是在全球流动性宽松、投机活跃的背景下,大宗商品金融化特性增强,价格并不完全由供求关系决定。受此影响,我国能源、原材料价格也不断走高。其二,食品和住房等结构性物价上涨压力依然非常大。其三,要素成本涨幅增高明显。今年劳动工资持续上涨,加上利率上调,增加了企业的成本,对物价总水平的影响不可低估。CPI“破5望6”,引发了市场的担忧。对于外界普遍关心的能否控制住物价上涨趋势的问题,中国社会科学院经济研究所调研员韩孟认为,CPI上涨的压力主要来自几个方面:一是国内经济增长的意愿持续走强,投资态势旺盛,物价上涨具有一种必然性压力和持续性压强。二是经济全球化、全球生态环境以及局部地区社会战乱三重背景对物价上涨构成的压力。三是来自水、石油、天然气、煤炭等诸多方面资源以及环境的压力日益加大且压力增速加快。应该看到,当前,国家通过各种价格干预的努力,维护市场稳定,已经取得部分成效。3月份CPI涨幅环比数据有所下降,可视为一个积极的信号,说明中央关于物价调控的一些措施效果初显。盛来运则认为,从一季度的情况来看,物价总体上是可控的。虽然居民消费价格指数CPI和工业生产者出厂价格指数PPI都有所上涨,但是由于中央对物价的问题高度重视,出台了一系列物价调控措施。从3月份的情况来看,CPI的涨幅环比数据比2月份下降了0.2%。只要切实贯彻落实好中央出台的物价管理政策措施,物价维持稳定是有可能的。问题分析:CPI是衡量通货膨胀的一个重要工具,然而影响CPI的的因素很多,国际原油价格,原材料价格,大宗商品价格的上涨都会推动CPI上涨,另外,货币流动性泛滥,工资上涨,利率上调,也会推动CPI升高。因此,推动消费者价格指数上升的原因很多,本文仅以过去的CPI建立时间序列模型,推测未来CPI可能的变化趋势。模型假设1假设CPI可预测,在时间变化上具有连贯性2假设每个固定点的CPI是可预测的数据说明本文选取了2008年1月到2011年4月40组CPI数据,数据来源于国家统计局,并把数据分为三类,分别是训练数据,验证数据和测试数据。2008年2009年2010年2011年1月107.1101101.5104.92月108.798.4102.7104.93月108.398.8102.4105.44月108.598.5102.8105.35月107.798.6103.16月107.198.3102.97月106.398.2103.38月104.998.8103.59月104.699.2103.610月10499.5104.411月102.4100.6105.112月101.2101.9104.6模型建立与求解BP神经网络具有理论上逼近任意非线性函数的能力,将输入模式映射到输出模式,只需用已知的模式训练网络,通过学习,网络便具备这种映射能力。BP神经网络由输入层,隐含层,输出层组成,在BP神经网络中,信号由输入单向传至输出,且同一层的神经元之间互不传递信号。每个神经元与相邻层的所有神经元相连。某一层的神经元的输出值通过连接权系数的加强或抑制传输到下一层的神经元。除了输入层外,每一神经元的输人为前一层所有神经元之输出值的加权和。网络结构设计:对隐含层节点分别取10,15,20,30进行试验,发现当隐含层节点数为20时。ARMA模型是一类常用的随机时间序列模型,是一种精度较高的时间序列短期预测方法,其基本思想是:某些时间序列是依赖于时间t的一族随机变量,构成该时间序列的单个序列值虽然具有不确定性,但整个序列的变化却有一定的规律性,可以用相应的数学模型近似描述.通过对该数学模型的分析研究,能够更本质地认识时间序列的结构与特征,达到最小方差意义下的最优预测.ARMA模型有三种基本类型:自回归(AR:Auto-regressive)模型移动平均(MA:MovingAverage)模型自回归移动平均(ARMA:Auto-regressiveMovingAverage)模型本文采用自回归模型。如果时间序列是它的前期值和随机项的线性函数,即可表示为上式称为p阶自回归模型,记为AR(p)实参数称为自回归系数,是待估参数.随机项是相互独立的白噪声序列,且服从均值为0、方差为的正态分布.随机项与滞后变量不相关。y:CPI运用matlab软件中的神经网络工具箱建立模型y(t)=f[y(t-1),……y(t-d))]取d=2,当月CPI与之前的呈非线性关系令y(t)=CPI运用matlab软件中的神经网络工具箱建立模型,预测结果如下1122tttptptXXXXu12,,,p结果:当隐含层节点取20时,误差最小,基本上都能在0.2以内,能满足精度要求。预测结果与真值偏差不大。模型评价CPI可以反映通货膨胀水平的高低和老百姓生活成本变动的剧烈程度,对于宏观掌握我国经济情况具有重要意义,从预测结果来看,未来一段时间我国cpi人居高不下,通货膨胀严重,老百姓生活成本较高建议加强宏观调控,稳定物价。另外,由于影响cpi的因素较多,采集的数据有限,模型预测还不能达到很好的精度。再者,通货膨胀时,心理因素的作用也会起到推泼助澜的作用,有研究表明:我国居民的两种非自主心理会导致更大程度的预期偏离,其在通货膨胀中也会占到更大权重。参考文献顾孟钧张志和陈友基于BP神经网络国际黄金价格预测模型;郭娟基于BP神经网络的中国铁矿石需求量预测袁少华熊正丰我国城市CPI预测模型研究程序代码%SolveanAutoregressionTime-SeriesProblemwithaNARNeuralNetwork%ScriptgeneratedbyNTSTOOL%CreatedThuMay1221:11:23CST2011%%Thisscriptassumesthisvariableisdefined:%%y-feedbacktimeseries.targetSeries=tonndata(y,false,false);%CreateaNonlinearAutoregressiveNetworkfeedbackDelays=1:2;hiddenLayerSize=20;net=narnet(feedbackDelays,hiddenLayerSize);%PreparetheDataforTrainingandSimulation%ThefunctionPREPARETSpreparestimeseriesdataforaparticularnetwork,%shiftingtimebytheminimumamounttofillinputstatesandlayerstates.%UsingPREPARETSallowsyoutokeepyouroriginaltimeseriesdataunchanged,while%easilycustomizingitfornetworkswithdifferingnumbersofdelays,with%openlooporclosedloopfeedbackmodes.[inputs,inputStates,layerStates,targets]=preparets(net,{},{},targetSeries);%SetupDivisionofDataforTraining,Validation,Testingnet.divideParam.trainRatio=70/100;net.divideParam.valRatio=15/100;net.divideParam.testRatio=15/100;%TraintheNetwork[net,tr]=train(net,inputs,targets,inputStates,layerStates);%TesttheNetworkoutputs=net(inputs,inputStates,layerStates);errors=gsubtract(targets,outputs);performance=perform(net,targets,outputs)%ViewtheNetworkview(net)%Plots%Uncommenttheselinestoenablevariousplots.%figure,plotperform(tr)%figure,plottrainstate(tr)%figure,plotresponse(targets,outputs)%figure,ploterrcorr(errors)%figure,plotinerrcorr(inputs,errors)%ClosedLoopNetwork%Usethisnetworktodomulti-stepprediction.%ThefunctionCLOSELOOPreplacesthefeedbackinputwithadirect%connectionfromtheoutoutlayer.netc=closeloop(net);[xc,xic,aic,tc]=preparets(netc,{},{},targetSeries);yc=netc(xc,xic,aic);perfc=perform(net,tc,yc)%EarlyPredictionNetwork%Forsomeapplicationsithelpstogetthepredictionatimestepearly.%Theoriginalnetworkreturnspredictedy(t+1)atthesametimeitisgiveny(t+1).%Forsomeapplicationssuchasdecisionmaking,itwouldhelptohavepredicted%y(t+1)oncey(t)isavailable,butbeforetheactualy(t+1)occurs.%Thenetworkcanbemadetoreturnitsoutputatimestepearlybyremovingonedelay%sothatitsminimaltapdelayisnow0insteadof1.Thenewnetworkreturnsthe%sameoutputsastheoriginalnet
本文标题:基于BP神经网络的CPI预测模型
链接地址:https://www.777doc.com/doc-2568689 .html