搜档网
当前位置:搜档网 › 基于改进神经网络的GDP时间序列预测

基于改进神经网络的GDP时间序列预测

基于改进神经网络的GDP时间序列预测
基于改进神经网络的GDP时间序列预测

文章编号:1004-3918(2011)12-1506-03

基于改进神经网络的GDP 时间序列预测

娜,张吉刚

(咸宁学院,湖北咸宁437100)

要:由于GDP 时间序列具有线性和非线性的特征,

神经网络(NN )方法和集成预测方法等在预测分析时可能产生较大误差.以GDP 的年增长率作为神经网络的输入,

建立基于BPNN 的GDP 预测模型.利用此改进BPNN 模型对我国的GDP 进行预测和验证,并分别与ARIMA-BP 集成模型及BPNN 模型进行比较.结果表明,改进的BPNN 模型预测准确率明显优于目前的ARIMA-BP 集成模型及BPNN 模型的预测准确率,能有效应用于GDP 预测.关键词:BP 神经网络;GDP 预测;准确率中图分类号:F 224.9

文献标识码:A

用于GDP 预测的方法很多,时间序列分析方法是较为常用的预测方法,其中ARIMA 模型为目前应用最

广泛的时间序列预测模型之一.除此之外,神经网络(neural network ,NN )模型由于能够挖掘数据背后复杂的甚至很难用数学式描述的非线性关系,且对建模所用样本的数量无特殊要求,因此在预测领域受到越来越多的重视,在时间序列预测方法中占主导地位[1-3].GDP 序列既包含了线性时序的成分,又包含了非线性时序的成分,呈现出线性和非线性的复合特征.ARIMA 方法是基于线性技术来进行时序预测,而NN 技术擅长挖掘数据中隐含的非线性关系.有学者将两种方法集成进行时间序列预测研究,在这种复合预测方法中,主要形式是对单个预测方法进行加权平均,研究重点为加权系数的确定,确定加权系数是一件非常困难的事情,在实际应用中带有强烈的随意性和主观性[4].

本文提出基于改进BP 神经网络的GDP 预测模型.该模型首先对GDP 时间序列作预处理,求出只具有非线性特征的GDP 年增长率序列,

然后利用BPNN 技术对GDP 年增长率进行预测,最后还原为对GDP 的预测.通过与直接利用GDP 数据建立的BPNN 模型及ARIMA-NN 集成模型进行比较,本文改进的模型充分发挥了BPNN 模型的优势,显著改善了目前GDP 时间序列预测模型的性能.

1改进NN 模型

目前应用于GDP 预测的神经网络模型和其他神经网络集成模型都是直接建立在GDP 的原始数据上,而本文改进的BPNN 模型,是先对GDP 序列原始数据作预处理,再建立预测模型.具体原理:先求GDP 数据年

增长量,

GDP 年增长量仍包含了线性时序的成分;再对GDP 年增长量序列求GDP 年增长率,GDP 年增长率不含线性特征;然后用BPNN 预测GDP 年增长率,最终转化为对GDP 的预测.其具体流程如图1所示.

2改进BPNN 模型在GDP 预测中的应用

本文应用上述改进BPNN 模型,构建我国GDP 序列预测模型.选取改革开放以来的GDP 数据,即1978—

2009年期间的GDP 为研究对象[4],其中1978—2004年的GDP 作为建模样本,2005—2009年的GDP 作为测试样本来评估模型的准确性,具体样本数据见表1.

收稿日期:2011-09-28

基金项目:国家自然科学基金(11171102);湖北省高等学校青年教师深入企业行动计划项目(XD20100659)作者简介:梁

娜(1978-),女,湖北通山人,讲师,硕士,主要从事神经网络统计研究工作.

第29卷第12期2011年12月

河南科学

HENAN SCIENCE

Vol.29No.12Dec.2011

图1改进BPNN GDP 预测模型流程示意图

Fig.1The flow chart of improved BPNN model for GDP prediction GDP 数据

GDP 年增量

年增长率

BPNN 模型

预测年增长率

GDP 预测值

(1+预测的增长率)·上一年GDP 实际值

2011年12月表1

1978—2009年我国GDP 原始数据及预处理数据

Tab.1The raw data and pretreatment data of Chinese GDP from 1978to 2009

图2为1978—2009年中国GDP 值的时间序列趋势图,我们可以观察到GDP 具有明显的单调上升趋势.用当年的GDP 值减去上年的GDP 值,得到GDP 的年增量,结果见表1.图3为1979—2009年GDP 年增量的曲线图,我们可以观察到GDP 年增量仍具较为明显的上升趋势.我们再对GDP 的年增量数据求出年增长率,即用当年的GDP 增长量除以上一年的GDP 值,得到GDP 的年增长率数据,见表1.图4为1979—2009年GDP 年增长率的序列图,可观察到GDP 年增长率已没有上升趋势,不含线性特征.因此,我们选用具有非线性特征的GDP 年增长率的序列作为网络输入,建立BPNN 预测模型.

由于没有1978年的GDP 增长率数据,所以BPNN

