发明内容
本发明目的在于提供一种基于ARIMA模型及X-11分解的GNSS定位数据后处理方法,旨在解决现有技术在长时间跨度的数据平滑上难以将季节性波动以及呈现一定周期性的长跨度误差进行剥离的问题,具体技术方案如下:
一种基于ARIMA模型及X-11分解的GNSS定位数据后处理方法,包括以下步骤:
步骤S1:对原始数据序列进行X-11拆分得到趋势项序列,并通过ARIMA算法对趋势项序列进行预测得到预测趋势项序列;
步骤S2:将预测趋势项序列与原始数据序列进行差分运算得到混合序列;
步骤S3:对混合序列进行X-11拆分得到季节项序列,并根据季节项序列的周期性推导得到推导季节项序列;
步骤S4:将混合序列与推导季节项序列进行差分运算得到不规则项序列;
步骤S5:对预测趋势项序列、推导季节项序列和不规则项序列进行延伸;
步骤S6:将步骤S5处理后的三组序列进行叠加还原为重组原始数据序列,并对重组原始数据序列进行X-11拆分得到当期历元趋势项序列。
以上技术方案中优选的,所述步骤S5中,推导季节项序列通过周期性推导进行延伸。
以上技术方案中优选的,所述步骤S5中,不规则项序列通过ARIMA算法预测进行延伸。
以上技术方案中优选的,所述步骤S5中,预测趋势项序列利用步骤S1中预测的结果进行延伸。
以上技术方案中优选的,所述预测趋势项序列、推导季节项序列、不规则项序列以及当期历元趋势项序列的长度均与原始数据序列长度一致。
以上技术方案中优选的,X-11拆分使用加法模型。
以上技术方案中优选的,X-11拆分使用中心移动平均法。
以上技术方案中优选的,X-11拆分使用12×2模型、3×3模型、3×5模型或3×9模型中的一种。
以上技术方案中优选的,步骤S1中,对原始数据序列进行X-11拆分需要进行两轮运算得到趋势项序列。
以上技术方案中优选的,步骤S1中,ARIMA算法对趋势项序列进行预测后,需要对预测后的序列进行截取得到预测趋势项序列。
应用本发明的技术方案,具有以下有益效果:
本发明的方法解决了现有技术在长时间跨度的数据平滑上难以将季节性波动以及呈现一定周期性的长跨度误差进行剥离的问题。同时也克服了时间序列分析算法(即X-11拆分方法)在导航定位领域的应用存在首尾数据缺口,导致处理的数据无法反映实时情况;本发明的方法通过时间序列分析拆分后分别预测数据趋势,通过预测数据覆盖首尾数据缺口,进而得到能够反映实时信息的还原数据。本发明的方法针对长期性变化的波动干扰进行分离和处理,并获得在长时间尺度上提高定位精度的效果。
本发明的方法以X-11分解时间序列分析方法进行数据处理,平滑后定位数据的方差从4.733减小至2.683,精度提高了43.3%;并对拆分数据进行ARIMA建模预测,将还原数据对比直接预测数据,得出拆分后分别预测再整合还原精度基本高于直接预测5-10%的结论,有效应对平滑处理实时性差的问题。
除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照图,对本发明作进一步详细的说明。
具体实施方式
为了便于理解本发明,下面将对本发明进行更全面的描述,并给出了本发明的较佳实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
实施例1:
一种基于ARIMA模型及X-11分解的GNSS定位数据后处理方法,包括以下步骤:
步骤S1:对原始数据序列进行X-11拆分得到趋势项序列,并通过ARIMA算法对趋势项序列进行预测得到预测趋势项序列;
步骤S2:将预测趋势项序列与原始数据序列进行差分运算得到混合序列;
步骤S3:对混合序列进行X-11拆分得到季节项序列,并根据季节项序列的周期性推导得到推导季节项序列(具体是周期性推导并截取得到推导季节项序列);
步骤S4:将混合序列与推导季节项序列进行差分运算得到不规则项序列;
步骤S5:对预测趋势项序列、推导季节项序列和不规则项序列进行延伸(延伸的目的是分别得到前向和后向的多个历元的数据,保证数据的可靠性);
所述步骤S5中,推导季节项序列通过周期性推导进行延伸;不规则项序列通过ARIMA算法预测进行延伸,即得到预测不规则项序列;预测趋势项序列利用步骤S1中预测的结果进行延伸。
步骤S6:将步骤S5处理后的三组序列进行叠加还原为重组原始数据序列,并对重组原始数据序列进行X-11拆分得到当期历元趋势项序列。优选的,所述预测趋势项序列、推导季节项序列、不规则项序列以及当期历元趋势项序列的长度均与原始数据序列长度一致。
优选的,X-11拆分包括加法模型和乘法模型,本实施例中使用加法模型。
具体地,X-11拆分使用中心移动平均法,通过生成新的平滑序列值对应于被平均的数值序列的中心点。
本实施例中优选的,X-11拆分可以使用12×2模型、3×3模型、3×5模型或3×9模型中的一种,所述几种模型为X-11拆分中常用的模型。
进一步优选的,步骤S1中,对原始数据序列进行X-11拆分需要进行两轮运算得到趋势项序列。步骤S1中,ARIMA算法对趋势项序列进行预测后,需要对预测后的序列进行截取得到预测趋势项序列。
X-11全称是“X-11”变量的第二类调查统计方法季节调整方案,通称为X-11方案。该方法将原始时间序列分解为下列因素:
趋势因素:反映时间序列在长时期内所呈现出来的趋势性;
季节因素:各种以特定时段为周期的外界变化的因素;
不规则因素:除上述因素以外的诸多偶然因素的变化对原始数据的影响。
由于X-11拆分算法自身特点会导致的数据缺失问题,且北斗观测数据并非真正意义上的周期性时间序列,所以传统时间序列分析中选择滞后历元替代缺失历元的方法并不适用。为了补充该部分数据,同时保证数据准确性,采用ARIMA模型预测的方法对缺失数据进行填充。X-11拆分方法和ARIMA模型均属于本领域人员的公知技术,本实施例的重点在于将X-11拆分方法和ARIMA模型结合应用到GNSS定位数据后处理中,解决现有技术在长时间跨度的数据平滑上难以将季节性波动以及呈现一定周期性的长跨度误差进行剥离的问题。
参见图1,针对上述方法本实施例进行进一步的举例说明,具体地,对北斗基线向量残差观测数据(即原始数据)进行X-11拆分,由于数据过零点且有负值,不适合使用乘法模型,故而采用加法模型,如公式(1):
Xt=Tt+St+It (1),
本实施例中X-11拆分算法采用12×2的模型,需要进行两轮运算得到趋势项序列。其中,首轮运算窗口宽度为12历元,从头到尾遍历原始数据,按下列公式(2)获得新时间序列,排列可记为6.5、7.5、…、[(n-6)+0.5],其中n为原始数据总长度;
接着对新序列进行第二轮运算,按公式(3)得到序列T:7、8、…、n-6,即得到一次拆分的趋势项序列,可以看到首尾各有6历元的数据缺失;
接着采用ARIMA算法对趋势项序列进行预测得到预测趋势项序列,具体为:
对序列T进行ACF和PACF分析,得到ARIMA(p,d,q)模型的对应参数(3,1,3);结合序列T,通过模型ARIMA(3,1,3)对前12历元和后12历元进行预测,补足的序列T可记为:-5、…、0、1、…、6、7、8、…、n-6、n-5、…、n、n+1、…、n+6;其中-5、…、0、1、…、6为前向补足数据,n-5、…、n、n+1、…、n+6为后向补足数据。
选取补足的序列T中1~n的数据序列为预测趋势项序列Tt;由公式(1)推导可知,将Tt与原始数据序列(即公式(1)中的Xt)进行差分运算,便能获得序列为1~n的混合序列Y(此时Y=St+It)。
对混合序列Y进行同样的X-11算法12×2模型拆分得到季节项序列S,季节项序列S同样首尾缺失6历元数据,由于季节项序列S具有周期性,便能推导出相应历元的数值,从而得到完整序列,即得到推导季节项序列St(参见图1,对季节项序列S进行推导是获得前后各补足12历元数据的序列,然后对推导后的序列进行截取,得到推导季节项序列);将推导季节项序列St与混合序列Y差分得到完整长度的不规则项序列It,如图1所示;由于It仅通过差分剥离St得到,差分运算不涉及平滑运算,与混合序列Y一样保持完整长度没有数据缺失。
经过上述步骤得到了与原始数据序列长度相同的It、St和Tt,但由于Tt仅经过一次预测得到缺失的12历元数据,其可靠性相对而言不够充分,所以需要对三组序列进一步延伸,得到前向和后向的各6个历元的数据。
由于上述补足的序列T已经获得了前向和后向各12历元的数据,因此Tt直接从补足的序列T中补足前向和后向的各6个历元数据即可;St按其周期性推导前向和后向的各6个历元预测数据,而It则通过ARIMA预测得到相应的前向和后向的各6个历元预测数据,即得到预测不规则项序列。
将得到的三组数据序列进行叠加还原为重组原始数据序列,随后对重组原始数据序列进行X-11拆分运算,得到与原始数据序列长度一致的当期历元趋势项序列(X-11拆分后得到首尾各有6历元数据缺失的序列,与原始数据序列长度一致),如图1所示。由于获得的当期历元趋势项序列剥离了其他波动,可认为该数据为贴近真实位移的平滑数据。
实验案例:
本实施例还提供了应用上述方法的具体实验案例,具体实验通过自研平台接收的GNSS数据进行测试。选取三个项目上的历史数据进行对比测试,如表1所示,均是经过自适应卡尔曼滤波后的长时间跨度数据样本。
表1数据样本分类
实验分为两大部分,第一部分为X-11季节性拆分,其原理是加权滑动平均滤波,展示剥离季节项和不规则项后的趋势曲线相较于仅经过卡尔曼滤波的数据。第二部分为ARIMA预测数据,包括直接对原始数据进行ARIMA预测,以及将原始数据进行季节性拆分后,分别对趋势项和不规则项进行ARIMA预测,并将预测结果结合季节项还原为原类型数据。
第一部分:
如图2和图3所示,图中Y轴为位移刻度,反映的是基线向量在X方向的坐标残差,单位为毫米(mm),X轴为历元,历元间隔为1小时。点状线为卡尔曼滤波示意,实线为X-11拆分卡尔曼滤波后得到的趋势项。由于长时间跨度,卡尔曼滤波本身每个点间隔为一小时,而图中点状线示意的“粗差”实际上跨度为1-2个点,即1-2小时,这种情况可以视为动态定位数据本身反映的“位移”而非误差所造成的。可能是单纯的卫星信号质量恶化,但如此长时间跨度的位置变化,如果并非真实位移所引起,则可能是环境中存在未纳入建模加以修正的波动造成。
经过卡尔曼滤波数据的方差为4.733,X-11滤去卡尔曼滤波的季节项和不规则项后数据的方差为2.718。整体精度提升了42.6%,应对存在的“粗差”也能进行较为明显的消除。但是由于自回归及滑动平均算法的固有特点,即生成一个平滑数据点需要该点之后6个数据点的支持(以X-11(12×2)方法为例),反映到实际情况就是6小时的延迟,这在地灾监控中是无法使用的。而为了尝试解决该算法固有的滞后性问题,运用ARIMA算法的预测能力,基于现有数据给出需要平滑的历元之后6历元的数据,以供数据平滑算法保证实时性。
第二部分:
按数据不同构建不同的拟合模型,原始数据均是SARIMA模型,即季节性(Seasonal)ARIMA模型,季节周期设为13,其根据是对原始数据进行PACF分析,从图4中判断周期设为13较为合适。
对趋势项和不规则项的建模均为ARIMA模型,由于原始数据存在零点与负值数据,所以分解采用的方法为相加模型(Additive Decompose)。显然,由于剔除了季节项,所以对趋势项和不规则项的建模不需要引入季节性因素,只需要一般ARIMA算法进行模型的构建,构建的参数如表2所示。而由于季节项数据属于周期性数据,所以不进行预测,直接按历元所处周期进行数据获取。
表2预测模型
趋势项以及不规则项的预测效果如图5和图6所示。点状线为原始数据拆分而来的各项数据,包括Trend趋势项和Resid不规则项,实线为模型拟合后进行预测给出的数据。
将趋势项和不规则项两项数据结合季节项数据后,便能还原为原始数据,如图7所示,点状线为原始数据,实线表示对原始数据直接进行季节性ARIMA模型建模所输出的预测数据,点划线则表示拆分项分别预测的数据加以整合后还原的数据。
两种预测方式的性能经量化后(即直接对原始数据进行ARIMA预测;以及将原始数据进行季节性拆分后,分别对趋势项和不规则项进行ARIMA预测,并将预测结果结合季节项还原为原类型数据),得到的直观数据如表3所示。三组数据样本的预测结果分别进行四项误差分析,并对比二者性能差距。
表3直接预测与拆分后预测效果对比
数据对比方法采用四类方法,分别是平均绝对误差Mean Absolute Error(即MAE),均方误差Mean Square Error(即MSE),平均绝对百分比误差Mean AbsolutePercentage Error(即MAPE)和均方根误差Root Mean Squared Error(即RMSE)。对比直接预测和拆分预测的改进程度采用如下公式(4)计算:
Decompose表示拆分预测后重组的数据,Direct表示直接对原始数据进行季节性ARIMA建模拟合得到的数据。
当Δ数值为正表明拆分预测较于直接预测没有改善,当Δ数值为负时则表示拆分预测对比直接预测误差程度得到了改进。可以看见在贵黄边坡数据和遵义边坡数据,拆分预测相较于直接预测都有着比较明显的改善,而在串丝斜坡数据上两种方法预测误差程度相差最大在7.34%,而按MAPE方式分析则拆分后预测仍优于直接预测19.6%。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。