基于经验模态分解的BP神经网络预测模型构建与应用
2020-12-14
(福建警察学院,福建 福州 350007)
0 引言
经验模态分解是把物理系统实测序列分解为IMF分量,趋势项是原序列经逐级分离后IMF分量后剩余分量,适用于非线性非平稳序列,神经网络具有自适应,联想记忆和鲁棒性等特点,可较好的适用于预测。时间序列是隔特定时间出现排列数据,广泛存在于故障诊断和经济预测等领域。早期时间序列预测分析法通过构建线性模型捕获训练集规律,如常见ARMA模型,实际问题中常见的为非线性时间序列。目前BP神经网络和广泛应用于非平稳性时间序列预测。BP神经网络具有非线性映射能力等优势,但BP神经网络预测模型易出现局部极小值问题,WNN在非线性时间序列预测中得到广泛应用的模型,具备BP神经网络自学习能力等优点。实际生活中村小波分解无法实现自适应多分辨率分析问题。部分学者通过引入遗传算法等对WNN参数优化,本质是对WNN优化达到提高精度目的。但优化后WNN模型预测精度不理想,EMD在信号处理中有效性得到验证。EMD算法可解决所有类型信号分解问题,存在模态混叠不足。为利用各种方法优势,产生多个方法组合预测思想。研究证实EMD与小波变换组合模型的有效性。本文对仿真信号通过EMD分解成IMF分量,提出基于经验模态分解的小波神经网络预测模型,对比直接运用神经网络预测表明方法可行。
1 基本理论概述
BP神经网络是采用最小二乘法求解误差函数最小值的前馈式网络,BP网络学习包括输入信号正向传播,不断在相对误差函数梯度下降方向计算网络节点权值,常见的BP神经网络结构为输入输出层和隐含层。
经验模态分解EMD是新型数据分析方法,可形成固有模态分量IMF,本质是平稳化处理数据,EMD分解IMF要求IMF极值点数量与零点数量差为0;IMF任意点极大值点形成包络线与极小值点形成下包络平均值为0。EMD算法通过三次样条插值法拟合极值包络线;计算均值g(t)与初始时间序列p(t)差值,y(t)视为初始时间序列,Hk小于给定阈值得到imf1(t)=yk(t);r1(t)视为初始时间序列,得到r2(t)=r1(t)-imf2(t),重复步骤至得到余项函数值小于给定阈值,最后得到余项函数r(t)为余项。时间p(t)=∑imfi(t)+r(t)。
小波神经网络WNN是BP神经网络为基础,信号传递中先从输入层进入网络,判断输出结果未达到预期进入反向传播[1]。根据网络预测误差更新网络连接权值和位移因子,构建WNN依据时间序列特性,筛选合适小波基函数为联系神经网络激励函数。设样本集数据为N,第n个样本输入值Tn={tin},i=1,2…,I;隐含层第j个小波输出为h{第j个小波单元输入-bj}/aj};输出层有1个神经元,输出期望为En={ens|,n=1,2…,N。
X为小波神经网络输入序列,f j为选择小波基函数,j为隐函层节点数,j=1,2,…m。Y为小波神经网络输出序列[2]。小波神经网络算法流程包括选取合适的小波神经网络结构;初始化参数;用训练好的网络预测测试样本。
2 经验模态分解及端点问题处理
EMD分解获得IMF需满足分量信号极值点必须相等;任意点局部极点构成两条包络平均值为零。设原始信号x(t),局部极大值用3阶样条曲线连接,把局部极小值连接,检查新信号是否满足IMF基本条件,设找到n个IMF,令Ci=h,检查是否满足分解停止条件,x(t)等于n个IMF与r和,筛选结束标准是r为单调函数。
为减少提取IMF筛选步骤,SD小于某常数停止筛选,筛选中算法采用三次条样差值,信号极值个数小于2,停止筛选[3]。在进行三次样条差值时将误差项数据内扩散,本文应用径向基函数神经网络处理EMD端点问题。应用MATLAB编程实现EMD,选取仿真信号中加入SNR=10db加性高斯白噪声。X(t)=x1+x2+x3+n(t),x1=0.7cos(2π/10t),n(t)为噪声。IMF1为噪声分解,其余分量与对应信号趋势一致,IMF分量与真实信号比较端部出现偏差。
研究采用单层和线性神经网络在数据两端延拓出附加极值,本文采用具有结构自使用特性径向基神经网络,12个数据为输入样本,选取5组为测试样本,通过选择不同spread选择最佳性能网络进行数据延拓[4]。各IMF分量与真实信号偏差减小。本文提出相关匹配延拓法,设原始信号为x(t),x(t)极大值点为M1,M2…,Mk,极小值点为N1,N2,…Nk。信号x(t)左端点为x1,x1到N1波段形记为ω1,x1到M1长度记为M,N>M。令ω1在TM2,…TMk中向右移动,计算ω1与重合相同长度波形相关关系。对应波形为最近匹配波形,计算M1与Mp差值η,Tp=TMp-(TM1-T1),延拓长度根据需要选择[5]。在端点处添加邻近3个极大值点均值为端点极大值。IMF分量与信号偏差较小,两种解决端点效应方法分量与信号相关性达0.95以上,基于神经网络延拓法相关性较高。
3 EMD-WNN预测模型仿真
针对非线性时间序列进行归一化处理,利用EMD分析法对其分解,利用WNN分析法对IMF进行网络训练,将IMF和余项预测结果累加得到最终预测值。EMD-WNN预测算法首先对原始数据归一化处理,时间序列进行EMD分析,筛选局部极值;计算上下包络线均值;均值差值序列;判断序列为IMF视为第一个IMF。计算原始时间序列与第一个IMF差值,至余项满足停止条件。WNN预测分析首先网络初始化,初始化网络连接权值,将原始数据集划分为训练样本集,将训练样本输入网络;判断误差是否达到精度要求;根据网络误差修正连接权值[6]。将得到IMF与余项利用WNN预测值累加。
采用MATLAB随机生成数据,每组数据样本容量为50,第一组数据自变量取值为0~0.6,0~0.7随机数;第二组数据自变量取值为0.4-1,0-0.6随机数;第三组数据自变量取值0.3~1,0~0.4随机数[7]。生成数据后将前100数据乱序后作样本数据训练。数据计算处理使用MATLAB软件,测试环境为MATLABR2012b,将前100项设为训练样本集,采用BP神经网络及模型方案对数据集预测。BP神经网络采用试凑法确定最佳隐含层节点数,输出层节点数为1,训练函数为学习率自适应最速下降法。训练显示间隔次数为50,性能指标为0.01,WNN学习概率为0.001,隐含层小波基函数采用常用Morlet母小波函数,在时频局部方面具有优势,公式为f(t)=exp{-t2/2·cos(1.75·t),f(t)为输出变量。
根据原始数据结构,存在输出变量,对变量时间序列EMD分析,时间序列经EDM分析得到5个IMF,IMF为从高频到低频提取,将三组便令分量对应,包括5个IMF样本集,利用WNN训练样本集,得到测试样本集预测值累加[8]。采用预测模型广泛应用的平均相对绝对误差进行模型对比评价,计算测试样本集中实际值与期望值MAE,EMD-WNN获得实际值与期望值MAE为0.3355,BP神经网络MAE为0.5066,MNNMAE为0.4741,EMD-WNN训练样本MAE为0.274,模型运行时间为0.45,42.58,BP神经网络预测速度较快,WNN预测精度高于BP神经网络;EMD-WNN成本高,要对非平稳时间序列进行EMD分析。EMD-WNN训练样本MAE与测试样本MAE相差小,EMD-WNN的MAE小于BP神经网络的MAE,EMD-WNN拟合效果优于BP神经网络。WNN结合小波变换良好时频局部化性质,具有灵活有效函数逼近能力。EMD对非平稳时间序列平稳化,EMD与WNN结合提高预测精度。
4 结语
神经网络延拓可解决端点问题,解决端点效应方法比直接进行EMD相关性高。通过经验模态分解得到本征模态函数分量,对分量进行神经网络预测,与不经EMD处理运用神经网络预测方法相比具有更高预测精度,预测数据均差为0.45。时间序列非线性导致预测难度增加,目前WNN是时间序列预测法中的理想方法,但因自身不足影响预测结果,为提高非线性序列预测精度,针对WNN在非平稳序列预测无法实现自适应多分辨率分析问题,对EMD和WNN结合,使用MATLAB软件生成随机时间序列仿真实验,EMDWNN拟合效果由于BP神经网络,新模型构建对非线性序列有一定价值。