的总样本量N =31.以1979—1983,1980—1984,…,1999—2003年的GDP 年增长率数据作为网络输入,以1984—2004年的GDP 增长率数据作为理想输出.即以前5年GDP 增长率数据作为BPNN 的输入变量,以当年增长率数据作为BPNN 的输出变量,组成样本数据对网络进行训练.以2005—2009年GDP 年增长率数据作为测试样本.因此,BPNN 的输入神经元为5,输出神经元为1,中间层的节点数经过实验对比,最终选定为8个,网络结构为5-8-1,如图5所示.

在MATL A B7的神经网络工具箱中,采用体现数值

1980198519901995200020052010

年份

0.160.140.120.100.080.060.04

0.02

G D P 年增长率

图3GDP 年增量曲线

Fig.3The curve of GDP annual increment

图4年增长率趋势图

Fig .4

T he GDP ’s increased percentage curve

年份GDP/(亿元)GDP/年增量(亿元)年增长率

年份GDP/(亿元)GDP 年增量/(亿元)年增长率年份GDP/(亿元)GDP

年增量/(亿元)

年增长率19783645.0019899888.89386.370.04072000

27698.362150.550.084219793922.02277.020.0760199010267.97379.080.0383200129998.352300.000.0830********.20306.180.0781199111212.02944.050.0919200232724.812726.460.0909********.55222.350.0526199212808.531596.510.1424200336005.313280.500.100219824851.50400.950.0901199314594.581786.050.1394200439635.733630.420.100819835380.02528.520.1089199416504.561909.980.1309200543769.164133.430.104319846196.50816.480.1518199518308.841804.280.1093200648868.525099.360.116519857031.21834.710.1347199620142.271833.430.1001200755239.986371.460.130419867654.50623.290.0886199722012.161869.890.0928200860186.244946.260.089519878540.26885.760.1157199823736.241724.080.07832009

65422.44

5236.200.0870

1988

9502.52

962.26

0.1127

1999

25547.81

1811.57

0.0763

图5GDP 预测的BPNN 拓扑结构

Fig.5Topology of BP n eural n etwork for GDP prediction

图2GDP 值曲线

Fig.2The curve of GDP value

1980198519901995200020052010

年份

76543210

G D P 值/(104亿元)

年份

70006000

50004000300020001000

G D P 年增量/(亿元)

1980198519901995200020052010

梁娜等:基于改进神经网络的GDP 时间序列预测1507--

第29卷第12期

河南科学

优化思想的L-M 学习算法[5-6].L-M 学习算法的训练函数是trainlm ,输入层与隐层、隐含层与输出层之间的传递函数分别选为tansig 和logsig 函数.训练次数最大设置为1000次,网络收敛误差为0.0001.直接将表1中GDP 年增长率,加载到设置好的BPNN 中.按照图1的模型原理,最终转化为对GDP 的

预测.测试样本(2005—2009年)的预测结果见表2,并与文献[4]中ARIMA-BP 集成模型及BPNN 模型的结果进行比较.

表2

各模型对测试样本的GDP 预测结果

Tab.2GDP prediction results from different model s

注:括号内数字为预测百分比误差.

由表2数据可知,3种模型中,改进BPNN 模型预测结果最好,其结果最接近于实际值.从对2005—

2009年的GDP 预测结果来看,预测误差最低为0.147%,最高只有1.050%,明显优于文献[4]中ARIMA-BP 集成模型及BP 模型的预测效果.

3结论

本文提出以GDP 的年增长率序列作为神经网路的输入,建立基于BPNN 的GDP 预测模型,对我国的GDP 进行预测.改进的BPNN 模型预测准确率明显优于目前的ARIMA-BP 集成模型及未经过数据处理的单一BPNN 模型的预测准确率.

本文改进的神经网络预测模型是基于GDP 的时间序列数据,因此预测期并不太长,若要对GDP 进行较长期的预测,应结合考虑宏观经济因素.如何引入外部经济因素指标对模型进行改进是有待进一步研究的课题.参考文献:

[1]张吉刚,梁娜.基于som 网络-主成分分析-BP 网络预测模型[J ].统计与决策,2008(6):158-160.[2]张吉刚,梁

娜.基于ARIMA-ANN 的时间序列组合预测模型[J ].三峡大学学报,2008(4):86-89.

[3]孙红丽.构建BP 网络结构方法及其在预测上应用[J ].河南科学,2009,27(7):839-841.

[4]熊志斌.基于ARIMA 与神经网络集成的GDP 的时间序列预测研究[J ].数理统计与管理,2011,30(2):306-314.[5]梁

娜.基于前馈型神经网络股价预测的一点改进[J ].科技创业月刊,2007(8):63-64.

[6]飞思科技产品研发中心.神经网络理论与MATLAB7实现[M ].北京:电子工业出版社,2005.

Research of the GDP Prediction Based on the Improved BP Neural Network

Liang Na ,Zhang Jigang

(Department of Mathematics ,Xianning College ,Xianning 437100,Hubei China )

Abstract:Because the time series of the GDP ha we both linear and nonlinear characteristics ,traditional forecasting methods ,such as neural network and some integrated model ,tend to bring errors.The proposed method ,BP neural network model using the annual incremental rate of GDP for the network input ,was set up to predict the GDP.The GDP forecastting results from improved BPNN model w ere compared with ARIMA-BP and single BPNN model ,showing more accuracy.

