陈强强,戴邵武,许立科,毕新乐
( 1.海军航空大学, 烟台 264000;2.空军94575部队,连云港 222000)
光纤陀螺是在Sagnac原理基础上发展的光学器件,凭借动态范围大、可靠性高及使用寿命长等优点,逐步成为现代导航系统中的主要器件[1]。在光纤陀螺使用过程中,其工作精度决定着惯导系统的使用精度,而误差的存在,在一定程度上限制了光纤陀螺的应用。因此,对光纤陀螺进行客观准确的性能评价,可以准确地把握其误差特性,为工程应用提供一定帮助[2]。
针对光纤陀螺的误差建模方面,Allan方差分析法及自回归移动平均(Auto Regressive Moving Average,ARMA)模型分析较为成熟。Allan方差分析是在时域方面对时间序列的频率稳定性进行分析的一种方法,其缺点在于对噪声特性的不确定性[3]。ARMA模型是传统的时间序列建模方法,可以看作自回归(AutoRegressive,AR)模型和移动平均(Moving Average,MA)模型的结合[4],其扩展形式还有自回归积分滑动平均模型(Autoregressive Integrated Moving Average Model, ARIMA)等[5]。传统的预测分析方法有着严谨的理论支持,具有简单快捷的优点,但针对复杂的非线性问题,有着很大的精度限制。
随着人工智能算法的不断发展,神经网络理论逐步成熟完善,在工程中得到重大应用。在光纤陀螺建模方面,一些神经网络算法如径向基函数(Radial Basis Function,RBF)神经网络[6]、支持向量机(Support Vector Machine,SVM)[7]、灰色BP神经网络[8]等在随机误差分析中得到应用。但受到光纤陀螺工作环境和制造工艺等多方面因素影响,其随机误差具有很强的非线性及非平稳性,此时单一的神经网络算法的回归精度会受到一定限制。
本文针对光纤陀螺随机误差预测进行了分析研究,针对单一SVM预测精度不足的问题,通过经验模态分解(Empirical Mode Decomposition, EMD)对原信号进行处理,降低了时间序列的复杂程度;然后通过对分解得到的时间序列进行分别预测并汇总,得到光纤陀螺随机误差的预测结果。
EMD方法于1998年由Huang N.E.提出,是一种新型的信号分解方法,在非线性、非平稳信号的处理中具有良好的效果[9]。EMD方法的步骤如下。
1)针对原始信号st,找到st的所有极值点,通过三次样条插值方法对st的极值点进行拟合,其极大值点的拟合曲线组成上包络线Ut,其极小值点的拟合曲线组成下包络线Lt。计算Ut与Lt的均值,记为平均包络线m1(t)
(1)
2)将st与m1(t)相减,得到新序列h1(t)
h1(t)=St-m1(t)
(2)
对h1(t)进行本征模态函数(Intrinsic Mode Function,IMF)判据,判断IMF分量的标准为:
(1)信号中零点数和极值点数相等或至多相差1个;
(2)极大值包络线和极小值包络线的均值相等且为0。
如果h1(t)不满足上述IMF判据,则将h1(t)代替st,重复步骤1)、2),得到新的序列h11(t)
h11(t)=h1(t)-m11(t)
(3)
根据IMF判据,直到式(3)中的h1m(t)(m代表次数)第一次符合IMF条件,记为imf1(t);与st相减,得到剩余信号
r1(t)=St-imf1(t)
(4)
用r1(t)代替St,重复执行以上步骤,可得到多个IMF分量及最后1个不可分序列,记为趋势项rn(t)。可将EMD算法表达式记为
(5)
SVM于1995年由Vapnik等首次提出,SVM以统计学习为理论基础,通过非线性映射,将原始空间样本数据映射到高维特征空间,从而实现其理论分析[10]。支持向量回归(Support Vector Regression,SVR)是SVM的一种表现形式,主要解决SVM的回归问题。其思路如下:
针对训练集(x1,y1),(x2,y2),…,(xm,ym),xi,yi∈R,可构建线性回归函数
y=f(x,ω)=ω·x+b
(6)
线性ε-非敏感损失函数|y-f(x,ω)|ε(ε为不敏感系数,针对SVR回归精度进行调控)为
(7)
(8)
其约束条件为
(9)
引入拉格朗日函数
(10)
求解参数,简化得回归函数为
(11)
引入核函数的概念,式(11)可转换为
(12)
针对光纤陀螺随机误差的非线性和非平稳性,单独使用SVR进行时间序列预测具有一定的难度,并存在着预测模型不准确、预测精度不高等问题。因此,首先使用EMD算法对光纤陀螺随机误差序列进行分解,以降低随机误差序列的复杂程度;然后针对EMD分解后的每个IMF分量及趋势项分别构建单个的SVR预测模型,从而提高预测精度。采用EMD方法进行时间序列分解之后,其误差量级为10-14,分解结果具有很好的完备性,可以完整地表达出时间序列包含的全部信息。因此,分解后的各个IMF量的组合,可以完全拟合原时间序列[11]。针对分解之后的IMF分量进行特性分析可知:在分解过程中,随着分解次数的增加,IMF的阶数不断增加,相应地IMF分量波动频率不断降低,即低阶的IMF分量对应的是高频信号。利用EMD算法处理原时间序列,可以准确得到时间序列在不同时间段的波动特征,简化时间序列预测模型,在一定程度上提高时间序列预测精度。EMD-SVR算法的基本框图如图1所示。
图1 EMD-SVR算法框图Fig.1 Flowchart of EMD-SVR
针对IMF分量分别构建SVR预测模型的过程中,影响模型预测精度的主要因素是核函数的选取以及核函数参数g与惩罚参数c的设置。其中,核函数一般选择RBF和线性核函数[12]。g与c的选择,一般采用交叉验证(Cross Validation,CV)方法[13]。首先在大的范围粗略确定最佳参数,然后缩小CV的范围及步长,在更小的合理区间内,以更高的精度确定最佳的g与c。在图1的基础上,EMD-SVR具体步骤如下:
1)将待分析的时间序列进行经验模态分解,得到分解后的各分量(IMF1,IMF2,…,IMFn)及趋势项rn;
2)对所有的IMF分量及趋势项分别建立SVR模型;
3)对各个分量进行预测;
4)将多个预测值累加得到最终预测值;
5)分析预测结果,验证预测模型。
以实验室测量所得的光纤陀螺随机误差序列作为实验数据,以验证EMD-SVR算法的有效性。通过对随机误差序列进行分析,选择包含500个采样点的随机误差序列,构建SVR预测模型,在预测过程中选取前450个数据作为训练集,余下50个数据作为测试集,以均方根误差(Root mean squared error,RMSE)和平均绝对误差(Mean absolute error,MAE)为指标来衡量EMD-SVR算法对时间序列的预测能力[14],表达式如下
(13)
(14)
式中,Xreal,i为第i个数据的真实值,Xpre,i为第i个数据的预测值。选择的光纤陀螺随机误差序列如图2所示。
图2 光纤陀螺随机误差Fig.2 Random error of FOG
原光纤陀螺随机误差序列具有较大的非线性与非平稳性,采用EMD方法对随机误差序列分解之后,各IMF分量的复杂度得到有效降低,EMD分解之后的各序列如图3所示。
图3 EMD分解结果Fig.3 Result of EMD
以排列熵作为衡量信号复杂度的标准[15],各IMF分量的排列熵如图4所示。
图4 序列的排列熵Fig.4 Permutation entropy of series
根据EMD分解之后的各IMF序列及趋势项,构建各自的SVR预测模型。针对排列熵较大的序列,选择RBF核函数进行时间序列预测;对于高阶IMF分量及趋势项,选择线性核函数进行时间序列预测,利用交叉验证方法确定核函数参数及惩罚参数;确定准确的SVR预测模型之后,得到各IMF分量及趋势项的RMSE及MAE如表1所示。
表1 各序列的预测指标Tab.1 Prediction error of series
如表1所示,随着IMF阶数的增加,其序列的排列熵随之降低,即序列的复杂程度降低,此时预测误差也随之减小,证明了EMD算法中降低IMF序列复杂程度的合理性。结合对EMD算法完备性的分析,分解得到的所有子序列重构之后,与原时间序列的误差量级为10-14。所以,将表1中各序列的预测结果相加,即可得到光纤陀螺随机误差序列的EMD-SVR结果,如图5所示。
图5 预测结果Fig.5 Prediction results
为验证EMD-SVR算法的准确性,采用单个SVR及传统的ARMA模型对同样的光纤陀螺随机误差序列进行建模分析,其中,ARMA模型采用AIC准则进行定阶,确定其AR及MA的模型阶数[16]。将所得到的预测结果与真实值进行对比,其RMSE、MAE指标如表2所示。
表2 各方法的预测指标Tab.2 Prediction error of three algorithms
如表2所示,由于光纤陀螺随机误差序列的非线性及非平稳性,序列的复杂程度较高,基于ARMA构建的预测模型不能对其进行准确预测;而基于机器学习方法的SVR算法,其预测效果比ARMA模型有着一定程度的提升,表明了神经网络在时间序列建模中的优越性。相比ARMA模型而言,预测模型更加准确,预测指标得到提高;然而,受限于随机误差序列的复杂程度,SVR算法的能力也受到了限制。在利用EMD算法对时间序列进行分解之后,通过将原时间序列分解为多个IMF分量及趋势项,在一定程度上降低了原序列的复杂程度,此时采用SVR进行建模,能够有效地提高预测模型的准确性,从而降低预测难度。与SVR方法进行对比,其RMSE降低了78.4%,MAE降低了75.5%,有效提高了预测精度。
本文通过EMD方法对光纤陀螺随机误差序列进行分解,得到多个时间序列复杂程度较低的IMF分量及趋势项,有效降低了光纤陀螺随机误差序列的非线性及非平稳性;对分解得到的各个子序列分别建立其对应的SVR预测模型,并将所得结果进行汇总分析,完成光纤陀螺随机误差序列的预测工作。实验可得以下结论:
1)通过排列熵作为时间序列复杂程度指标,运用EMD分解算法,可以有效降低光纤陀螺随机误差序列的复杂程度,有利于建立准确的预测模型。
2)机器学习算法在预测模型建立过程中,比经典的数学模型更具有精度优势,能够建立更加准确的预测模型。
3)运用EMD-SVR算法进行预测分析,可以更加有效地贴近原始数据序列的趋势,所得预测结果的准确度更高,具有一定的理论应用价值。