基于独立源分析的小波神经网络油价预测

2018-10-30 03:43高艺晋童纪新
统计与决策 2018年19期
关键词:小波神经元神经网络

高艺晋,童纪新,代 杰

(河海大学 商学院,南京 211100)

0 引言

原油价格的准确预测能够有效规避能源风险,在此课题上,国内外专家学者从不同的角度提出了众多的预测方法与理论,主要包括ARIMA、GARCH等传统的计量经济学方法[1,2]以及近些年来流行的所属机器学习类的多种模型。

各类原油时间序列数据具有高度非线性、非平稳、影响因子多而复杂且难以确定的特点,而传统计量经济学方法存在着模型参数设置困难,函数选择不尽如人意的问题。相比之下,人工神经网络在时间序列预测领域准确率高、泛化能力出众以及其固有的非线性特点被认为是一种合适的油价预测方法[3]。BP网络的出现有效地解决了神经网络的学习机制问题,因而在油价预测领域得到了广泛的应用。Imad Haidar[4]使用单一隐含层的BP神经网络,准确预测了石油现货价格短期走势。为了优化BP神经网络的输入的模式,贾振华等[5]使用主成分分析的方法对油价多影响因子进行有效约减,在解决BP神经网络“维数灾难”的同时有效消除信息噪声,简化BP神经网络结构,提高了BP神经网络的预测精度。

有研究证明,相比于BP神经网络,小波神经网络在逼近能力,泛化能力和收敛速度上更加优秀[6]。范丽伟[7]使用主成分分析的方法对油价影响因素数据进行预处理,再将所提取到的多个主成分输入小波神经网络来实现对WTI现货价格的准确预测,研究结果表明相比于BP神经网络和基于主成分的BP神经网络,基于主成分分析的小波神经网络预测精度更高,预测稳定性更强,泛化能力更出众。而主成分分析作为独立成分分析白化步骤的一部?分,分离所得到的信号源仅仅是不相关的,范丽伟已经说明独立成分分析相比于主成分分析更能发现复杂问题的独立源影响因素,有利于后续的数据处理[8]。因此在使用主成分分析方法做预处理的研究基础上,本文选择基于独立成分分析预处理的小波神经网络(ICA-WNN)来对WTI现货价格的预测做进一步的研究。

1 ICA方法

独立成分分析方法(ICA)是一种基于高阶统计独立性,以非高斯源数据作为研究对象,实现多种混合数据分离问题的数学算法。任何复杂数据都可以看成由多维源数据和噪声数据混合而成的,ICA可以在源数据和混合方法参数未知的情况下,仅由观测到的混合数据恢复出源数据的各个独立分量。

该方法适用于对复杂数据进行预处理,在预测问题中,可能面临影响预测目标因素多而复杂的困难,同时各个影响因素之间存在着相关性与一定的信息重叠,这样不仅增加了分析问题的难度,也会影响到模型预测的精确度与求解迭代速度,在这种情况下,对数据进行独立成分分析,有助于去除数据冗余,减少信息噪声。

在ICA方法中定义:

P=(p1,p2,...,pn)T为观测到的n维混合数据,S=(s1,s2,...,sm)T为m维源数据即为独立成分,A为n×m维混合矩阵。ICA方法的目的就是通过求解解混矩阵C来实现对独立成分Y的准确估计。

当然,进行独立成分分析的前提是假设源数据服从非高斯分布以及各个独立成分是统计独立的。

近些年来快速独立成分分析方法(FastICA)得到广泛运用,该算法基于非高斯性最大原理,使用固定点迭代理论寻找非高斯性最大值,它采用牛顿迭代算法对混合信号进行批处理,每次从观测信号X中分离出一个独立成分,是独立成分分析的一种快速算法。该算法的非高斯性函数为[9]:

在式(4)中,v为标准高斯随机向量,函数G的2种方式可以为[10]:

在式(5)中,a1∈[1 , 2],FastICA算法具有收敛速度快,不需要对源信号概率密度函数进行估计,不需要选择步长参数以及适用面广的优点。本文采用基于负熵的Fast-ICA算法,以最大化负熵为求解方向,逐步估计出独立成分Y。整个Fast-ICA算法过程概述如下:

步骤1:中心化混合数据P,使其均值为零;

步骤2:对中心化后的数据进行白化处理得到结果Z;