Key words:BP n eural n etwork ;GDP p rediction ;accuracy rate

年份实际GDP 值模型预测GDP 值

BPNN ARIMA-BP 改进BPNN 200543769.1643571.32(0.452%)43684.69(0.193%)43998.03(0.523%)200648868.5248260.11(1.245%)48696.99(0.351%)48988.19(0.244%)200755239.9853620.34(2.932%)54287.64(1.724%)54657.97(1.050%)200860186.2458304.82(3.126%)58821.22(2.268%)59699.94(0.807%)2009

65422.44

63307.33(3.233%)

63931.46(2.279%)

65518.86(0.147%)

亿元

1508--

小波神经网络的时间序列预测短时交通流量预测.doc

%% 清空环境变量 clc clear %% 网络参数配置 load traffic_flux input output input_test output_test M=size(input,2); %输入节点个数 N=size(output,2); %输出节点个数 n=6; %隐形节点个数 lr1=0.01; %学习概率 lr2=0.001; %学习概率 maxgen=100; %迭代次数 %权值初始化 Wjk=randn(n,M);Wjk_1=Wjk;Wjk_2=Wjk_1; Wij=randn(N,n);Wij_1=Wij;Wij_2=Wij_1; a=randn(1,n);a_1=a;a_2=a_1; b=randn(1,n);b_1=b;b_2=b_1; %节点初始化 y=zeros(1,N); net=zeros(1,n); net_ab=zeros(1,n); %权值学习增量初始化 d_Wjk=zeros(n,M); d_Wij=zeros(N,n); d_a=zeros(1,n);

d_b=zeros(1,n); %% 输入输出数据归一化 [inputn,inputps]=mapminmax(input'); [outputn,outputps]=mapminmax(output'); inputn=inputn'; outputn=outputn'; %% 网络训练 for i=1:maxgen %误差累计 error(i)=0; % 循环训练 for kk=1:size(input,1) x=inputn(kk,:); yqw=outputn(kk,:); for j=1:n for k=1:M net(j)=net(j)+Wjk(j,k)*x(k); net_ab(j)=(net(j)-b(j))/a(j); end temp=mymorlet(net_ab(j)); for k=1:N y=y+Wij(k,j)*temp; %小波函数 end end

神经网络模型预测控制器

神经网络模型预测控制器 摘要:本文将神经网络控制器应用于受限非线性系统的优化模型预测控制中,控制规则用一个神经网络函数逼近器来表示,该网络是通过最小化一个与控制相关的代价函数来训练的。本文提出的方法可以用于构造任意结构的控制器,如减速优化控制器和分散控制器。 关键字:模型预测控制、神经网络、非线性控制 1.介绍 由于非线性控制问题的复杂性,通常用逼近方法来获得近似解。在本文中,提出了一种广泛应用的方法即模型预测控制(MPC),这可用于解决在线优化问题,另一种方法是函数逼近器,如人工神经网络,这可用于离线的优化控制规则。 在模型预测控制中,控制信号取决于在每个采样时刻时的想要在线最小化的代价函数,它已经广泛地应用于受限的多变量系统和非线性过程等工业控制中[3,11,22]。MPC方法一个潜在的弱点是优化问题必须能严格地按要求推算,尤其是在非线性系统中。模型预测控制已经广泛地应用于线性MPC问题中[5],但为了减小在线计算时的计算量,该部分的计算为离线。一个非常强大的函数逼近器为神经网络,它能很好地用于表示非线性模型或控制器,如文献[4,13,14]。基于模型跟踪控制的方法已经普遍地应用在神经网络控制,这种方法的一个局限性是它不适合于不稳定地逆系统,基此本文研究了基于优化控制技术的方法。 许多基于神经网络的方法已经提出了应用在优化控制问题方面,该优化控制的目标是最小化一个与控制相关的代价函数。一个方法是用一个神经网络来逼近与优化控制问题相关联的动态程式方程的解[6]。一个更直接地方法是模仿MPC方法,用通过最小化预测代价函数来训练神经网络控制器。为了达到精确的MPC技术,用神经网络来逼近模型预测控制策略,且通过离线计算[1,7.9,19]。用一个交替且更直接的方法即直接最小化代价函数训练网络控制器代替通过训练一个神经网络来逼近一个优化模型预测控制策略。这种方法目前已有许多版本,Parisini[20]和Zoppoli[24]等人研究了随机优化控制问题,其中控制器作为神经网络逼近器的输入输出的一个函数。Seong和Widrow[23]研究了一个初始状态为随机分配的优化控制问题,控制器为反馈状态,用一个神经网络来表示。在以上的研究中,应用了一个随机逼近器算法来训练网络。Al-dajani[2]和Nayeri等人[15]提出了一种相似的方法,即用最速下降法来训练神经网络控制器。 在许多应用中,设计一个控制器都涉及到一个特殊的结构。对于复杂的系统如减速控制器或分散控制系统,都需要许多输入与输出。在模型预测控制中,模型是用于预测系统未来的运动轨迹,优化控制信号是系统模型的系统的函数。因此,模型预测控制不能用于定结构控制问题。不同的是,基于神经网络函数逼近器的控制器可以应用于优化定结构控制问题。 在本文中,主要研究的是应用于非线性优化控制问题的结构受限的MPC类型[20,2,24,23,15]。控制规则用神经网络逼近器表示,最小化一个与控制相关的代价函数来离线训练神经网络。通过将神经网络控制的输入适当特殊化来完成优化低阶控制器的设计,分散和其它定结构神经网络控制器是通过对网络结构加入合适的限制构成的。通过一个数据例子来评价神经网络控制器的性能并与优化模型预测控制器进行比较。 2.问题表述 考虑一个离散非线性控制系统: 其中为控制器的输出,为输入,为状态矢量。控制

