摘要
全球导航卫星系统(global navigation satellite system,GNSS)高程时间序列研究有助于监测和分析地壳板块运动,可以为研究人员判断区域运动趋势提供依据。基于经验模态分解和极端梯度提升算法构建了MEMD-XGBoost模型来预测分析GNSS高程时间序列。为了验证模型的预测性能,实验选取8个GNSS站高程时间序列数据进行预测实验,特征构造结果显示,多次经验模态分解可以准确地提取原始时间序列信息,提供有效特征。建模结果表明,MEMD-XGBoost模型可以有效改善数据质量。预测结果表明,MEMD-XGBoost模型预测结果具有较高的精度和准确率,误差离散程度较小,模型具有较强的稳定性和鲁棒性,可以较好地预测出GNSS站高程方向的运动趋势和季节性变化。因此,该模型可以应用于GNSS高程时间序列建模和预测研究。
Abstract
The study of GNSS(global navigation satellite system) vertical time series is helpful for monitoring and analyzing the movement of crustal plates, and can provide an important basis for judging the movement trend. A MEMD-XGBoost model was constructed based on empirical mode decomposition and extreme gradient boosting algorithm for GNSS vertical time series prediction and analysis. In order to verify the prediction performance of the model, the vertical time series data of 8 GNSS stations were selected for prediction experiments. The feature construction results show that multiple empirical mode decomposition can accurately extract the original time series information and provide effective features. The modeling results show that the MEMD-XGBoost model can effectively improve the data quality. The prediction results show that the prediction results of the MEMD-XGBoost model have high precision and accuracy, and the degree of error dispersion is small, the model has strong stability and robustness, and can better predict the movement trend and seasonal changes in the U direction of the GNSS station. Therefore, the model can be applied to GNSS vertical time series modeling and prediction research.
过去 30 年来,来自全球 20 000 多个全球导航卫星系统(global navigation satellite system,GNSS)站的观测资料不断积累,为地球科学领域各主题的研究提供了庞大的数据库[1-4]。这些数据可以有效地描述地球物理效应引起的长期趋势和非线性变化[5]。分析 GNSS 坐标时间序列有助于开展监测地壳板块运动[6-7]、水坝或桥梁变形[8-10]、全球或区域参考框架[11-13]等研究。通过分析GNSS坐标时间序列,可以预测连续时间点的坐标,为确定运动趋势提供重要依据[14]。
在现有的时间序列预测研究中,一种结合信号分解和预测算法的预测模式在诸多研究中得到了良好的应用[15-17],该预测模式首先通过信号分解算法对GNSS时间序列进行分解,然后对各个分量进行逐一预测,最后将各个分量的预测值等权相加得到预测时间序列。该预测模式虽然可以良好应用于时间序列预测研究,但GNSS高程时间序列属于非平稳时间序列,且噪声模型丰富[18],使用上述预测模式进行预测容易随着分量数量级降低,预测精度和准确率下降。因此,本文提出了一种基于极端梯度提升算法(extreme gradient boosting,XGBoost),通过多次经验模态分解(multi-empirical mode decomposition,MEMD)改进的GNSS高程时间序列预测模型——MEMD-XGBoost模型。
在GNSS相关研究中,经验模态分解(empirical mode decomposition,EMD)算法被研究人员广泛应用于GNSS站速度估计[19]、GNSS时间序列异常值探测[20]、高频GNSS信号去噪[21]等研究中。XGBoost算法在GNSS领域的研究主要集中在电离层闪烁[22-23]、电离层电子含量[24]、土壤水分反演[25]等研究。本文通过EMD和XGBoost算法构建了MEMD-XGBoost模型,该模型通过EMD算法分解得到的重构时间序列,依次得到若干个重构时间序列,并将其作为特征取代使用XGBoost模型预测时提取时间特征作为特征的步骤,辅助原始时间序列的预测工作,从而达到优化先分解再预测的预测模式、削弱噪声影响和弥补XGBoost算法提取非平稳时间序列特征能力欠佳的目的。
1 MEMD-XGBoost模型原理
1.1 EMD算法
EMD 是由Huang等[26]在1998年提出的一种适用于非线性和非平稳过程的自适应信号处理技术,EMD算法被研究人员广泛应用于生物医学[27]、语音识别[28]、系统建模[29]、钢铁工业[30]等领域研究。基于时间尺度、EMD 局部特征(局部最大值、局部最小值和过零),EMD将信号分解为多个本征模态函数(intrinsic mode function,IMF)和一个残差,这些 IMF 相互正交,且模态分解数量由信号本身决定。EMD算法的分解步骤如下:
1)寻找原始时间序列X(t)的极值点,然后通过曲线插值法拟合极值点,得到原始时间序列的上包络线Xmax(t)和下包络线Xmin(t)。
2)求Xmax(t)和Xmin(t)的平均值m1(t),即:
(1)
3)通过X(t)和m1(t)相减得到余下信号d1(t)。此时,由于GNSS高程坐标时间序列属于非平稳时间序列,得到的第一阶模态函数并不准确,即d1(t)并不满足IMF的两个条件(在整个数据范围内,局部极值点和过零点的数目必须相等,或者相差数目最多为1,并且在任意时刻,上包络线和下包络线的平均值必须为零),所以需要继续筛选。
4)对d1(t)重复步骤1~3,直至筛分门限值SD小于门限值,从而得到第一阶模态分量c1(t),即IMF1,SD计算公式可表示为:
(2)
5)对X(t)和c1(t)求差得到第一阶残差量r1(t),然后对r1(t)重复步骤1~5,重复n次后得到第n个IMF分量cn(t)和残差量rn(t)。原始时间序列X(t)经EMD算法分解为:
(3)
1.2 XGBoost算法
Chen等基于梯度提升决策树(gradient boosting decision tree,GBDT)模型改进并提出了XGBoost模型[31]。传统的GBDT模型只使用了一阶泰勒展开,比较复杂,容易出现过拟合,即模型在训练集和测试集的预测精度差异较大。XGBoost模型采用二阶泰勒展开,并增加了正则化项,使模型简化,减少了过拟合的发生。XGBoost模型预测原理[32]如下:
假设有一个数据集D={(xi,yi)}(D=n,xi∈Rm,yi∈R),数据集D中含有n个观测值,每个观测值有m个特征。将xi在第t轮的预测值定义为,xi的最终预测值可以表示为:
(4)
式中,表示第t轮前的预测值,ft(xi)表示在第t轮新加入的函数。为了防止节点过多导致过拟合,XGBoost算法引入惩罚项降低过拟合的风险,惩罚函数Ω(ft)可以表示为:
(5)
式中,γT表示惩罚,表示惩罚项,λ为系数,T为叶节点数,j为样本数量,ωj为权重。由损失函数L和正则化惩罚项Ω组成的目标函数O(t)可以表示为:
(6)
式中,c为一个常数项。
XGBoost算法采用二阶泰勒展开对目标函数进行优化,展开公式可以表示为:
(7)
然后去掉常数项(真实值与前一轮预测值之差),目标函数仅依赖于误差函数对每个数据点的一阶导数和二阶导数。目标函数最终被简化为:
(8)
1.3 构建MEMD-XGBoost模型
通过EMD算法分解时间序列后容易出现模态混叠现象,即不同时间尺度特征成分被分解到一个特征模态函数分量,或者同一时间尺度成分出现在不同的特征模态函数中。为了削弱这一现象对于预测的影响以及提高重要特征的权重,实验通过将每次得到的IMF分量叠加得到重构时间序列并作为特征,多次使用EMD算法分解上一步得到的有用信号,重构得到的时间序列会逐渐丢失次要特征,在剔除噪声的同时提高时间序列主要特征的权重。需要注意的是,为了保证预测模型的严谨性,应当仅使用训练集数据构造特征。
GNSS高程时间序列数据通常为一维时间序列数据,其具有统一的时间间隔[5]。将GNSS高程数据按照时间顺序一维排列为:
(9)
将GNSS高程时间序列数据定义为D,其多次分解过程可以被表示为:
(10)
式中,Dn和rn分别表示第n次分解得到的有用信号和残差项。以BJYQ站为例,图1为BJYQ站训练集数据3次EMD结果。
从图1可以看出,经历过3次分解后得到的残差项数量级已经很小,继续分解意义不大,因此,实验将EMD次数设置为3。然后,实验通过前文假设和3次EMD分解可以将特征1(F1)、特征2(F2)和特征3(F3)分别定义为D1、D2和D3。
通过上述步骤后,MEMD算法可以为XGBoost模型提供3个特征,并构成特征集,特征集可整合为:
(11)