步骤3:初始化一个单位向量c,满足‖C‖=1;

步骤4:更新c←[E { z g (cTz)}]-E{g '(cTz)}c;

步骤5:标准化c,c←c/‖c‖;

步骤6:如果c尚未收敛,则返回步骤(4);

步骤7:根据式(3)计算独立成分。

在每一次迭代之前都要对 cn+1和 c1,c2,...,cn进行正交化与单位化处理。在获得n个独立成分 c1,c2,...,cn的基础上,计算第n+1个独立成分cn+1,首先做正交化处理,...,cn正交;再做单位化处理,有cn+1=cn+1/‖cn+1‖ ,接着使用步骤4与步骤5对cn+1进行迭代。

2 小波神经网络

2.1 小波神经网络概述

小波变换是根据傅里叶变换的不足发展而来的,它的核心优势在于具有可以获取非平稳数据的时频局域性质,其实质是将待分析的数据分解为一系列小波函数的叠加。而小波函数是由一个母小波函数经过平移与尺寸伸缩而得到的,将母小波函数平移一定单位之后,在不同尺度下与待分析的数据做内积,能够实现对待分析数据的多尺度分析,有效提取数据的局部特征。

小波神经网络将小波分析与BP神经网络紧致结合,在BP神经网络的结构基础上,用小波基函数替代传统的Sigmoid函数作为神经元节点的传递函数。

2.2 神经元节点理论

神经元节点是整个神经网络模型的基本组成单位,设(x1,x2,…,xn)是隐含层第 j个神经元节点从上一层的神经元节点所接收的输入信号,(w1j,w2j,…,wnj) 分别是这n个输入信号所对应的权重,w0为神经元节点的阈值,其值为θj,本文研究的WNN模型将小波基函数作为神经元节点的传递函数,该函数与传统的S型传递函数相比多了两个计算参数:伸缩因子与平移因子。该隐含层神经元的输出为:

其中,f(x)为小波基函数,bj为第 j个神经元所选取小波基函数 f(x)的平移因子,aj为第 j个神经元所选取小波基函数 f(x)的伸缩因子。

本文所选取的小波基函数为morlet母小波函数,其函数表达式为:

2.3 小波神经网络自学习

(1)信息的正向传递

输入层的神经元接受训练数据的输入,在第t次迭代中,隐含层的第 j个神经元节点hj以一定的连接权重从输入层的每一个神经元处获得输入数据,加权求和后再减去阈值,与伸缩因子,平移因子一同作为小波基函数的自变量,代入式(8)得到隐含层神经元hj的输出值。

考虑从小波神经网络的n维输入到k*维输出建立完整的映射关系,设输入层有n个神经元,隐含层有m神经元,可以得到小波神经网络完整的映射方程:

(2)误差的逆向传播

在第一阶段得到输出结果后,小波神经网络将输出层的输出结果与预期结果进行对比,并算出输出结果与预期结果之间的差值e,对于有k个节点的输出层:

如果该值小于预定误差ε则表示整个WNN神经网络训练完毕;如果该值大于预定误差ε,则将网络学习调整进入误差逆向传播阶段,在误差逆向传播阶段中将误差信号按原正向传递相反的路径传回,并不断根据误差,使用最快速下降法调整网络权值与小波函数的伸缩因子与平移因子[8],在第t+1步训练下,各参数的调整过程为:

其中,η为学习速率,其值满足0<η<1,在训练过程中,η的值越大,各个参数在梯度方向上的改变数值越大。β为动量项,其值也在0到1之间,常被用来改进网络学习算法中参数调整振荡和收敛速度慢的缺陷[11]。WNN神经网络通过多次迭代调整网络的权重值,平移因子与伸缩因子,直到误差结果e最终收敛于预定误差ε,完成整个WNN神经网络的训练过程。

2.4 构建ICA-WNN模型

本文选用使用独立成分分析方法进行预处理的小波神经网络来实现对国际油价的准确预测。整个ICA-WNN网络模型的预测过程如图1所示。

图1 ICA-WNN网络模型预测过程

首先,运用独立成分分析的方法消除源信号各个变量之间的相关性,可以得到不多于源信号维数的若干独立成分(ICs)。将这些独立成分输入到小波神经网路中,根据输入数据进行多次迭代训练,不断调整网络参数直至训练结束。训练完成的神经网络模型可以对未来数据进行预测,最后需要对神经网络模型的预测结果进行评价。

3 WTI现货价格预测

3.1 研究对象

本文为以主成分分析进行预处理的小波神经网络油价预测的拓展研究,为了达到结果对比与最优模型选择的

图2 分析对象与材料

图2从上至下的六项数据序列依次为2001年1月到2015年2月的美国石油产量、美国原油库存量、美国炼油能力、美元指数、美国石油产品销售量与WTI期货价格数据,从图2中可以看出,油价影响因子数据大多呈现杂乱无章,规律性不明显的特点,如果直接将这些数据信号直接作为预测模型的输入,不仅会使神经网络面临巨大的计算量,延长训练时间,各个变量之间还存在着数量级的差异,影响到模型预测的准确度。因此,在模型进行预测之前,需要对原始数据进行预处理。

3.2 独立成分分析方法

在使用影响因子数据对WTI现货价格进行预测之前,选用固定点迭代理论(Fixed-point)寻找非高斯性最大的快速独立成分分析方法(Fast-ICA)对原始数据进行二次重构,得到WTI现货价格影响因子的多个独立成分。

在实际运用Fast-ICA方法对原始数据进行重构之前,首先要确定独立成分的个数,目前,学术界尚不存在统一确定独立成分个数的方法,考虑到独立成分分析中数据白化的过程与主成分分析有相似之处,本次研究参考主成分分析中确定主成分个数的方法来确定独立成分个数。

根据表1的结果,前三个成分的特征根都超过了1,并且前三个成分的累计方差贡献率达到了92.854%,因此可以确定本文所要重构的独立成分是三个。使用Fast-ICA工具包对原始数据进行重构,得到独立成分分析的结果。

表1 总方差解释

三项独立成分的趋势和波动特征各不相同,代表着不同的影响因素,见图3。

图3 3个独立成分图像

第一项独立成分波形具有高频波动,先上升再下降的特点,可以看成是图2中由美国石油产量的高频波动特征与美国石油库存量的波动趋势重构而成,高频的特点表示自然灾害,战争等突发因素对原油价格短时间内的剧烈影响,这类突发因素能够在短时间内破坏原油供需平衡,因此,第一项独立成分可以解释为市场的突发影响项。

第二项独立成分波形具有低频,长期下降趋势,由图2中美元指数的长期波动趋势与美国炼油能力的低频波动特征重构而成,可以有效地解释为石油供给能力对于原油价格的影响。

第三项独立成分波动趋势呈现周期性特点,以12个月为一个周期,在一个周期内波形的头部与尾部振幅大于波形中部的振幅,与图2中美国石油产品消费量数据的波动趋势具有一致性特点。可以解释为在年初与年末因为天气寒冷,取暖用石油的消费量与夏季相比出现明显增长。整体来看,第三个独立成分波形在前100个月时保持周期性平稳变化,在第100个月时出现下降趋势与图2中前期保持平稳在第100个月时出现下降的美元汇率波形相似,究其原因,是受2008年的美国次贷危机的影响。因此,第三个独立成分可以解释为常规性需求对于国际油价的影响。

在使用小波神经网络对油价多影响因素数据进行训练之前,运用Fast-ICA方法对数据进行预处理,一方面可以找到隐含在多影响因素中的内在影响因素,另一方面,该方法克服了传统数据驱动预测方法可解释性差的缺陷,证明了使用独立成分分析方法分解与重构油价影响因素数据的合理性与必要性。

3.3 小波神经网络预测

3.3.1 神经网络层数确定

含多隐含层的神经网络与单一隐含层的神经网络相比,理论上泛化能力强,预测精度高,但是多隐含层的神经网络结构复杂,训练时间较长。有理论证明单一隐含层结构的神经网络可以以任意精度逼近所需拟合的目标函数[11],并且可以通过适当选取隐含层节点数的方式来替代增加隐含层层数所带来的优势。基于上述原因,在本次预测中,最终选择单一隐含层的WNN模型。

3.3.2 神经网络各层节点数确定

在确定小波神经网络层数的基础上,进一步需要确定神经网络各层神经元节点数。根据独立成分分析的结果,本次预测为三维输入,固输入层含有三个神经元节点;输出结果为单步预测,输出层只含有一个神经元节点;目前,尚不存在统一的标准规定隐含层节点数目,本次预测采用“试错法”探寻最合理的隐含层节点数目,具体做法是,在选取隐含层可能有4、6、8、10、12个节点的情况下,比较小波神经网络在1000次迭代条件下的训练误差和,最终确定小波神经网络隐含层有8个神经元节点的条件下训练误差和最小。由此构建一个3-8-1的小波神经网络模型。

3.3.3 预测结果评价

将2001年1月到2014年4月从WTI现货价格影响因素数据中所提取的三个独立成分与同期的WTI月度现货价格共同作为训练集对小波神经网络进行训练。运用训练完毕的网络对2014年5月到2015年2月的WTI现货价格进行10个月的数值预测。同时为了说明ICA-WNN模型的预测性能,将ICA-WNN模型与PCA-WNN神经网络以及BP神经网络的同期预测结果进行对比,以均方根误差(RMSE)作为预测模型的评价函数,以度量预测值对真实值的偏离程度,其误差计算的公式为:

其中,ti为第i个时间节点WTI现货价格的预测值,为第i个时间节点的WTI现货价格真实值。

同时,原油产品作为一稀缺资源,其价格走势的方向在金融市场上受到投资者的关注,本文选用预测方向正确率DS来评估预测模型对原油价格走势方向的预测能力:在10次随机实验中,记录每次实验下3种预测模型的均方根误差。

根据对10个月的WTI现货价格的月度数据的10次随机预测结果,得到三种模型预测方向正确率的结果(见表2)。

表2 预测方向正确率结果 (单位:%)

在每一次的随机预测中,可以得到对10个月的WTI现货价格的预测值,在10个月数值的9次方向比较中,BP神经网络预测对5次方向,而PCA-WNN与ICA-WNN模型预测对7次方向。体现出小波函数对非平稳油价数据的局部“聚焦优势”,同时ICA-WNN模型对于国际油价的未来走势方向判断较为准确,可以有效辅助投资人进行决策。

图4 随机实验结果汇总

下页图4为3种预测模型在10次实验中,每次实验的10个预测结果的均方根误差结果,从图4中可以得出如下结论:首先,在10次随机预测实验中,ICA-WNN神经网络与BP神经网络以及PCA-WNN神经网络相比在9次随机试验中均方根误差值最小,总体预测精度最高;另外2种小波神经网络模型的预测精度均明显高于BP神经网络的预测精度,事实上,小波神经网络隐含层所选取的morlet母小波函数与BP神经网络所选取的S型传递函数相比,非线性特点更加显著,这一差异也就决定了小波神经网络在描述非线性关系领域比BP神经网络更加准确;另一方面,使用独立成分分析的方法对原始数据进行预处理的效果优于主成分分析,这是因为主成分分析只能去除多维数据间的相关性,而独立成分分析可以得到相互独立的多维数据,更有效地保留原有信息量,降低数据维数。

4 总结

国际原油价格的影响因素多而复杂,并且各个影响因素之间存在信息相关性。本文选用独立成分分析的方法对原油价格的多个显著影响因素进行分解和重构成为3个独成分,并在分析3个独立成分数据波形的基础上,将3个独立成分分别解释为市场突发影响项、石油供给能力和常规需求三个隐含影响因素,克服了常规数据驱动方法缺乏经济学解释的缺陷。在此基础上,将各个独立成分作为小波神经网络的训练数据,构建ICA-WNN预测模型。WTI现货价格预测的结果证明将独立成分分析的方法与小波神经网络紧致结合构建的ICA-WNN模型能够有效地刻画原油价格上涨或是下跌的趋势,并且相比于单一BP网络以及PCA-WNN网络在预测精度上提升显著。

猜你喜欢
小波神经元神经网络
基于多小波变换和奇异值分解的声发射信号降噪方法
基于递归模糊神经网络的风电平滑控制策略
构造Daubechies小波的一些注记
基于MATLAB的小波降噪研究
神经网络抑制无线通信干扰探究
基于神经网络的中小学生情感分析
跃动的神经元——波兰Brain Embassy联合办公
基于改进的G-SVS LMS 与冗余提升小波的滚动轴承故障诊断
ERK1/2介导姜黄素抑制STS诱导神经元毒性损伤的作用
毫米波导引头预定回路改进单神经元控制