基于BP神经网络的时序预测及其应用

目录 摘要 (1) 前言 (2) 第一章时间序列的预测函数及其评价指标 (4) 第一节预测函数 (5) 第二节评价预测的数量指标 (5) 第二章 BP神经网络 (6) 第一节 BP神经网络的结构 (6) 第二节 BP神经网络算法及公式推导 (7) 第三节 BP神经网络算法的步骤 (9) 第三章基于BP神经网络的时间序列预测及其应用 (11) 第四章结论 (14) 总结与体会 (15) 致谢词 (15) 参考文献 (15) 附录 (16)

摘要 首先,本文介绍了时间序列的含义和时间序列预测在国内外的研究情况,列举了两个时间序列预测的实际例子。文中阐述了时间序列预测及其评价指标,比较了各评价指标之间的长处和短处。其次, 本文阐述了BP神经网络算法及其公式推导。给出了BP神经网络算法的流程图。最后,本文从实用出发,列出了1993年至2006年我国GDP的数据,此组数据呈现出增长趋势,这种增长趋势反映了近十几年我国经济的快速增长。用BP神经网络预测出我国2007年的GDP是200790亿元, 这表明今后我国经济有减缓的迹象,这也说明我国近几年宏观经济调控获得了一定的成果。 【关键词】时间序列神经网络预测 GDP Abstract This grade paper, times series, and the development of times series forecast are introduced at first, and then the practical examples of times series forecast are enumerated. The function of times series forecast and its evaluative index are given. We compare the advantage and disadvantage of these evaluative indexes. Secondly, The principles of BP neural network and BP neural network’s algorithm are presented. Finally, we particularize our country GDP statistics, which it increases, which it indicates economy’s fast increasing, year by year, from 1993 to 2006. We also study BP neural network’s forecast algorithm. Our country GDP in 2007,wiche it is about 200790 hundred millions is forecasted by BP neural network, and it shows that the Chinese macro-economy policy in ten years are succeed. Keywords time series neural network prediction GDP

MATLAB动态神经网络在时间序列预测中的应用

MATLAB动态神经网络在时间序列预测中的应用 摘要:本文在介绍了Matlab神经网络工具箱的基础上,主要对时间序列预测工具箱的使用作了说明,并用实例仿真说明如何进行时间序列预测的调用实现,通过不断的调整参数,最后使训练的模型比较理想,满足实际的需求,表明了直接使用时间序列预测的有效性,并为Matlab神经网络工具箱的使用提供了新的方法。 关键词:Matlab;神经网络;时间序列;预测 引言 时间序列是根据时间顺序得到跟时间相关的变量或者参数的观测数据[1]。对时间序列的研究主要是挖掘其中有价值的信息,找到其中变化的内在规律[2]。时间序列预测是时间序列分析研究的主要内容,是指根据现有的和历史的时间序列的数据,建立能反映时间序列中所包含的动态依存关系的数学模型[3],从而能对序列未来的趋势做出合理的预测。简单的说,时间序列预测就是用已有的数据预测下一个时间段的值。目前,时间序列预测已经广泛应用在自然界、经济、化学、科学工程等各个领域。 随着Matlab版本的不断更新,神经网络工具箱不断的完善,使得仿真的实现日益简单,R2010b后的版本对时间序列预测的实现不需要手动写代码,网络训练完毕,从Simple Script可看到网络代码,并可对代码进行编辑、改编,因此,只要调用就可应用在各个领域。本文结合时间序列预测的特点,将Matlab神经网络工具箱中的时间序列预测应用到温度预测的实例中,通过快速的仿真及不断的调整参数,从而形成较理想的数学模型,为后期进行温度的预测奠定了基础。 1Matlab神经网络工具箱简介 神经网络分为静态和动态两类。静态神经网络是无反馈、无记忆的,输出仅依赖于当前的输入,例如BP神经网络和RBF神经网络。动态神经网络是有记忆的神经网络,其输出依赖于当前和以前的输入。动态神经网络又分为有反馈和无反馈,有反馈指输出依赖于当前输入和前一个输入输出,无反馈指输出依赖于当前和之前的输入。因此,动态神经网络比静态神经网络功能强,本文选择动态神经网络进行时间序列预测。 Matlab神经网络工具箱提供了一系列用于模型训练的工具,包括曲线拟合工具箱、模式识别工具箱、聚类工具箱和时间序列工具箱,利用这些工具箱可进行快速的调整参数,通过仿真得到直观的结果。另外,Matlab神经网络工具箱还提供人机交互界面,可根据提示一步一步的完成模型的训练,并对仿真的结果进行分析,直到满足要求为止。 选择时间序列工具箱或者直接在命令窗口中输入ntstool,可打开时间序列预测工具箱界面,根据数据选择符合哪种情况,根据人机交互界面的提示,将数据