图1BJYQ站3次EMD结果
Fig.1Three EMD results of BJYQ station
式中,XnF1表示第n个观测值对应的第1个特征。将整合的3维时间序列加入原始时间序列生成一个4维时间序列:
(12)
在XGBoost模型中,将生成的4维时间序列中的前3列时间序列数据作为特征取代XGBoost模型提取时间特征的步骤;将原始时间序列数据作为目标序列进行预测,从而得到预测结果,图2为MEMD-XGBoost模型预测流程图。

图2MEMD-XGBoost模型预测流程图
Fig.2Prediction flow chart of MEMD-XGBoost model
基于多次EMD算法分解改进的GNSS高程时间序列预测模型——MEMD-XGBoost模型具体预测步骤如下:
1)数据准备。GNSS高程时间序列是通过实际观测或求解得到的,它应在周、天、小时、秒等维度具有一致性。本文选取8个GNSS观测站单日解高程时间序列数据作为实验数据。
2)依次使用3次EMD算法重构训练集时间序列。首先通过EMD模型进行时间序列分解,然后将分解得到的各IMF分量叠加得到重构时间序列,最后将得到的重构时间序列再次进行EMD,共进行3次。实验通过该步骤重构得到3个时间序列,并将其作为特征辅助原始时间序列的建模和预测。
3)构造数据集。将子时间序列和原始时间序列放入同一数据集,将子时间序列作为原始时间序列的特征,并通过2 ∶1的比例划分训练集和测试集。
4)XGBoost模型预测。首先将实验数据集中的训练集输入XGBoost模型,在训练集中随机抽取20%个历元进行预测并通过五折交叉验证得到最终预测模型、输入特征的特征评价结果以及训练集预测结果。然后将实验数据集输入XGBoost模型进行测试集目标时间序列的预测。
5)统计MEMD-XGBoost模型预测结果。通过设置不同的预测精度指标评判模型预测的有效性、稳定性、误差主要方向和离散程度。
2 数据分析
本文数据均来自中国地震局GNSS数据产品服务平台,实验选取中国大陆构造环境监测网络的8个GNSS站2013—2015年的数据验证MEMD-XGBoost模型的有效性。图3为8个GNSS站的位置分布图。

