神经网络预测时间序列如何作预测?理想方法是利用已知数据建立一系列准则,用于一般条件下预测,实际上由于系统的复杂性而不太可能,如股票市场预测。
另一种途径是假设一次观测中过去、未来值之间存在联系。
其中一种选择是发现一个函数,当过去观测值作为输入时,给出未来值作为输出。
这个模型是由神经网络来实现的。
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 。
太阳黑子的6个分量,输入神经元的个数分别为:9、8、11、6、5、3。
对每一个尺度分解的成分进行归一化后,精度有明显的提高。
当训练样本长度为244点(从1700年到1943年),检验样本长度为60点(从1944年到2003年),一步向前预测结果的均方误差(Mean square error, MSE )对比。
其中,只用一个神经网络训练的神经元输入为9个。
多分量神经网络中的每个分量的神经元输入分别为9,8,11,6,5,3。
⎪⎪⎭⎫⎝⎛20=∑∑2210)()(t e t x Log SNR ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------以不平衡模型为基准,1024点,12阶(每个分量的神经元输入数目为12个),分别输入8个不平衡故障样本,8个不对中故障样本,8个不对中加松动故障样本,样本长度为1024。
其SNR 值见下表。
----------------------------------------------------------------------------------------------------- 以不对中为基准,1024点,12阶(每个分量的神经元输入数目为12个),分别输入8个不平衡故障样本,8个不对中故障样本,8个不对中加松动故障样本,样本长度为1024。
其SNR 值见下表。
----------------------------------------------------------------------------------------------------- 以不对中与松动为基准,1024点,12阶(每个分量的神经元输入数目为12个),分别输入8个不平衡故障样本,8个不对中故障样本,8个不对中加松动故障样本,样本长度为1024。
其SNR值见下表。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 以不对中为基准,512点,12阶(每个分量的神经元输入数目为12个),分别输入8个不平衡故障样本,8个不对中故障样本,8个不对中加松动故障样本,样本长度为512。
其SNR值见下表。
----------------------------------------------------------------------------------------------------- 以不对中与松动为基准,512点,12阶。
分别输入8个不平衡故障样本,8个不对中故障样本,8个不对中加松动故障样本,样本长度为512。
其SNR值见下表。
----------------------------------------------------------------------------------------------------- 以不平衡为基准,512点,12阶。
SNR值见下表。
----------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------- 以不对中为基准,256点,12阶。
分别输入8个不平衡故障样本,8个不对中故障样本,8个不对中加松动故障样本,样本长度为256。
其SNR值见下表。
----------------------------------------------------------------------------------------------------- 以不对中与松动为基准,256点,12阶。
SNR值见下表----------------------------------------------------------------------------------------------------- 以不平衡为基准,256点,12阶。
SNR值见下表----------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------------不同样本点数下的SNR 均值和标准偏差为Levenberg-Marquardt 方法简介:基于Gauss-Newton 的Levenberg-Marquardt (L-M )算法,以其快速的收敛速度和鲁棒性,优于共轭梯度法及变学习率的BP 算法,是最小化均方误差准则的标准方法。
本文采用基于L-M 算法[2 Hagan M T , Menhaj M B. Training feedforwardnetworks works with the marquardt algorithm [ J ] . IEEE Trans Neural Net , 1994 ,5(6) :989~993. 基于Levenberg 2Marquardt 算法的神经网络监督控制,赵弘,周瑞祥,林廷圻。
西安交通大学学报,Vol. 36 ,№5,May 2002] 的多层前向网络。
多层前向神经网络具有理论上可逼近任意非线性连续映射的能力, 因而非常适合于非线性系统的建模及控制,是目前在控制领域中使用较多的一种神经网络模型。
2. 2 L- M 算法常用的BP 算法是梯度下降法。
参数沿着误差梯度相反的方向移动,使误差函数减小,直到取得极小值,其计算的复杂度主要是由计算偏导数引起的。
但是,这种基于梯度下降方法的线性收敛速度很慢,而L- M 算法是高斯-牛顿法的改进形式,既有高斯-牛顿法的局部特性又具有梯度法的全局特性。
以下是对L-M 算法的简要说明。
设)(w V 是关于权值向量w 均方误差最小化的指标函数,权值及阈值的变化可以看成 w ∆,对于牛顿法则是)()]([ w w w V V ∇∇=∆1-2 (16)式中:)(w V 2∇是指标函数)(w V 的Hessian 矩阵;)(w V ∇表示梯度。
将)(w V 写成误差平方和函数的形式 ∑1=2=Ni i e V )()(w w (17)则有)()()(w w w e J V T =∇ (18) )()()()(w w w w S J J V T +=∇2 (19))(w J 为误差对权值向量微分的Jacobian 矩阵,)()()(w w w i Ni i e e S 21=∇=∑,)(w e 为网络的误差向量。
对于高斯-牛顿方法,假定0≈)(w S ,则(16)式更新为)()()]()([w w w w w e J J J T T 1-=∆ (20)L-M 算法是对高斯-牛顿方法的改进,神经网络的权值调整率为)()(])()([w w I w w w e J J J T T 1-+=∆μ (21)其中,I 为单位矩阵;μ为某个可以进行自适应调整的非负数。
该修正方法依赖于μ幅值的改变,光滑地在二阶的高斯--牛顿法(0→μ)和经典的梯度法(∞→μ)两种极端之间变化,充分发挥了两种算法的优势。
因为利用了二阶导数信息,L-M 算法比梯度法快得多,而且])()([I w w μ+J J T 是正定的,所以式(21)的解总是存在的。
从这个意义上说,L-M 算法优于高斯-牛顿法,因为对于高斯-牛顿法,)()(w w J J T 是否满秩还是一个不定的问题。