基于神经网络的Mackey-Glass时间序列预测

目录 1引言 (1) 2MG时间序列 (1) 2.1MG时间序列简介 (1) 2.2利用dde23函数求解MG时间序列 (1) 3BP神经网络 (3) 3.1神经网络总体思路 (3) 3.2MATLAB中的newff函数 (3) 3.3BP神经网络的训练 (4) 3.4构建输入输出矩阵 (6) 3.5对MG时间序列未来值预测 (6) 4参考文献 (7) 5附录 (8)

1 引言 本文选用的神经网络的是BP 神经网络,利用MATLAB 编程实现。首先通过求解Mackey-Glass 方程得到具有513个数据的Mackey-Glass 时间序列,其中一半用于训练神经网络,一半用于检测预测值。BP 神经网络输入层神经元个数为4,隐含层为8,输出层为1。利用BP 神经网络工具箱构建神经网络并对其进行训练,然后利用训练好的神经网络对未来值进行预测,画出比较图。 2 MG 时间序列 2.1 MG 时间序列简介 Mackey-Glass 混沌系统一类非常典型的混沌系统,混沌系统模型由以下的时滞微分方程来描述: )() (1) ()(t x t x t x dt t dx βτταγ--+-= 其中 α =0.2,β =0.1,γ =10,τ是可调参数,x(t)是在t 时刻的时间序列的值。MG 方程表现出了某种周期性与混沌特性,在τ<16.8时,表现出周期性,在 τ>16.8时,则表现出混沌特性。 2.2 利用dde23函数求解MG 时间序列 本课程设计中取τ=10,也就是说MG 时间序列会表现为周期性。可以利用MATLAB 求解MG 方程,MG 方程是一个时滞微分方程,其中一种求解方法是利用MATLAB 的dde23函数。具体求解方法是:首先建立MG .m 函数文件,代码如下 function y = MG(t,x,z) %UNTITLED Summary of this function goes here % Detailed explanation goes here

神经网络预测时间序列

神经网络预测时间序列 如何作预测?理想方法是利用已知数据建立一系列准则,用于一般条件下预测,实际上由于系统的复杂性而不太可能,如股票市场预测。另一种途径是假设一次观测中过去、未来值之间存在联系。其中一种选择是发现一个函数,当过去观测值作为输入时,给出未来值作为输出。这个模型是由神经网络来实现的。 1.2 神经网络预测时间序列 (1) 简单描述 在时间序列预测中,前馈网络是最常使用的网络。在这种情形下,从数学角度看,网络成为输入输出的非线性函数。记一个时间序列为}{n x ,进行其预测可用下式描述: ),,(1+-1-+=m n n n k n x x x f x (1) 时间序列预测方法即是用神经网络来拟合函数)(?f ,然后预测未来值。 (2) 网络参数和网络大小 用于预测的神经网络性质与网络参数和大小均有关。网络结构包括神经元数目、隐含层数目与连接方式等,对一个给定结构来说, 训练过程就是调整参数以获得近似基本联系,误差定义为均方根误差,训练过程可视为一个优化问题。 在大多数的神经网络研究中,决定多少输入与隐层单元数的定量规则问题目前尚未有好的进展,近有的是一些通用指导:首先, 为使网络成为一个完全通用的映射,必须至少有一个隐层。1989年证明一个隐层的网可逼近闭区间内任意一个连续函数。其次,网络结构要尽可能紧致,即满足要求的最小网络最好。实际上,通常从小网络开始。逐步增加隐层数目。同样输入元数目也是类似处理。 (3) 数据和预测精度 通常把可用的时间序列数据分为两部分:训练数据和检验数据。训练数据一般多于检验数据两倍。检验过程有三种方式: 短期预测精度的检验。用检验数据作为输入,输出与下一个时间序列点作比较,误差统计估计了其精度。 长期预测中迭代一步预测。以一个矢量作为输入,输出作为下一个输入矢量的一部分,递归向前传播。 直接多步预测。即用1+-1-m n n n x x x ,,直接进行预测,输出k n x +的预测值,其中 1>k 。

神经网络预测控制综述

神经网络预测控制综述 摘要:近年来,神经网络预测控制在工业过程控制中不仅得到广泛的应用,而且其理论研究也取得了很大进展。对当前各种神经刚络预测控制方法的现状及其工业应用进行了较深入地分析,并对其存在的问题和今后可能的发展趋势作了进一步探讨。 关键词:神经网络;预测控制:非线性系统;工业过程控制 Abstract: In recent years, neural network predictive control has not only been widely used in industrial process control, but also has made great progress in theoretical research. The current status of various neural network prediction control methods and their industrial applications are analyzed in depth, and the existing question and possible future development trends are further discussed. Keywords: neural network; predictive control: nonlinear system; industrial process control

20世纪70年代以来,人们从工业过程的特点出发,寻找对模型精度要去不高而同样能实现高质量控制性能的方法,预测控制就是在这种背景下发展起的[1]。预测控制技术最初山Richalet和Cutler提出[2],具有多步预测、滚动优化、反馈校正等机理,因此能够克服过程模型的不确定性,体现出优良的控制性能,在工业过程控制中取得了成功的应用。如Shell公司、Honeywell公司、Centum 公司,都在它们的分布式控制系统DCS上装备了商业化的预测控制软件包.并广泛地将其应用于石油、化工、冶金等工业过程中[3]。但是,预测函数控制是以被控对象的基函数的输出响应可以叠加为前提的,因而只适用于线性动态系统控制。对于实际中大量的复杂的非线性工业过程。不能取得理想的控制效果。而神经网络具有分布存储、并行处理、联想记忆、自组织和自学习等功能,以神经元组成的神经网络可以逼近任意的:线性系统。使控制系统具有智能化、鲁棒性和适应性,能处理高维数、非线性、干扰强、难建模的复杂工业过程。因此,将神经网络应用于预测控制,既是实际应用的需要,同时也为预测控制理论的发展开辟了广阔的前景。本文对基于神经网络的预测控制的研究现状进行总结,并展望未来的发展趋势。 l神经网络预测控制的基本算法的发展[4] 实际中的控制对象都带有一定的菲线性,大多数具有弱非线性的对象可用线性化模型近似,并应用已有的线性控制理论的研究成果来获得较好的控制效果。而对具有强非线性的系统的控制则一直是控制界研究的热点和难点。 就预测控制的基本原理而言,只要从被控对象能够抽取出满足要求的预测模型,它便可以应用于任何类型的系统,包括线性和非线性系统。 由于神经网络理论在求解非线性方面的巨大优势,很快被应用于非线性预测控制中。其主要设计思想是:利用一个或多个神经刚络,对非线性系统的过程信息进行前向多步预测,然后通过优化一个含有这些预测信息的多步优化目标函数,获得非线性预测控制律。在实际应用与理论研究中形成了许多不同的算法。如神经网络的内模控制、神经网络的增量型模型算法控制等,近来一些学者对有约束神经网络的预测控制也作了相应的研究。文献[5]设计了多层前馈神经网络,使控制律离线求解。文献[6]采用两个网络进行预测,但结构复杂,距离实际应用还有一定的距离,文献[7]利用递阶遗传算法,经训练得出离线神经网络模型.经多步预测得出对象的预测模型,给出了具有时延的非线性系统的优化预测控制。将神经网络用于GPC的研究成果有利用Tank.Hopfield网络处理GPC矩阵求逆的算法,基于神经网络误差修正的GPC算法、利用小脑模型进行提前计算的GPC 算法、基于GPC的对角递归神经网络控制方法以及用神经网络处理约束情形的预

神经网络对时间序列的处理(1)

神经网络对时间序列的处理 Georg Dorffner 奥地利维也纳大学人工智能研究所医疗控制论和人工智能部门 摘要: 本文介绍了神经网络在时间序列处理的最常见类型,即模式识别和时空模式的预测。重视神经网络模型和更多经典时间序列的处理方法之间的关系,尤其是预测。文章首先通过介绍基本的时间序列加工、讨论了前馈以及递归神经网络,和他们非线性模型在时空模式的依赖能力方面。 1.介绍 世界是一直在变的。无论我们观察还是措施——个物理价值,诸如温度和自由交易的价格好—在不同的时间点。经典模式识别,并且与它的很大一部分神经网络应用中,主要涉及了检测系统模式以一个数组的形式返回(静态模式)。典型的应用包括输入向量的分类成多个类别之一(判别分析),或近似描述之间的可见的依赖关系(倒退)。当随时间变化而变化也被考虑进去,额外的,时间维就是补充。虽然在很大程度上这一问题仍然可以被经典模式识别,一些附加的重要方面仍然起作用。统计领域的时空数据分析这种关注(例如具有一定的时空维度的数据),通常是被称为时间序列处理。 本文旨在介绍利用神经网络的基本原理为时间序列处理。作为一个教程,它自然只能触及表面的这个行业,留下许多重要的细节都没动。不过,概述最相关方面的工作基础,形成了这个领域的佼佼者。这篇文章是很有参考价值的一个指南,并给出了更远、更详细的文学。关于神经网络学习算法的基本知识建筑已被假定。 2.时间序列处理 2.1.基本要素 在正式的条件,时间序列是一系列向量,根据t:~x(t):t =0;1;…… (1)。 向量的组成部分可以是任何可观察变量,诸如: 1)在一幢建筑里的空气温度 2)在给定的证券交易所的某些产品价格 3)在一个特定城市新出生的人数 4)在一个特定社区的水的总消费金额 从理论上讲,x ~可以被看作是时间变量t的连续函数。然而用于实际目的时,时间是通常被看作离散的时间间隔,这就导致在每个时间间隔的终点产生x的实体。这就是为什么一个人说话的时间顺序或系列。时间间隔的尺寸通常依手边问题,可以是任何东西,从几秒,几小时到几天,甚至几年。 在许多情况下,可观察量只有在离散的时间间隔(例如,在每一个小时,或天某一商品的价格)必然会形成时间序列。在其他情况下(例一个城市的新出生的人数),价值观必须累积或均一段时间间隔(如每月引起的出生人数)得到系列。在时间确实是连续的领域(例如当温度在某一地点是可见) 一个人必须点测量变量的藉所选择的时间间隔来获得一个系列(如每个小时的温度)。这就是所谓的抽样。取样频率就是所测量时段的点个数,在这种情况下是一个非常重要的参数,因为不同频率能从本质上改变所获得时间序列的主要特点。 值得注意的是,有另一个领域非常密切相关,即加工时间序列信号处理。例如语音识别,即异常模式心电图的发现(ECGs),或脑电图的自动分级(EEGs)。一个信号,当采样成一串值的离散的时间间隔时,构成上述定义的时间序列。因此和时间序列信号处理没有一个正式的区别。在普遍的应用程序中可以发现不同(例如单个信号的识别和滤波;时间序列处理的预测),自然的时间序列(一个采样间隔时间信号通常是一小段时间,而在时间序列处理区间常是小时)。但这只是一个从原型中的应用的观察,并没有明确的边界。因此,时间序列处理可借鉴对信号处理的方法探索,反之亦然。神经网络应用程序在信号处理的概述在文献【54,51】。 如果矢量~ x只含有一个组件,在许多应用场合情况中,有的说是一个单变量的时间序列,否则它就是一个多元。它非常仰赖棘手问题的单变量治疗是否会导致图案识别的结果。如果几个可观察量相互影响(例如空气温度和消耗的水量)一个多变量分析治疗(即基于几个可观察量的分析{~x超过一个变量})将被标明。在大多数讨论中,我们依然遵循单变量的事件序列处理。 2.2处理类型 根据时间序列分析的目的,时间序列分析的典型应用可以分为: 1.时间序列未来发展的预测 2.时间序列的分类或分成几类的一部分 3.根据参数模型对时间序列的描述