图3GNSS站位置分布
Fig.3Location distribution of GNSS stations
实验在进行观测站筛选时,选取的GNSS站点数据完整率较高,因此实验选取的8个观测站数据虽均含有缺失数据,但缺失数据较少。基于上述情况,实验通过缺失值临近历元的观测值进行插值处理,插值方法可表示为:
(13)
式中,Xm表示第m个历元的缺失值,Xmp1表示第m个历元前含有真值的最临近历元的观测值,Xmn1表示第m个历元后含有真值的最临近历元的观测值。该插值方法适用于缺失值较少的情况,其可以有效保留原始时间序列的超短期变化趋势。
经过插值处理后,每个GNSS站含有1 095个历元的数据,实验按照2 ∶1的比例划分训练集和测试集,即训练集包含各GNSS站730个历元数据,测试集包含各GNSS站365个历元数据。
为了分析模型的抗异常值干扰能力,实验通过四分位数法对各GNSS站数据进行异常值探测[33],图4为各GNSS站异常值探测结果,图中U表示GNSS高程时间序列的值。

图4GNSS站异常值探测结果
Fig.4Outlier detection results of GNSS stations
图4中,黑色圆圈表示异常值,箱状图表示数据的分布情况。从图4可以看出,各GNSS站均含有异常值。
3 实验结果与分析
3.1 精度评价指标
本文使用平均绝对误差(mean absolute error,MAE)、均方根误差(root mean square error,RMSE)和对称平均绝对百分比误差(symmetric mean absolute percentage error,SMAPE)作为模型预测精度的评价指标[34-35]。MAE、RMSE和SMAPE可表达为:
(14)
(15)
(16)
其中,为原始值,为预测值。MAE、RMSE和SMAPE的值越小代表模型的预测精度越高,更适用于该时间序列;反之,则代表模型的预测精度越低,在该时间序列中适用性较差。SMAPE指标与平均绝对百分比误差(mean absolute percentage error,MAPE)作用相同,可以衡量模型预测的准确率,但SMAPE可以有效避免MAPE值因真实值小而计算结果太大的问题。
为了评价模型预测的稳定性,实验通过增量误差(delta error, DE)衡量预测误差的离散程度。
(17)
其中,DE表示增量误差,σδ表示预测误差的标准差,δ表示预测误差时间序列,表示模型预测得到的时间序列,Y表示原始时间序列。
3.2 特征构造结果
实验以EMD算法为基础对原始时间序列进行重构,并将重构时间序列作为特征辅助原始时间序列的建模。图5为BJYQ站特征构造结果。

