基于机器学习的单站对流层延迟预测建模*
2021-08-02聂帅葛雅倩谭福临钟东升
聂帅 葛雅倩 谭福临 钟东升
(安徽理工大学,安徽淮南 232001)
0.引言
误差修正是GNSS测量及应用的关键环节,虽然GNSS量测误差的误差来源较为复杂,但不同的卫星系统的来源基本一致。与信号传播有关的误差对距离测量的影响为1.5m~15m。本文研究对流层延迟模型,属于与信号传播有关的误差。在研究方法方面,本文使用机器学习算法中的偏最小二乘PLS与极限学习机ELM来建立数学模型,并将输出结果与传统的BP神经网络相对比。
陈阳等[1]利用BP神经网络误差补偿技术,结合Hopif eld模型建立了适于北半球的融合模型。吕慧珠等[2]对ZTD的频谱结构进行研究,构造预测模型,使用自回归(AR)方法校正残差,预测精度达厘米级。李伟捷等[3]为提高无气象情况下ZTD预测的精准性,采用小波——AR组合模型对IGS中7个测站实现单站ZTD建模,预测精度达3cm。本文采用中国香港HKSL站数天的天顶对流层延迟数据,基于PLS和ELM的理论支持,得到了中国香港地区单站天顶对流层延迟模型。
1.对流层延迟模型的建立
1.1 偏最小二乘
偏最小二乘法是主成分回归分析(Principal Component Regression,PCR)的改进。PCR未考虑对输出变量的解释能力[4],而PLS在PCR的条件上增加了一个新条件:输入与输出应具有尽可能大的相关程度。以下为详细的推导过程。
已知X和Y分别为n×q和n×p数据矩阵(n个样本点)。首先,用主成分分析对数据矩阵X和Y提取最大主成分,数据矩阵X和Y分解后得:
上式中,T和R分别是数据矩阵Y和X的得分矩阵,V和Q分别为相应的载荷矩阵,E和F分别为数据矩阵Y和X的残差矩阵。之后,建立得分矩阵T和R之间的线性回归模型:R=BT。由最小二乘原理,可以求得系数矩阵B的估计矩阵=(T'T)-1T'R。最后,进行数据重构,得到因变量数据矩阵X和自变量数据矩阵Y之间的关系:
对于标准化输入变量矩阵Y和输出变量矩阵,X要求构造变量t1和u1满足:
同时,应满足以下3个条件:
(1)t1应尽可能大的携带输入变量矩阵X的信息,即Var(t1)→ max。
(2)u1应尽可能大的携带输出变量矩阵Y的信息,即 Var(t2)→ max。
(3)t1和u1应具有的可能大的相关程度,即r(t1,u1)→max。
上述问题可以转化为计算t1和u1的协方差的最大值,即存在Cov(t1,u1)→max,使得||ω1||=||C1||=1。
构造拉格朗日函数,列式求解多元方程,可得矩阵X'YY'X的特征向量为ω1,对应的特征值为θ2。同理,C1使矩阵Y'XX'Y的特征向量,对应的特征值为θ2。
若回归方程的精度已经满足要求,则停止;否则,利用残差矩阵X*和Y*,计算第二主成分,并重新建立回归方程,以此类推,直到回归方程的精度满足要求为止。
1.2 极限学习机
从本质上说,极限学习机(Extreme Learning Machine,ELM)并不新颖,ELM在神经网络结构上[5],是一个前向神经网络。ELM的输入层和隐含层的连接权值可随机设定,隐含层的阈值也可随机设定,且隐含层及输出层之间的连接权值β无需迭代调整(通过解方程组确定)。对比传统的BP神经网络,BP需要不断反向调整权值和阈值,耗费了计算量。
对于单隐含层网络,假设Xi=[xi1,xi2,…,xim]T∈Rn,ti=[ti1,ti2,…,tim]T∈Rm。对于有L个隐层节点的单隐层神经网络,可写为其中,g(x)为激活函数,Wi=[ωi1,ωi2,…,ωim]T为输入权重,βi为输出权重,bi为第i隐层单元的偏置,Wi·Xj表示Wi和Xj的内积。
单隐含层神经网络学习的目标是使得输出的误差最小,可表示为,即存在 βi,Wi和 bi,使得即 :
其中,H是隐含层节点的输出,β为输出权重,T为期望输出。
为了训练单隐层神经网络,解最小损失函数,即:
在ELM算法中,一旦输入权重Wi和隐层的偏置bi被随机确定,隐层的输出矩阵H就被唯一确定。训练单隐层神经网络可转化为求解一个线性系统Hβ=T的问题。
其中,HT是矩阵H的广义逆,且可证明求得的解的范数最小且唯一。
1.3 BP神经网络
BP神经网络又称为误差反向传播神经网络[6],是一种多层前向型神经网络。在BP神经网络中,信号向前传播,误差反向传播。所谓反向传播是指误差从最后的输出层依次向之前各层逐渐进行调整。由于其在各个领域已得到广泛应用,且已经衍生出了各种基于BP神经网络的改进算法,故原理不再赘述。
1.4 建模思路
在上述的理论基础上,使用MATLAB R2019a进行算法验证。对于ZTD文件,输入为IGS站的位置信息,输出则为对应时刻的ZTD数据。建模时,输入前一天或者前两天的位置数据,输出为对应ZTD数据。测试时,输入位置信息,输出预测ZTD数据。将预测值与真实值对比,得到精度。最后进行三种方法的精度比较,其中BP神经网络模型为参照组。
2.数据来源及分析
本文所用的数据来源于中国香港HKSL观测站,该地区的经度为113.9280°,纬度为22.3720°,高程为95.2757°。本文采用了2019年26日至28日连续3天的天顶对流层延迟数据来进行结果分析。所使用的HKSL数据,时间间隔为5min,每天可得到288组数据。
3.模型结果分析
本文以BP神经网络所建立的对流层预测模型为对照组,分析BP对流层预测模型与PLS对流层预测模型和ELM对流层预测模型的精度差异。使用MATLAB完成ZTD文件的数据导入,建模,预测,并计算其均方根误差及平均偏差(本文将IGS所提供的ZTD数据作为真值处理)。在建模过程中,考虑了三种不同类型的时间预测(选取三种代表性较强的情况):第1天预测第2天;第1、2天预测第3天:第1天预测第2、3天。得到以下真值偏差图(绿色为类型1,红色为类型2,红色加粉色为类型3)。如图1所示。
图1 平均偏差图
由图1可知,三种模型的误差都在20mm以内。在精度波动接近时,三种方法的RMSE及Bias有着明显区别——BP模型的RMSE最小为8mm,最大为38mm;Bias最小为70mm。而ELM模型及PLS模型的同类指标仅为1mm~2mm,稳定性较高。同时有已发表的论文可知,一般情况下,ELM模型运算速度高于BP模型。
4.结论
分别使用ELM和PLS建立了对流层延迟预测模型,同时使用BP神经网络预测模型进行对比。结果表明,ELM模型不仅适于各种时段的对流层延迟预测,而且计算速度快[5],PLS模型则适于短时预报,但精度依旧由于BP神经网络预测模型。一般情况下,ELM模型运算速度高于BP模型。同时ELM模型短时预报及长时预报精度都较高,相比之下,同等精度要求下,PLS模型所需要的建模数据更多。