用小波神经网络来对时间序列进行预测

/* Note:Your choice is C IDE */ #include"stdio.h" void main() { }/*用小波神经网络来对时间序列进行预测 */ /*%File name : nprogram.m %Description : This file reads the data from %its source into their respective matrices prior to % performing wavelet decomposition. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Clear command screen and variables */ clc; clear; /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % user desired resolution level (Tested: resolution = 2 is best)*/ level = menu('Enter desired resolution level: ', '1',... '2 (Select this for testing)', '3', '4'); switch level case 1, resolution = 1; case 2, resolution = 2; case 3, resolution = 3; case 4, resolution = 4; end msg = ['Resolution level to be used is ', num2str(resolution)]; disp(msg); /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % user desired amount of data to use */ data = menu('Choose amount of data to use: ', '1 day', '2 days', '3 days', '4 days',... '5 days', '6 days', '1 week (Select this for testing)'); switch data case 1, dataPoints = 48; /*%1 day = 48 points */ case 2, dataPoints = 96; /* %2 days = 96 points */ case 3, dataPoints = 144; /*%3 days = 144 points */ case 4, dataPoints = 192; /*%4 days = 192 points */ case 5, dataPoints = 240; /* %5 days = 240 points */

MATLAB动态神经网络在时间序列预测中的应用