图5BJYQ站特征构造结果
Fig.5Characteristic construction results of BJYQ station
图5所示均为高程值映射曲线,因此曲线由不同的颜色构成。从图5可以看出,通过EMD算法重构得到的特征时间序列的运动趋势和原始时间序列较为一致,但在初始历元阶段,特征时间序列的高程映射颜色与原始时间序列呈现了差异,这是由EMD算法的端点效应造成的。
3.3 MEMD-XGBoost模型预测结果
实验使用MEMD-XGBoost模型对8个GNSS站高程时间序列数据进行建模,以HECD站为例,以XGBoost1(以时间为特征)、XGBoost2(以邻近观测站数据为特征)[14]、长短期记忆(long short-term memory,LSTM)网络、CNN-LSTM[36-38]模型作为参照模型验证MEMD-XGBoost模型的有效性,表1为HECD站模型建模精度。
表1HECD站模型建模精度
Tab.1 Model accuracy for HECD station

由表1可以看出,MEMD-XGBoost模型的MAE和RMSE值较小,验证了MEMD-XGBoost模型的有效性。图6为HECD站测试集建模结果。

图6HECD站测试集建模结果
Fig.6Modeling result of HECD station test set
图6中,蓝色曲线为HECD站原始时间序列数据,红曲线为MEMD-XGBoost模型建模结果。从图6可以看出,MEMD-XGBoost模型可以较好地保留HECD站高程方向的运动趋势和季节性变化,但在第200~250历元间建模精度出现了下滑。通过图4中HECD站的异常值探测情况可以得到建模精度出现下滑的原因,HECD站的异常值主要集中在极小值点,与HECD站的预测误差主要来源相同,从而印证了MEMD-XGBoost模型具有一定的抗异常值干扰能力,通过MEMD-XGBoost模型进行建模,也可以有效削弱异常值对于原始时间序列的影响。图7为HECD站测试集原始时间序列和建模时间序列的异常值探测结果。

图7HECD站测试集异常值探测结果
Fig.7Outlier detection results on the test set of HECD station
通过图7可以看出,建模前后高程值的主要分布范围较为一致,异常值个数明显减少,因此HECD站的原始时间序列质量可以通过MEMD-XGBoost模型建模得到进一步的提升。
为了更好地验证MEMD-XGBoost模型的稳定性,实验引入多个精度评价指标相互印证MEMD-XGBoost模型在8个GNSS站的建模精度,表2为各GNSS站建模精度。
表2GNSS站建模精度
Tab.2 Modeling accuracy of GNSS stations

