1997年6月系统工程理论与实践第6期
神经网络方法及其在非线性时间序列预测中的应用
卢学强 梁雪慧
(天津市环境保护科学研究所300191) (天津市电力建设公司300300)
卢学军
(河北工业大学, 天津300131)
摘要 在介绍神经网络方法后, 对其应用于非线性时间序列预测进行了探讨。通过实例验证, 该方法
科学合理。
关键词 神经网络 非线性时间序列 预测
Neural Netw ork and Its Application to Pridiction
of Nonlinear T ime Sequence
Lu Xueqiang
(T ianjin Envir om enta l P ro tectio n I nstitute 300191)
Liang Xuehui
(T ianjin Eelectr ic Construction Company 300300)
Lu Xuejun
(Hebei U niver sity of T echnolog y , T ianjin 300131)
Abstract A fter intro ductio n to neur al net wo rk, its a pplicatio n to pr idictio n of no nlin-ear t ime sequnce is discussed. It can be seen fro m the ex ample that this met ho d is scien-tific a nd rea so nable.
Keywords neura l netw or k; nonlinear time sequence; pridict ion
1 引言
神经网络具有并行处理、自适应自组织、联想记忆及容错和鲁棒性(Ro bustness ) 等特点。由神经网络理论中的K olmog or ov 连续性定理, 即:给定任一连续函数 :E m →R m , (x ) =y , 这里E 是闭单位区间[0, 1], E m 为m 维单位立方体, 则 可以精确地由一个三层神经网络来实现。任何一个时间序列都可以看成是一个由非线性机制确定的输入输出系统, 因此该理论从数学上保证了神经网络用于时间序列预测的可行性。又由于预测中, 所有的信息均来自单一的序列, 所以在应用中一般使用反向传播方向来进行有记忆地训练和预测。具体地讲, 可以采用BP 网络来进行非线性时间序列预测。其可以较好地揭示非线性时间序列在时延状态空间中的相关性, 从而达到预测目的。
98
系统工程理论与实践1997年6月
2 BP 网络概言
BP 网络, 即误差后向传播神经网络, 是神经网络模型中应用最广泛的一种。一般可选用三层非循环网络。假设B P 网络每层有N 个处理单元, 作用函数为非线性的Sigmo id 型函数, 一般采用f (x ) =1/(1+e *) , 训练集包括M 个样本模式(x k , y k ) 。对第P 个训练样本(P =1, 2, …, M ) , 单元j 的输入总和记为a p j , 输出记为O p j , 则:
a p j =
N
W j i O p j
j =0
O p j =f (a p j )
如果任意设置网络初始权值, 那么对每个输入模式P , 网络输出与期望输出(d p j ) 间误差为
E =
BP 网络的权值修正公式为
W ij =W j i (t ) + p j O p j p j =
f '(a p j ) (d p j -O p j ) , 对于输出单元f '(a p j )
E p =((d p j -O p j ) 2) /2
j
p k W k j , 对于输入单元
k
为加快网络收敛速度, 应取值足够大又不致产生振荡。通常权值正公式中还需加一个势态项, 从而有:
W j i =W j i (t ) + p j + (W j i (t ) -W j i (t -1) ) 式中, 为一常数项称势态因子, 它决定上一次学习的权值对本次权值的影响。其具体的算法步骤详见文
[3]。
3 基于B P 网络的非线性时间序列预测方法
对于某一维非线性时间序列x (t ) , t ∈[1, n ], 若要预测x (n +1) 的值, 首先需要构造BP 网络的结构形式, 即多个已知序列值顺序输入(输入节点) 的输入模式一个期望输出(输出节点) 的输出模式。输入模式中输入节点数的确定原则为其数值应大于该序列嵌入维数以保存序列内蕴的确定性的性质。具体应用中往往不知道序列的维数, 可采用以下两种方法求得输入节点数:
方法一 对于较长时间序列可以 将序列分为两部分其一为训练部分, 其二为检验部分。 分别由小到大改变输入节点数训练并检验其精确度, 当输入节数的增加误差不进一步减小时, 其中输入节点数变化的临界值即为应采用的数值。
方法二 对于较短时间序列可以将训练部分与检验部分重合或部分重合, 选择训练时间短网络收敛快时的输入节点数为应采用的数值。
确定网络的输入输出模式的结构形式后, 便可从已值序列值中提取样本模式构成训练集, 进而对网络进行训练, 直至达到一定小的误差要求为止。网络训练结束后便可以序列最后的几个数值x (n -m +1) , x (n -m +2) , …, x (n ) 为输入模型(其中m 为选定的输入节点数) 对x (n +1) 的值进行预测。
另外, 对于原始值较大的序列应对其进行一定的预处理, 一般可采用初值化、极差化或等比变换(如同除以10000等) 。通过这些变换可有效地缩短网络训练时间从而加快网络收敛速度。其次, 输入模式应随机提供给网络, 以防训练时出现网络振荡和不可控性。
4 应用实例
随着图们江地区(即国际上称谓的“东北亚金三角地区”) 的开发的提出, 对于该区域的社会经济持续发展的研究便有着特殊的重要性和迫切性。我们知道社会经济序列属于非线性时间序列, 其不能用线性函数来研究。本文利用三层BP 网络对此区域(包括珲春、图们、延吉和龙井四市) 的社会生产总值进行了预
第6期神经网络方法及其在非线性时间序列预测中的应用
99
由于已知序列值较短(1986年-1993年) 故对于该序列预测中的输入节点数的确定依据方法二。分别选输入节点为2、3、4、5、6进行计算, 出现如下情况:当输入节点为2时, 网络发生振荡; 当输入节点为3时, 网络收敛很慢训练须达30000次以上; 当输入节点为4时, 网络收敛较快训练11000次, 网络误差为0. 000001; 当输入节点为5、6时网络收敛也较慢, 网络达到精度要求训练须达20000次以上。其中为便于比较, 计算中隐层节点均为4个, 输出节点为1个。
由以上结果可以看出, 当输入节点小于等于3时由于小于或接近于该序列的嵌入维数而无法揭示序列的内蕴的确定性, 因而网络发生振荡或收敛很慢。当输入节点等于4时, 由于其大于该序列的嵌入维数因而网络较快收敛至所要求精度。当输入节点大于4时, 由于输入节点的增多使网络计算量增加因而网络较慢收敛至所要求精度。综上所述, 对本区域社会生产总值的预测中, B P 网络的输入节点应选为4。对区域社会生产总值预测时, 利用上面所确定的BP 网络结构和方法, 同时利用灰色系统中的预测模型:残差辨识模型(GM 1) 、等维递阶GM (1, 1) 模型(GM 2) 和一般GM (1, 1) 模型(GM 3) , 将预测结果列于表1之中。由于表中可以看出, BP 网络方法预测在准确度和精确度方面明显优于灰色系统中的三种预测方法。因而, 该区域1994年的社会生产总值为1097109万元, 其为该区域的环境经济综合整治规划提供了科学的依据。
表1 图们江地区社会生产总值预测
年度[***********][***********]
社会生产总值(万元) [***********][***********][1**********]0
[***********][1**********]09
0. 10. 30. 20. 2
[***********][1**********]07
4. 83. 714. 65. 1
[***********][1**********]09
54. 815. 84. 63. 6
BP 网络方法预测值(万元)
误差(%)
GM 1预测值(万元)
误差(%)
GM 2预测值(万元)
误差(%)
GM 3预测值(万元) [***********][***********][***********]73
误差(%) 0. 012. 72. 69. 925. 138. 231. 48. 4
5 结束语
由上文分析可以得到, BP 网络应用于非线性时间序列预测是可行的。通过实例验证, 该方法较灰色系统方法有着更高精确度和准确度, 但运算时间相对较长且只适用于递推式预测问题。
参考文献
1 王东生, 曹磊. 混沌、分形及其应用. 合肥:中国科技大学出版社, 1995.
2 李孝安, 张晓缋. 神经网络与神经计算机导论. 西安:西北工业大学出版社, 1994. 3 卢学强, 宋浩威, 孙本龙, 王占龙. BP 网络在环境评价中的应用. 干旱环境监测. 1995(4). 4 邓聚龙. 灰色预测与决策. 武汉:华中理工大学出版社, 1986.
1997年6月系统工程理论与实践第6期
神经网络方法及其在非线性时间序列预测中的应用
卢学强 梁雪慧
(天津市环境保护科学研究所300191) (天津市电力建设公司300300)
卢学军
(河北工业大学, 天津300131)
摘要 在介绍神经网络方法后, 对其应用于非线性时间序列预测进行了探讨。通过实例验证, 该方法
科学合理。
关键词 神经网络 非线性时间序列 预测
Neural Netw ork and Its Application to Pridiction
of Nonlinear T ime Sequence
Lu Xueqiang
(T ianjin Envir om enta l P ro tectio n I nstitute 300191)
Liang Xuehui
(T ianjin Eelectr ic Construction Company 300300)
Lu Xuejun
(Hebei U niver sity of T echnolog y , T ianjin 300131)
Abstract A fter intro ductio n to neur al net wo rk, its a pplicatio n to pr idictio n of no nlin-ear t ime sequnce is discussed. It can be seen fro m the ex ample that this met ho d is scien-tific a nd rea so nable.
Keywords neura l netw or k; nonlinear time sequence; pridict ion
1 引言
神经网络具有并行处理、自适应自组织、联想记忆及容错和鲁棒性(Ro bustness ) 等特点。由神经网络理论中的K olmog or ov 连续性定理, 即:给定任一连续函数 :E m →R m , (x ) =y , 这里E 是闭单位区间[0, 1], E m 为m 维单位立方体, 则 可以精确地由一个三层神经网络来实现。任何一个时间序列都可以看成是一个由非线性机制确定的输入输出系统, 因此该理论从数学上保证了神经网络用于时间序列预测的可行性。又由于预测中, 所有的信息均来自单一的序列, 所以在应用中一般使用反向传播方向来进行有记忆地训练和预测。具体地讲, 可以采用BP 网络来进行非线性时间序列预测。其可以较好地揭示非线性时间序列在时延状态空间中的相关性, 从而达到预测目的。
98
系统工程理论与实践1997年6月
2 BP 网络概言
BP 网络, 即误差后向传播神经网络, 是神经网络模型中应用最广泛的一种。一般可选用三层非循环网络。假设B P 网络每层有N 个处理单元, 作用函数为非线性的Sigmo id 型函数, 一般采用f (x ) =1/(1+e *) , 训练集包括M 个样本模式(x k , y k ) 。对第P 个训练样本(P =1, 2, …, M ) , 单元j 的输入总和记为a p j , 输出记为O p j , 则:
a p j =
N
W j i O p j
j =0
O p j =f (a p j )
如果任意设置网络初始权值, 那么对每个输入模式P , 网络输出与期望输出(d p j ) 间误差为
E =
BP 网络的权值修正公式为
W ij =W j i (t ) + p j O p j p j =
f '(a p j ) (d p j -O p j ) , 对于输出单元f '(a p j )
E p =((d p j -O p j ) 2) /2
j
p k W k j , 对于输入单元
k
为加快网络收敛速度, 应取值足够大又不致产生振荡。通常权值正公式中还需加一个势态项, 从而有:
W j i =W j i (t ) + p j + (W j i (t ) -W j i (t -1) ) 式中, 为一常数项称势态因子, 它决定上一次学习的权值对本次权值的影响。其具体的算法步骤详见文
[3]。
3 基于B P 网络的非线性时间序列预测方法
对于某一维非线性时间序列x (t ) , t ∈[1, n ], 若要预测x (n +1) 的值, 首先需要构造BP 网络的结构形式, 即多个已知序列值顺序输入(输入节点) 的输入模式一个期望输出(输出节点) 的输出模式。输入模式中输入节点数的确定原则为其数值应大于该序列嵌入维数以保存序列内蕴的确定性的性质。具体应用中往往不知道序列的维数, 可采用以下两种方法求得输入节点数:
方法一 对于较长时间序列可以 将序列分为两部分其一为训练部分, 其二为检验部分。 分别由小到大改变输入节点数训练并检验其精确度, 当输入节数的增加误差不进一步减小时, 其中输入节点数变化的临界值即为应采用的数值。
方法二 对于较短时间序列可以将训练部分与检验部分重合或部分重合, 选择训练时间短网络收敛快时的输入节点数为应采用的数值。
确定网络的输入输出模式的结构形式后, 便可从已值序列值中提取样本模式构成训练集, 进而对网络进行训练, 直至达到一定小的误差要求为止。网络训练结束后便可以序列最后的几个数值x (n -m +1) , x (n -m +2) , …, x (n ) 为输入模型(其中m 为选定的输入节点数) 对x (n +1) 的值进行预测。
另外, 对于原始值较大的序列应对其进行一定的预处理, 一般可采用初值化、极差化或等比变换(如同除以10000等) 。通过这些变换可有效地缩短网络训练时间从而加快网络收敛速度。其次, 输入模式应随机提供给网络, 以防训练时出现网络振荡和不可控性。
4 应用实例
随着图们江地区(即国际上称谓的“东北亚金三角地区”) 的开发的提出, 对于该区域的社会经济持续发展的研究便有着特殊的重要性和迫切性。我们知道社会经济序列属于非线性时间序列, 其不能用线性函数来研究。本文利用三层BP 网络对此区域(包括珲春、图们、延吉和龙井四市) 的社会生产总值进行了预
第6期神经网络方法及其在非线性时间序列预测中的应用
99
由于已知序列值较短(1986年-1993年) 故对于该序列预测中的输入节点数的确定依据方法二。分别选输入节点为2、3、4、5、6进行计算, 出现如下情况:当输入节点为2时, 网络发生振荡; 当输入节点为3时, 网络收敛很慢训练须达30000次以上; 当输入节点为4时, 网络收敛较快训练11000次, 网络误差为0. 000001; 当输入节点为5、6时网络收敛也较慢, 网络达到精度要求训练须达20000次以上。其中为便于比较, 计算中隐层节点均为4个, 输出节点为1个。
由以上结果可以看出, 当输入节点小于等于3时由于小于或接近于该序列的嵌入维数而无法揭示序列的内蕴的确定性, 因而网络发生振荡或收敛很慢。当输入节点等于4时, 由于其大于该序列的嵌入维数因而网络较快收敛至所要求精度。当输入节点大于4时, 由于输入节点的增多使网络计算量增加因而网络较慢收敛至所要求精度。综上所述, 对本区域社会生产总值的预测中, B P 网络的输入节点应选为4。对区域社会生产总值预测时, 利用上面所确定的BP 网络结构和方法, 同时利用灰色系统中的预测模型:残差辨识模型(GM 1) 、等维递阶GM (1, 1) 模型(GM 2) 和一般GM (1, 1) 模型(GM 3) , 将预测结果列于表1之中。由于表中可以看出, BP 网络方法预测在准确度和精确度方面明显优于灰色系统中的三种预测方法。因而, 该区域1994年的社会生产总值为1097109万元, 其为该区域的环境经济综合整治规划提供了科学的依据。
表1 图们江地区社会生产总值预测
年度[***********][***********]
社会生产总值(万元) [***********][***********][1**********]0
[***********][1**********]09
0. 10. 30. 20. 2
[***********][1**********]07
4. 83. 714. 65. 1
[***********][1**********]09
54. 815. 84. 63. 6
BP 网络方法预测值(万元)
误差(%)
GM 1预测值(万元)
误差(%)
GM 2预测值(万元)
误差(%)
GM 3预测值(万元) [***********][***********][***********]73
误差(%) 0. 012. 72. 69. 925. 138. 231. 48. 4
5 结束语
由上文分析可以得到, BP 网络应用于非线性时间序列预测是可行的。通过实例验证, 该方法较灰色系统方法有着更高精确度和准确度, 但运算时间相对较长且只适用于递推式预测问题。
参考文献
1 王东生, 曹磊. 混沌、分形及其应用. 合肥:中国科技大学出版社, 1995.
2 李孝安, 张晓缋. 神经网络与神经计算机导论. 西安:西北工业大学出版社, 1994. 3 卢学强, 宋浩威, 孙本龙, 王占龙. BP 网络在环境评价中的应用. 干旱环境监测. 1995(4). 4 邓聚龙. 灰色预测与决策. 武汉:华中理工大学出版社, 1986.