龙源期刊网 https://www.sodocs.net/doc/db351633.html, MATLAB动态神经网络在时间序列预测中的应用 作者:张云丽韩宪忠王克俭 来源:《科学与技术》2014年第08期 摘要:本文在介绍了Matlab神经网络工具箱的基础上,主要对时间序列预测工具箱的使 用作了说明,并用实例仿真说明如何进行时间序列预测的调用实现,通过不断的调整参数,最后使训练的模型比较理想,满足实际的需求,表明了直接使用时间序列预测的有效性,并为Matlab神经网络工具箱的使用提供了新的方法。 关键词:Matlab;神经网络;时间序列;预测 中图分类号:TP391.41 文献识别码:A 引言 时间序列是根据时间顺序得到跟时间相关的变量或者参数的观测数据[1]。对时间序列的 研究主要是挖掘其中有价值的信息,找到其中变化的内在规律[2]。时间序列预测是时间序列 分析研究的主要内容,是指根据现有的和历史的时间序列的数据,建立能反映时间序列中所包含的动态依存关系的数学模型[3],从而能对序列未来的趋势做出合理的预测。简单的说,时 间序列预测就是用已有的数据预测下一个时间段的值。目前,时间序列预测已经广泛应用在自然界、经济、化学、科学工程等各个领域。 随着Matlab版本的不断更新,神经网络工具箱不断的完善,使得仿真的实现日益简单, R2010b后的版本对时间序列预测的实现不需要手动写代码,网络训练完毕,从Simple Script 可看到网络代码,并可对代码进行编辑、改编,因此,只要调用就可应用在各个领域。本文结合时间序列预测的特点,将Matlab神经网络工具箱中的时间序列预测应用到温度预测的实例中,通过快速的仿真及不断的调整参数,从而形成较理想的数学模型,为后期进行温度的预测奠定了基础。 1Matlab神经网络工具箱简介 神经网络分为静态和动态两类。静态神经网络是无反馈、无记忆的,输出仅依赖于当前的输入,例如BP神经网络和RBF神经网络。动态神经网络是有记忆的神经网络,其输出依赖于当前和以前的输入。动态神经网络又分为有反馈和无反馈,有反馈指输出依赖于当前输入和前一个输入输出,无反馈指输出依赖于当前和之前的输入。因此,动态神经网络比静态神经网络功能强,本文选择动态神经网络进行时间序列预测。