从表2可以得到,MEMD-XGBoost模型建模结果的MAE和RMSE值较为稳定,说明MEMD-XGBoost模型可以有效地进行GNSS高程时间序列建模研究。DE指标可以有效地反映模型建模结果的主要误差方向和误差值的离散程度,从表2可以看出,模型在BJGB和HEZJ站的主要误差方向为正,即建模值偏大,在其余6个主要误差方向为负,即建模值偏小;DE指标中±号后的数字主要反映误差的离散程度,从表2可以看出,8个GNSS站的值均小于2,反映了模型具有较好的稳定性,在大部分建模历元可以得到较高精度的建模结果。SMAPE指标可以衡量模型建模的准确率,从表2可以看出,在8个GNSS站,MEMD-XGBoost模型建模结果的SMAPE值可以控制在13.89%~28.89%,说明MEMD-XGBoost模型建模结果具有较高的准确率。图8为8个GNSS站绝对误差值分布情况。
从图8可以看出,大部分历元的误差可以在2 mm的精度范围内,验证了MEMD-XGBoost模型具有良好的稳定性。
对于时间序列,建模属于一种随机行为,会影响时间序列本身的稳定性。因此,实验通过分析原始时间序列和建模时间序列的功率谱密度,分析其频域上的特性。图9所示为HECD站的功率谱密度。

图8GNSS站绝对误差值分布
Fig.8Absolute error value distribution of GNSS stations
图9中,通过设置3组不同的功率谱密度对比,分析MEMD-XGBoost模型的建模性能。通过对比测试集中原始时间序列和建模时间序列的功率谱密度可以得到:在低频上两时间序列表现出较好的一致性,说明模型可以较好地保留原始时间序列的主要信息;在高频噪声上,模型建模的时间序列功率明显低于原始时间序列,说明MEMD-XGBoost模型具有抗异常值干扰能力,具有较好的鲁棒性。通过对于是否含有建模部分的时间序列功率谱密度可以得到,模型建模虽然对训练集时间序列的稳定性造成了影响,但影响较小,说明MEMD-XGBoost模型可以较为完善地学习到训练集中的信息。通过对比建模前后时间序列的功率谱密度可以得到,MEMD-XGBoost模型建模结果可以有效保留原始时间序列中的主要信息,并通过模型的抗异常值干扰能力改善原始时间序列的数据质量,削弱异常值对于原始时间序列的影响。

图9HECD站功率谱密度
Fig.9Power spectral density of HECD station
上述实验说明了在建模过程中对目标时间序列通过降噪构造特征然后输入XGBoost模型可以在保留原始数据形态的情况下有效地改善数据质量。在进行预测实验时,通过邻近观测站[14]和部分地球物理观测值[39]构造特征可以达到实验目的。因此,实验选取目标观测站临近站点数据作为特征,通过MEMD-XGBoost模型对目标观测站进行预测。表3为8个观测站预测精度。
表38个观测站预测精度
Tab.3 Prediction accuracy of 8 stations

从表3可以得到,当使用邻近观测站数据构造特征时,模型可以稳定有效地预测出目标观测站数据。该实验的预测精度与特征站点的选取有较强的关系,选取不同的特征观测站,实验结果会出现差异,具有高相关性的观测站更易获得高精度的预测结果。
4 结论
本文提出了一种通过多次经验模态分解改进的GNSS时间序列预测方法——MEMD-XGBoost模型,给出了模型的数据处理和预测策略,深入研究了模型的特点和预测结果的特性,并得出以下结论:
1)通过MEMD-XGBoost模型进行GNSS高程时间序列建模可以较好预测出GNSS站高程方向的运动趋势和季节性变化。
2)当使用目标时间序列构造特征时,实验通过4个精度评价指标衡量8个GNSS站的实验结果,结果表明,MEMD-XGBoost模型可以改善原始时间序列的数据质量,削弱异常值对于原始时间序列的影响。
3)当使用邻近观测站数据构造特征时,MEMD-XGBoost模型可以有效地预测出目标观测站高程方向的运动趋势,因此该模型也可用于区域网数据处理。此外,如何通过多源数据有效地构造特征需进一步研究。