基于神经网络的MackeyGlass时间序列预测

目录 1引言2 2MG时间序列2 2.1MG时间序列简介2 2.2利用dde23函数求解MG时间序列2 3BP神经网络4 3.1神经网络总体思路4 3.2MATLAB中的newff函数4 3.3BP神经网络的训练5 3.4构建输入输出矩阵6 3.5对MG时间序列未来值预测7 4参考文献8 5附录8

1 引言 本文选用的神经网络的是BP 神经网络,利用MATLAB 编程实现。首先通过求解Mackey-Glass 方程得到具有513个数据的Mackey-Glass 时间序列,其中一半用于训练神经网络,一半用于检测预测值。BP 神经网络输入层神经元个数为4,隐含层为8,输出层为1。利用BP 神经网络工具箱构建神经网络并对其进行训练,然后利用训练好的神经网络对未来值进行预测,画出比较图。 2 MG 时间序列 2.1 MG 时间序列简介 Mackey-Glass 混沌系统一类非常典型的混沌系统,混沌系统模型由以下的时滞微分方程来描述: )() (1) ()(t x t x t x dt t dx βτταγ--+-= 其中 α =0.2,β =0.1,γ =10,τ是可调参数,x(t)是在t 时刻的时间序列的值。MG 方程表现出了某种周期性与混沌特性,在τ<16.8时,表现出周期性,在 τ>16.8时,则表现出混沌特性。 2.2 利用dde23函数求解MG 时间序列 本课程设计中取τ=10,也就是说MG 时间序列会表现为周期性。可以利用MATLAB 求解MG 方程,MG 方程是一个时滞微分方程,其中一种求解方法是利用MATLAB 的dde23函数。具体求解方法是:首先建立MG .m 函数文件,代码如下 function y = MG(t,x,z) %UNTITLED Summary of this function goes here % Detailed explanation goes here xlag=z(1,:);

基于神经网络的预测控制模型仿真

基于神经网络的预测控制模型仿真 摘要:本文利用一种权值可以在线调整的动态BP神经网络对模型预测误差进行拟合并与预测模型一起构成动态组合预测器,在此基础上形成对模型误差具有动态补偿能力的预测控制算法。该算法显著提高了预测精度,增强了预测控制算法的鲁棒性。 关键词:预测控制神经网络动态矩阵误差补偿 1.引言 动态矩阵控制(DMC)是一种适用于渐近稳定的线性或弱非线性对象的预测控制算法,目前已广泛应用于工业过程控制。它基于对象阶跃响应系数建立预测模型,因此建模简单,同时采用多步滚动优化与反馈校正相结合,能直接处理大时滞对象,并具有良好的跟踪性能和较强的鲁棒性。 但是,DMC算法在实际控制中存在一系列问题,模型失配是其中普遍存在的一个问题,并会不同程度地影响系统性能。DMC在实际控制中产生模型失配的原因主要有2个,一是诸如建模误差、环境干扰等因素,它会在实际控制的全程范围内引起DMC的模型失配;二是实际系统的非线性特性,这一特性使得被控对象的模型发生变化,此时若用一组固定的阶跃响应数据设计控制器进行全程范围的控制,必然会使实际控制在对象的非建模区段内出现模型失配。针对DMC模型失配问题,已有学者进行了大量的研究,并取得了丰富的研究成果,其中有基于DMC控制参数在线辨识的智能控制算法,基于模型在线辨识的自校正控制算法以及用神经元网络进行模型辨识、在辨识的基础上再进行动态矩阵控制等。这些算法尽管进行在线辨识修正对象模型参数,仍对对象降阶建模误差(结构性建模误差)的鲁棒性不好,并对随机噪声干扰较敏感。针对以上问题,出现了基于误差校正的动态矩阵控制算法。这些文献用基于时间序列预测的数学模型误差代替原模型误差,得到对未来误差的预测。有人还将这种误差预测方法引入动态矩阵控制,并应用于实际。这种方法虽然使系统表现出良好的稳定性,但建立精确的误差数学模型还存在一定的困难。 本文利用神经网络通过训练学习能逼近任意连续有界函数的特点,建立了一种采用BP 神经网络进行预测误差补偿的DMC预测控制模型。其中神经网络预测误差描述了在预测模型中未能包含的一切不确定性信息,可以归结为用BP神经网络基于一系列过去的误差信息预测未来的误差,它作为模型预测的重要补充,不仅降低建立数学模型的负担,而且还可以弥补在对象模型中已简化或无法加以考虑的一切其他因素。 本文通过进行仿真,验证了基于神经网络误差补偿的预测控制算法的有效性及优越性,

相关主题