# Predicting IGS RTS Corrections Using ARMA Neural Networks

Authors: Mingyu Kim; Jeongrae Kim
Journal: Mathematical Problems in Engineering
 (2015)

---

## Abstract

An autoregressive moving average neural network (ARMANN) model is applied to predict IGS real time service corrections. ARMA coefficients are determined by applying a neural network to IGS02 orbit/clock corrections. Other than the ARMANN, the polynomial and ARMA models are tested for comparison. An optimal order of each model is determined by fitting the model to the correction data. The data fitting period for training the models is 60 min. and the prediction period is 30 min. The polynomial model is good for the fitting but bad for the prediction. The ARMA and ARMANN have a similar level of accuracies, but the RMS error of the ARMANN is smaller than that of the ARMA. The RMS error of the ARMANN is 0.046 m for the 3D orbit correction and 0.070 m for the clock correction. The difference between the ARMA and ARMANN models becomes significant as the prediction time is increased.


---

## Body

## 1. Introduction

International GNSS Service (IGS) has been providing orbit and clock corrections for global navigation satellite system (GNSS) navigation messages. In April 2013, the IGS started providing real-time corrections, called real time service (RTS) [1]. RTS correction accuracy is competitive with the IGS rapid correction accuracy, and RTS can be used for real-time precise point positioning (PPP), time synchronization, and so forth. In February 2015, the RTS for the global positioning system (GPS) is provided as main stream data and RTS global navigation satellite system (GLONASS) is provided as the test data [2].The IGS combines the intermediate solutions from several analysis centers (ACs) to produce a final correction. IGC01/IGS01 is a single epoch-combination solution and IGS02 is a Kalman filter combination solution derived by using BKG NTRIP Client (BNC) software (provided by Germany’s BKG). Both solutions include GPS only, and IGS03 is a Kalman filter combination solution for GPS and GLONASS. Intermediate solutions include CLK10 by BKG, CLK20 by DLR, and CLK53 by ESA/ESOC.Discontinuities of the RTS can result from unintentional interruptions of the RTS correction transfer caused by hardware or software failure. A service discontinuity can be overcome by applying the predictions of the RTS corrections. Since an RTS correction is a function of time, it can be modeled and predicted using an autoregressive moving average (ARMA) model. The ARMA model is widely used to model unknown physical plants when it is difficult to obtain the exact model for the system [3]. In addition, the ARMA is one of the most widely used prediction methods for time series problems. ARMA is appropriate for a time series that is a combined function of unobserved disturbances and its own behavior. Devi et al. [4] applied the ARMA model to predict stock trends, and Anderson et al. [5] also used a periodic ARMA model to forecast river flows. Huang et al. [6] predicted solar generation using the ARMA model.A neural network (NN) can be also used for time series prediction problems. An NN with at least one hidden layer can approximate any continuous multivariate function [7]. Several studies have validated prediction problems based on an NN for the linear and nonlinear modeling of time series. An annual prediction of sunspot numbers was performed by using the finite impulse response (FIR) network and recurrent Elman network [8]. Sanchez and Villa applied the autoregressive moving average neural network (ARMANN) to predict the Colombian exchange rate [9]. Li et al. applied an ARMA based radial basis function (RBF) network to predict wind power [10].The use of a single prediction method such as the ARMA or NN is not efficient in some cases [7]. Since an NN is primarily used to approximate a function, it can be used to build an ARMA model function. Voyant et al. [7] demonstrated that a hybrid ARMA/NN model showed a better accuracy than either ARMA or NN in modeling global radiation time series. The ARMANN has been applied to GPS research as well. Jwo et al. [3] applied a back-propagation neural network (BPNN) and a general regression neural network (GRNN) to predict differential GPS (DGPS) pseudorange corrections. Indriyatmoko et al. [11] applied AR and ARMA based back-propagation neural network (BPNN) to predict DGPS carrier phase corrections. Refan and Dameshghi [12] applied ARMANN, recurrent neural network (RNN), and evolutionary neural network (ENN) to predict GPS ephemeris errors.Considering the proven usefulness of the ARMANN in GPS applications, we select ARMANN to predict RTS ephemeris and clock corrections. ARMA coefficients are determined by applying NN to IGS02 corrections. Other than the ARMANN, the polynomial and ARMA models are tested for comparison. An optimal order of each model is determined by fitting the model to the correction data.


## 2. IGS RTS Correction

IGS RTS corrections are transmitted to users by using the “networked transport of RTCM via internet protocol” (NTRIP). A user can select streams to download either IGS combined data or AC data. The corrections have a form of state space representation (SSR), which includes satellite ephemeris, clock, and ionosphere corrections [13]. The IGS02 stream consists of message numbers 1057, 1058, and 1059. Message 1057 is for ephemeris correction, and message 1058 is for clock corrections. Message 1059 is for pseudorange code biases. The ephemeris is updated every 60 s, but the clock is updated every 10 s. The data unit is a meter. The rate of change of the corrections is provided for short term extrapolation.RTS orbit correction is provided in the form of radial, along-track, and cross-track (RAC) elements. The reference point of the corrections has two types: antenna phase center (APC) or satellite center of mass (CoM). IGC01 adopts CoM, but IGS02 and IGS03 adopt APC. Each AC adopts one of the references or both of the references. For example, BKG provides CLK00 for CoM and CLK10 for APC. The correction generation latency is different for ACs, ranging from 5 s to 15 s. The latency of the combined correction is longer, from 20 s to 25 s, because it takes approximately 10 s to combine individual AC corrections [13].The update of the GNSS broadcast message using the IGS RTS correction data is described as follows. A broadcast orbit can be corrected by using the RTS satellite position correction,δX→, as [14](1)X→orbit=X→broadcast-δX→,where X→broadcast is the satellite position vector computed from GNSS broadcast ephemeris and X→orbit is the satellite position vector corrected by the RTS correction. δX→ is the RTS satellite position correction expressed in earth-centered earth-fixed (ECEF) coordinates. The broadcast orbit is expressed in ECEF coordinates while the raw RTS correction is expressed in radial, along-track, and cross-track (RAC) coordinates. This difference requires a coordinate transform of the correction from RAC to ECEF. Unit vectors representing the RAC components can be computed from the broadcast position r→ and velocity vectors r→˙ as(2)e→along=r→˙r→˙,e→cross=r→×r→˙r→×r→˙,e→radial=e→along×e→cross,δX→t=e→radiale→alonge→crossδO→t,where e→radial, e→along, and e→cross are the unit vectors for radial, along-track, and cross-track coordinates, respectively. δO→t is the orbit correction represented in RAC coordinates. Each correction component consists of transmitted orbit correction, δOi, and its rate of change, δO˙i, as(3)δOit=δOi+δO˙it-t0i=radial, along-track, and cross-track,where t is the current time to compute the correction. t0 is the time of applicability that is included in the RTS message. The RTS clock correction, δCt, is provided as a correction to the broadcast clock offset. As with the orbit correction, the clock correction consists of the transmitted correction and its rate of change:(4)δCt=C0+C1t-t0+C2t-t02,where C0, C1, and C2 represent the transmitted clock corrections. δCt is expressed as a correction-equivalent range unit, and the clock offset can be obtained by dividing it by the speed of light c: (5)δtt=δCtc.Each correction includes the issue of data (IOD). This IOD has to correspond with the IOD ephemeris (IODE) of the current GPS ephemeris for each satellite. If the IODE of the GPS broadcast ephemeris data does not match the IOD of the RTS transmission, it is an indication that the GPS ephemeris data sets have changed. The user must continue to use the old matched data from the previous broadcasts, until a new correction with a matching IOD is broadcast for the new GPS ephemeris data set. An individual IOD is assigned for the clock correction, but the same IOD as the orbit is used at this time.RTS orbit/clock corrections consist of a header part and a satellite specific part. The header part consists of an RTCM version 3 message type (MT) number, SSR message update interval indicator, GPS week, seconds in the GPS week, and GPS PRN. MT 1057 is for the orbit correction and MT 1058 is for the clock correction. An SSR message update interval indicator represents the update interval. The orbit correction has an update interval of 60 s, and the indicator is 6. The clock correction has an update interval of 10 s, and the indicator is 3. The satellite specific part consists of the IOD, radial/along-track/cross-track (RAC) correction, and the rate of change of the corrections for the orbit correction. In case of a clock correction, three polynomial coefficients, which are similar to the GPS navigation message, are used.


## 3. Methodology

Prediction of the RTS corrections is performed by using three models: polynomial, ARMA, and ARMANN. The mathematical models on ARMA and ARMANN are discussed.


### 3.1. Autoregressive Moving Average (ARMA) Model

In the ARMA model, a future value depends on the past value and the error. ARMA is a combination of the autoregression (AR) and moving average (MA) models. In the AR model, a future value depends on the past value. In the MA model, a future value depends on the error [15]. The order of AR represents a time lag of past output, while the order of MA represents a time lag of past error. If the AR order is p and the MA order is q, then the ARMA model can be represented by ARMA (p,q). A linear ARMA model can be represented as(6)yt=∑k=1pAkyt-kT+∑k=1qBkut-kT+ut,where Ak and Bk are the coefficients of the AR and MA models, respectively. The ARMA process yt is a stationary stochastic time series, and the input or error ut is white noise. T is the sampling time. p and q are the orders of AR and MA, respectively. Ak and Bk can be determined by various methods, including the steepest descent gradient, Levenberg-Marquardt, and Gauss-Newton [15]. We applied the Gauss-Newton method to determine the ARMA parameters.


### 3.2. Back-Propagation Neural Network (BPNN)

The BPNN is a feed-forward, multilayer perceptron (MLP), supervised learning network [3]. The feed-forward network maps input vectors to output vectors and does not form a directed cycle. MLP is a way to use a multilayer in which the current output neuron becomes the input neuron of the next layer. The supervised method uses the data to determine whether the input-output relationships are known or predefined. The back-propagation (BP) calculates a gradient vector in a network structure in the opposite direction to the data flow.The training process is a minimization of a cost function, which can be the mean square error (MSE) between the output and the target vectors. In order to determine the output of the hidden layer and output layer, the values obtained by multiplying the weight attached to the input signals are applied to an activation function. There are many types of activation functions including step, linear, sigmoid, and hyperbolic tangent [16].


### 3.3. ARMA Neural Network (ARMANN)

The RTS correction time series is modeled as an ARMA. The ARMA outputyt becomes the RTS correction. The ARMA residual error ut is computed as the error between the true RTS correction and the AR model output. After constructing the ARMA input and output, the coefficients of ARMA are computed by using the NN.Figure1 represents the structure of the neural network [3]. The network computes weighting factors in the training process. Subsequently, the ARMA coefficients are computed by using the network weighting factors. The IGS RTS correction is the input to the network, and the input to the hidden neuron is calculated by using a weight wij as follows:(7)vj=∑i=1pwijyt-i+∑i=0qwijut-i,hj=a11+a12vj,where i represents the ith node of the input neuron and j represents the jth node of the hidden neuron. vj is the input of the jth hidden neuron and hj is the output of the jth hidden neuron. The linear activation function is used for hj, and a11 and a12 are tuning constants.Figure 1
Structure of back propagation neural network.The output of the hidden neuron,rk, is a weighted summation of hj as (8)rk=∑i=1Hwjkhj,yt+1=a21+a22rk,where yk is the output of the network. The next procedure is computing the variation of the weights and updating the weights through iterations. The steepest descent method is applied to update the weights, which utilizes the gradient of a function for optimization.The error from thekth output neuron and the jth hidden neuron is computed by the following equations:(9)δk=f˙rkdt+1-yt+1=a22dt+1-yt+1,δj=f˙vj∑k=1nwjkδk=a12∑k=1nwjkδk,where δk is the kth output neuron error and δj is the jth hidden neuron error. f˙(rk) and f˙(vj) are the activation function derivative of the output neuron and hidden neuron, respectively. Based on these errors, the rate of change of each neuron weight is computed as(10)Δwjk=αΔwjk+ηδkhj,wjk=wjk+Δwjk,where α is the learning rate and η is the momentum. Δwjk is the rate of change of the weight from the jth hidden neuron to the kth output neuron.The rate of change of the weight from the input neuron to the hidden neuron is computed as(11)Δwij=αΔwij+ηδj∑i=1pyt-i+∑i=0qut-i,wij=wij+Δwij.Δwij is the rate of change of the weight from the ith input neuron to the jth hidden neuron. A cost function to evaluate convergence criteria is defined as(12)E=12dt+1-yt+12.The iterations are performed until the cost function becomes smaller than a specified value. After the convergence, the ARMA coefficients are computed as(13)ai=∑a12a22wijwjk,where a(i) is the ith coefficient of the input node. The prediction value is computed by using the ARMA coefficients.To determine the appropriate network parameters, a series of tests is performed by changing the parameters. The learning rateα is selected as 0.55 and the momentum η is set as a low value (0.3) in order to avoid overshooting and local minima. To create a simple derivation of the function, the coefficients of the activation function have no bias; that is, both a11 and a21 are zero, while the tuning constants a12 and a22 are set as 0.20.In general, the network data is divided into three subsets: training, validation, and test data sets. The training data set is used to compute the gradient and update the network weights. The validation data set is used to compute the network error during the training process. The training set is used to test the final solution. The network is divided to reduce computation memory and to avoid the overfitting problem. This approach is usually appropriate when a large number of data is available. In the case of the RTS correction data, the number of input RTS data is not sufficient for the three data sets. The data intervals are divided by the IOD changes, and the interval length is only two hours. With the 60 s sampling time, only 120 data are available for one satellite for two hours. For this reason, the network data is not divided into the three data sets. During the training/validation process, all input data is used for the training, validation, and test processes. The number of data and other parameters are discussed later with the description of the experiment conditions.


## 3.1. Autoregressive Moving Average (ARMA) Model

In the ARMA model, a future value depends on the past value and the error. ARMA is a combination of the autoregression (AR) and moving average (MA) models. In the AR model, a future value depends on the past value. In the MA model, a future value depends on the error [15]. The order of AR represents a time lag of past output, while the order of MA represents a time lag of past error. If the AR order is p and the MA order is q, then the ARMA model can be represented by ARMA (p,q). A linear ARMA model can be represented as(6)yt=∑k=1pAkyt-kT+∑k=1qBkut-kT+ut,where Ak and Bk are the coefficients of the AR and MA models, respectively. The ARMA process yt is a stationary stochastic time series, and the input or error ut is white noise. T is the sampling time. p and q are the orders of AR and MA, respectively. Ak and Bk can be determined by various methods, including the steepest descent gradient, Levenberg-Marquardt, and Gauss-Newton [15]. We applied the Gauss-Newton method to determine the ARMA parameters.


## 3.2. Back-Propagation Neural Network (BPNN)

The BPNN is a feed-forward, multilayer perceptron (MLP), supervised learning network [3]. The feed-forward network maps input vectors to output vectors and does not form a directed cycle. MLP is a way to use a multilayer in which the current output neuron becomes the input neuron of the next layer. The supervised method uses the data to determine whether the input-output relationships are known or predefined. The back-propagation (BP) calculates a gradient vector in a network structure in the opposite direction to the data flow.The training process is a minimization of a cost function, which can be the mean square error (MSE) between the output and the target vectors. In order to determine the output of the hidden layer and output layer, the values obtained by multiplying the weight attached to the input signals are applied to an activation function. There are many types of activation functions including step, linear, sigmoid, and hyperbolic tangent [16].


## 3.3. ARMA Neural Network (ARMANN)

The RTS correction time series is modeled as an ARMA. The ARMA outputyt becomes the RTS correction. The ARMA residual error ut is computed as the error between the true RTS correction and the AR model output. After constructing the ARMA input and output, the coefficients of ARMA are computed by using the NN.Figure1 represents the structure of the neural network [3]. The network computes weighting factors in the training process. Subsequently, the ARMA coefficients are computed by using the network weighting factors. The IGS RTS correction is the input to the network, and the input to the hidden neuron is calculated by using a weight wij as follows:(7)vj=∑i=1pwijyt-i+∑i=0qwijut-i,hj=a11+a12vj,where i represents the ith node of the input neuron and j represents the jth node of the hidden neuron. vj is the input of the jth hidden neuron and hj is the output of the jth hidden neuron. The linear activation function is used for hj, and a11 and a12 are tuning constants.Figure 1
Structure of back propagation neural network.The output of the hidden neuron,rk, is a weighted summation of hj as (8)rk=∑i=1Hwjkhj,yt+1=a21+a22rk,where yk is the output of the network. The next procedure is computing the variation of the weights and updating the weights through iterations. The steepest descent method is applied to update the weights, which utilizes the gradient of a function for optimization.The error from thekth output neuron and the jth hidden neuron is computed by the following equations:(9)δk=f˙rkdt+1-yt+1=a22dt+1-yt+1,δj=f˙vj∑k=1nwjkδk=a12∑k=1nwjkδk,where δk is the kth output neuron error and δj is the jth hidden neuron error. f˙(rk) and f˙(vj) are the activation function derivative of the output neuron and hidden neuron, respectively. Based on these errors, the rate of change of each neuron weight is computed as(10)Δwjk=αΔwjk+ηδkhj,wjk=wjk+Δwjk,where α is the learning rate and η is the momentum. Δwjk is the rate of change of the weight from the jth hidden neuron to the kth output neuron.The rate of change of the weight from the input neuron to the hidden neuron is computed as(11)Δwij=αΔwij+ηδj∑i=1pyt-i+∑i=0qut-i,wij=wij+Δwij.Δwij is the rate of change of the weight from the ith input neuron to the jth hidden neuron. A cost function to evaluate convergence criteria is defined as(12)E=12dt+1-yt+12.The iterations are performed until the cost function becomes smaller than a specified value. After the convergence, the ARMA coefficients are computed as(13)ai=∑a12a22wijwjk,where a(i) is the ith coefficient of the input node. The prediction value is computed by using the ARMA coefficients.To determine the appropriate network parameters, a series of tests is performed by changing the parameters. The learning rateα is selected as 0.55 and the momentum η is set as a low value (0.3) in order to avoid overshooting and local minima. To create a simple derivation of the function, the coefficients of the activation function have no bias; that is, both a11 and a21 are zero, while the tuning constants a12 and a22 are set as 0.20.In general, the network data is divided into three subsets: training, validation, and test data sets. The training data set is used to compute the gradient and update the network weights. The validation data set is used to compute the network error during the training process. The training set is used to test the final solution. The network is divided to reduce computation memory and to avoid the overfitting problem. This approach is usually appropriate when a large number of data is available. In the case of the RTS correction data, the number of input RTS data is not sufficient for the three data sets. The data intervals are divided by the IOD changes, and the interval length is only two hours. With the 60 s sampling time, only 120 data are available for one satellite for two hours. For this reason, the network data is not divided into the three data sets. During the training/validation process, all input data is used for the training, validation, and test processes. The number of data and other parameters are discussed later with the description of the experiment conditions.


## 4. Optimal Model Order Selection

The prediction accuracy depends on the order of the model. In order to determine the optimal order for the prediction process, data fitting accuracies with the IGS RTS corrections are evaluated. Three models, polynomial, ARMA, and ARMANN, are evaluated for different coefficient orders.


### 4.1. Correction Data Analysis

The RTS corrections on January 6, 2015, are analyzed. IGS02 corrections are processed to evaluate the data fitting performance.Figure2 shows the orbit and clock corrections of PRN 12 on January 6, 2015. The vertical lines represent the moments when the IOD is changed. The IOD changes usually occur at an even UTC hour, for example, 2 hr, and 4 hr, and the corrections are changed significantly at those moments. The orbit correction has a smooth polynomial pattern between the IOD changes. The variation of the orbit correction is greater than 1 mm/min, and the variation of radial direction is smaller than the variation of the other directions. The clock correction has a significant high frequency variation, and the polynomial pattern is not significant.Figure 2
RTS correction time series (IGS02, PRN 17, January 6, 2015).


### 4.2. Fitting Results

In order to determine the optimal model orders, data fittings, approximations of the correction data with the models, are performed by varying the model orders. Three models, polynomial, ARMA, and ARMANN, are tested for the following five criteria: radial, along-track, cross-track, 3D orbit, and clock. The 3D orbit represents the norm of the three corrections, radial, along-track, and cross-track. The data fitting interval begins at the time of the IOD change and lasts until the next IOD change. The model order is set from 3 to 12. PRN 01 and PRN 24 do not have the correction data, and these PRNs are excluded from the test.Figure3 shows the fitting error of the radial correction on January 6, 2015. The errors of the three models, polynomial, ARMA, and ARMANN, are presented for PRN 17. The model order is 6 for the polynomial, 10 for ARMA, and 13 for ARMANN. The reason for using these orders will be discussed in the next paragraph. The fitting root mean square (RMS) error is 0.001 m for the polynomial, 0.004 m for ARMA, and 0.002 m for ARMANN. The polynomial model yields the smallest error because the orbit correction has a polynomial pattern and can be easily modeled by a polynomial model. The mean of the fitting error is close to zero. The largest RMS error of the ARMA is mainly due to the large mean error. In the cases of the along-track and cross-track corrections, the error pattern is similar to the radial corrections; the polynomial has the smallest error and the ARMA has the largest error. Among the three direction components, the radial direction has the smallest error, while the along-track has the largest error. This is because the variation of the radial direction is the smallest.Figure 3
Fitting error of radial correction (PRN 17, January 6, 2015).The clock correction fitting error of PRN 17 is shown in Figure4. Unlike the orbit correction, the polynomial has the largest error and the ARMANN has the smallest error. The clock correction has a high frequency variation, and the polynomial model is not suitable for following this type of variation. The error of the polynomial model is significant, around 7200 s when an abrupt change of the correction occurs. ARMA and ARMANN follow the variation with a high accuracy, but the polynomial does not follow the variation around 7400 s and yields a large error.Figure 4
Clock correction fitting error (PRN 17, January 6, 2015).Figure5 compares the fitting RMS errors of different orders by the polynomial model. In the case of the radial, along-track, and cross-track corrections, the error becomes significantly low after the 4th order. The 3D orbit, the norm of the three components, follows this trend as well. However, the clock error decreases linearly as the order is increased. If the error levels are almost the same, a lower order is preferred because the number of estimation coefficients is reduced. High order polynomials frequently caused a divergence problem, and the estimation stability becomes reduced. This type of divergence is more significant in the clock correction than in the orbit correction. For this reason, the order of 5 is selected for the clock polynomial model. The order of 6 is selected for the orbit model since the error level converges at this order. The use of an individual order for each orbit component can be considered, but the same order should be used for all three orbit components since the error difference is not significant.Figure 5
Fitting RMS errors of different orders by the polynomial model.Figure6 compares the fitting RMS errors of different orders by the ARMA model. Although the along-track and cross-track errors show small error increases around orders 7 and 8, the overall trend shows that the error is decreased as the order is increased. Order 10 is selected as the optimal ARMA order for the orbit corrections. The fitting error of the clock correction has a nearly constant level from order 9 to 12, and the smaller one, order 9, is selected as the ARMA optimal order.Figure 6
Fitting RMS errors of different orders by the ARMA model.Figure7 compares the fitting RMS errors of different orders by the ARMANN model. The error reduction along with the order is significant until order 13. This trend is the same for both the orbit and clock corrections. Based on these results, order 13 is selected as the ARMA optimal order for the orbit and clock corrections.Figure 7
Fitting RMS errors of different orders by the ARMANN model.Table1 summarizes the selected optimal orders along with the fitting errors. The relatively low orders are selected for the polynomial model to reduce the divergence problem. The orders of the orbit and clock corrections are almost the same for each model. In the case of the 3D orbit fitting error, the polynomial model shows the smallest error while the ARMANN model shows the largest error. This ranking is reversed for the clock corrections, and the ARMANN has a substantially smaller error than the two other models. The clock fitting error is larger than the orbit error except with the ARMANN. This implies that the polynomial and ARMA models have a better fitting performance for smooth time series, that is, the orbit time series, but have a worse performance for fluctuated time series, that is, the clock time series.Table 1
Optimal orders and fitting RMS errors.
3D orbit (m)
Order
Clock (m)
Order
Polynomial
0.003
6
0.042
5
ARMA
0.021
10
0.059
10
ARMANN
0.025
13
0.017
13


## 4.1. Correction Data Analysis

The RTS corrections on January 6, 2015, are analyzed. IGS02 corrections are processed to evaluate the data fitting performance.Figure2 shows the orbit and clock corrections of PRN 12 on January 6, 2015. The vertical lines represent the moments when the IOD is changed. The IOD changes usually occur at an even UTC hour, for example, 2 hr, and 4 hr, and the corrections are changed significantly at those moments. The orbit correction has a smooth polynomial pattern between the IOD changes. The variation of the orbit correction is greater than 1 mm/min, and the variation of radial direction is smaller than the variation of the other directions. The clock correction has a significant high frequency variation, and the polynomial pattern is not significant.Figure 2
RTS correction time series (IGS02, PRN 17, January 6, 2015).


## 4.2. Fitting Results

In order to determine the optimal model orders, data fittings, approximations of the correction data with the models, are performed by varying the model orders. Three models, polynomial, ARMA, and ARMANN, are tested for the following five criteria: radial, along-track, cross-track, 3D orbit, and clock. The 3D orbit represents the norm of the three corrections, radial, along-track, and cross-track. The data fitting interval begins at the time of the IOD change and lasts until the next IOD change. The model order is set from 3 to 12. PRN 01 and PRN 24 do not have the correction data, and these PRNs are excluded from the test.Figure3 shows the fitting error of the radial correction on January 6, 2015. The errors of the three models, polynomial, ARMA, and ARMANN, are presented for PRN 17. The model order is 6 for the polynomial, 10 for ARMA, and 13 for ARMANN. The reason for using these orders will be discussed in the next paragraph. The fitting root mean square (RMS) error is 0.001 m for the polynomial, 0.004 m for ARMA, and 0.002 m for ARMANN. The polynomial model yields the smallest error because the orbit correction has a polynomial pattern and can be easily modeled by a polynomial model. The mean of the fitting error is close to zero. The largest RMS error of the ARMA is mainly due to the large mean error. In the cases of the along-track and cross-track corrections, the error pattern is similar to the radial corrections; the polynomial has the smallest error and the ARMA has the largest error. Among the three direction components, the radial direction has the smallest error, while the along-track has the largest error. This is because the variation of the radial direction is the smallest.Figure 3
Fitting error of radial correction (PRN 17, January 6, 2015).The clock correction fitting error of PRN 17 is shown in Figure4. Unlike the orbit correction, the polynomial has the largest error and the ARMANN has the smallest error. The clock correction has a high frequency variation, and the polynomial model is not suitable for following this type of variation. The error of the polynomial model is significant, around 7200 s when an abrupt change of the correction occurs. ARMA and ARMANN follow the variation with a high accuracy, but the polynomial does not follow the variation around 7400 s and yields a large error.Figure 4
Clock correction fitting error (PRN 17, January 6, 2015).Figure5 compares the fitting RMS errors of different orders by the polynomial model. In the case of the radial, along-track, and cross-track corrections, the error becomes significantly low after the 4th order. The 3D orbit, the norm of the three components, follows this trend as well. However, the clock error decreases linearly as the order is increased. If the error levels are almost the same, a lower order is preferred because the number of estimation coefficients is reduced. High order polynomials frequently caused a divergence problem, and the estimation stability becomes reduced. This type of divergence is more significant in the clock correction than in the orbit correction. For this reason, the order of 5 is selected for the clock polynomial model. The order of 6 is selected for the orbit model since the error level converges at this order. The use of an individual order for each orbit component can be considered, but the same order should be used for all three orbit components since the error difference is not significant.Figure 5
Fitting RMS errors of different orders by the polynomial model.Figure6 compares the fitting RMS errors of different orders by the ARMA model. Although the along-track and cross-track errors show small error increases around orders 7 and 8, the overall trend shows that the error is decreased as the order is increased. Order 10 is selected as the optimal ARMA order for the orbit corrections. The fitting error of the clock correction has a nearly constant level from order 9 to 12, and the smaller one, order 9, is selected as the ARMA optimal order.Figure 6
Fitting RMS errors of different orders by the ARMA model.Figure7 compares the fitting RMS errors of different orders by the ARMANN model. The error reduction along with the order is significant until order 13. This trend is the same for both the orbit and clock corrections. Based on these results, order 13 is selected as the ARMA optimal order for the orbit and clock corrections.Figure 7
Fitting RMS errors of different orders by the ARMANN model.Table1 summarizes the selected optimal orders along with the fitting errors. The relatively low orders are selected for the polynomial model to reduce the divergence problem. The orders of the orbit and clock corrections are almost the same for each model. In the case of the 3D orbit fitting error, the polynomial model shows the smallest error while the ARMANN model shows the largest error. This ranking is reversed for the clock corrections, and the ARMANN has a substantially smaller error than the two other models. The clock fitting error is larger than the orbit error except with the ARMANN. This implies that the polynomial and ARMA models have a better fitting performance for smooth time series, that is, the orbit time series, but have a worse performance for fluctuated time series, that is, the clock time series.Table 1
Optimal orders and fitting RMS errors.
3D orbit (m)
Order
Clock (m)
Order
Polynomial
0.003
6
0.042
5
ARMA
0.021
10
0.059
10
ARMANN
0.025
13
0.017
13


## 5. Prediction Results

The prediction accuracy for the RTS corrections is evaluated. The three models are tested by using the optimal orders determined from the fitting process.


### 5.1. Single PRN Analysis

Five epochs on January 6, 2014, are selected for the prediction starting epoch: 10800 s, 27000 s, 54000 s, 61200 s, and 84000 s. The data fitting period for training the models is 1 hour before the starting time and the prediction period is 30 min. These periods are selected to meet a condition that no IOD changes happen during the fitting and prediction periods for all satellites. For each satellite during the two-hour interval, the number of data used for the fitting process is 60, and the number of predicted data is 30.Figure8 shows the prediction results of the along-track correction from 54000 s to 64000 s for PRN 17. Two prediction periods exist starting from 54000 s and 61200 s. The data fitting intervals are 60 min. and 57 min. A data gap of 3 min. exists for the second fitting process, and the fitting interval becomes 57 min. The ARMA and ARMANN predict the correction with a good accuracy, while the polynomial prediction error grows significantly along with the time, especially from 61200 s.Figure 8
Prediction results of the along-track correction (PRN 17).Figure9 shows the prediction errors of the along-track correction from 54000 s to 64000 s for PRN 17. The polynomial error reaches 0.257 m and 12.25 m at the end of the prediction intervals. This large error is opposite to the small fitting error by the polynomial model. This implies that the polynomial model is good for the fitting but bad for the prediction. The RMS error of the ARMANN is slightly smaller than that of ARMA: 0.042 m for the ARMA and 0.035 m for the ARMANN.Figure 9
Prediction RMS error of the along-track correction (PRN 17).Figure10 shows the clock correction prediction results from 27000 s for PRN 28. The polynomial prediction diverges rapidly just after the prediction starts. The fitting pattern is different for the ARMA and ARMANN. The ARMANN follows the variation, while the ARMA follows the mean trend only.Figure 10
Clock correction prediction results (PRN 28).Figure11 shows the prediction RMS error of clock correction for PRN 28. Since both the ARMA and ARMANN follow the mean trend with high accuracy, the major component of the error time series is the deviation from the mean trend.Figure 11
Prediction RMS error of clock correction (PRN 28).The prediction accuracy depends on the length of the prediction time. Figure12 shows the orbit prediction accuracies for different time-intervals on January 6, 2015. The norm of three direction components is presented. The mean of the RMS errors from all satellites is presented. The x-axis value 300 s represents the time interval from 60 s to 300 s, and the value 600 s represents the interval from 360 s to 600 s, and so forth. The error of the polynomial model grows exponentially over that time, which demonstrates that the polynomial model is not proper for the prediction, especially for long intervals. The ARMA and ARMANN yield the same level of error until 900 s. After 900 s, the ARMANN yields a lower error. In the prediction process, the predicted values become the input of the next epoch. Since the initial prediction error of the ARMANN is small, the accumulated error remains small along with time.Figure 12
Prediction RMS error of 3D orbit for different prediction intervals (PRN 28).Figure13 shows the clock prediction accuracies for different time-intervals. The mean of the RMS errors of all satellites is presented. The clock prediction error is higher than the orbit prediction error since the satellite clock variation has a stochastic behavior. The time correlation of the clock time series is much smaller than that of the orbit time series [13]. The error of the polynomial model grows linearly until 1500 s, but it suddenly grows to 2.372 m within the 1510 s~1800 s interval. As with the orbit error, the ARMANN has a smaller error than the ARMA until 1500 s. This behavior is reversed in the last interval, 1510 s~1800 s. Investigation of other days’ data concludes that this is a one-time event and the ARMANN is always better than the ARMA in all intervals.Figure 13
Prediction RMS error of clock correction for different prediction intervals (PRN 28).Figure14 represents the prediction RMS errors for all 30 PRNs on January 6, 2015. The RMS errors during the 30 min. prediction interval are presented for individual components, radial, along-track, cross-track, and clock. The norm of the orbit errors, 3D orbit, is presented as well. It is clear that the polynomial model is not appropriate for the prediction. In the case of the clock, the polynomial model error reaches 2.234 m. The ARMANN is better than the ARMA, except the cross-track correction. The radial orbit error is smaller than the other direction errors because the variation of the radial correction is smaller than the others. The clock error is substantially greater than the orbit error due to its high frequency variation.Figure 14
Prediction RMS errors of orbit and clock components (All PRNs).


### 5.2. Multiple PRN Analysis

The prediction accuracy is evaluated by using all 30 PRNs during one day. The prediction RMS error during the 30 min. interval is analyzed for the three models.Figure15 shows the orbit/clock prediction errors by the polynomial model on January 6, 2015. The clock error is significantly larger than the 3D orbit error, and the clock error variability among the PRNs is significantly larger than the orbit error variability. The polynomial model frequently causes a divergence problem, especially for the clock correction. If the actual data at the end of the fitting interval is very different from the fitted data, then the prediction diverges in many cases.Figure 15
Prediction RMS error of each PRN (polynomial).Figure16 shows the orbit/clock prediction errors by the ARMA model. The difference between the orbit and clock errors is not as significant as that with the polynomial model. The largest clock error is by PRN 10, where the prediction value has an opposite trend against the actual value around 27000 s and 54000 s. The largest orbit error occurs by PRN 30, and it corresponds to the largest orbit error by the polynomial.Figure 16
Prediction RMS error of each PRN (ARMA).Figure17 shows the orbit/clock prediction errors by the ARMANN model. The difference between the orbit and clock errors is clearer than the ARMA model. The largest clock error occurs for PRN 10, and it corresponds to the largest orbit error by the ARMA. In half of the PRNs, the orbit error is greater than the clock error, and this behavior is different from the polynomial and ARMA models.Figure 17
Prediction RMS error of each PRN (ARMANN).


### 5.3. Multiple Day Analysis

The prediction accuracy may depend on the correction data characteristics, and it is reasonable to analyze other days of data. Five days from January 6 to January 10 in 2015 are chosen to evaluate the accuracy. In each day, five intervals are selected for the prediction: 60 min. training and 30 min. prediction. Exceptions are January 7, where prediction starts at 18000 s instead of 10800 s, and January 8, with no prediction at 27000 s. These are due to the lack of sufficient correction data inside the intervals.Statistic values of five-day prediction errors are presented in Table2. For each day, the average of 30 satellites’ RMS errors is computed. The mean value in the table represents the five-day mean of the daily values. Similar to the one-day results, the clock error is significantly larger than the 3D orbit error for all models. The polynomial error is higher than in any other model. Both the ARMA and ARMANN prediction errors are smaller than the RTS correction accuracies: 5 cm for orbit and 8 cm for clock. This implies that the 30-minute prediction results satisfy a minimum accuracy condition; that is, their accuracy is better than the RTS correction accuracy. The daily variability of the error is less than 0.25 m for the orbit and 0.5 m for the clock. The time correlation between the orbit and clock errors is clear. The ARMANN error levels are lower than the ARMA model. The ARMANN clock prediction error is always smaller than ARMA error.Table 2
Prediction RMS errors for five days (January 6 to January 10, 2015).
Day number
3D orbit (m)
Clock (m)
Ap
F10.7
Polynomial
ARMA
ARMANN
Polynomial
ARMA
ARMANN
6
0.552
0.055
0.046
2.234
0.068
0.057
13
142
7
0.982
0.058
0.054
2.811
0.096
0.092
38
147
8
0.697
0.056
0.051
2.605
0.081
0.081
16
157
9
0.572
0.037
0.036
2.072
0.059
0.055
8
151
10
0.601
0.043
0.039
2.905
0.059
0.057
10
152
Mean
0.681
0.050
0.046
2.526
0.073
0.068
17
150
STD
0.177
0.009
0.008
0.362
0.016
0.017
12
6The daily variation of the error is similar to the ARMA and ARMANN models; the maximum occurs on January 7 and the minimum occurs on January 9. This implies that the condition of the input data (RTS corrections) is one of the main factors to determine the prediction accuracy. To examine the cause of the error variation, the solar and geomagnetic indices, F10.7 and Ap, are investigated. The F10.7 index is the measurement of the noise level generated by the Sun at a wavelength of 10.7 cm. The Ap index defines the 8-point running average of the geomagnetic activity K-index. The Ap index is at its maximum on January 7 and at its minimum on January 9. It shows a high correlation between the orbit prediction error and the Ap index; the orbit prediction error increases along with the Ap index. There is a low correlation between the orbit prediction error and F10.7. The impact of the Ap variation is more significant on the clock error. The orbit and clock RTS corrections are computed simultaneously, and they are highly correlated. The higher Ap degrades both the orbit and clock RTS correction accuracy, and the errors are propagated into the prediction process. The stochastic nature of the clock correction magnifies the degradation and causes a high clock prediction error during the high Ap period.


## 5.1. Single PRN Analysis

Five epochs on January 6, 2014, are selected for the prediction starting epoch: 10800 s, 27000 s, 54000 s, 61200 s, and 84000 s. The data fitting period for training the models is 1 hour before the starting time and the prediction period is 30 min. These periods are selected to meet a condition that no IOD changes happen during the fitting and prediction periods for all satellites. For each satellite during the two-hour interval, the number of data used for the fitting process is 60, and the number of predicted data is 30.Figure8 shows the prediction results of the along-track correction from 54000 s to 64000 s for PRN 17. Two prediction periods exist starting from 54000 s and 61200 s. The data fitting intervals are 60 min. and 57 min. A data gap of 3 min. exists for the second fitting process, and the fitting interval becomes 57 min. The ARMA and ARMANN predict the correction with a good accuracy, while the polynomial prediction error grows significantly along with the time, especially from 61200 s.Figure 8
Prediction results of the along-track correction (PRN 17).Figure9 shows the prediction errors of the along-track correction from 54000 s to 64000 s for PRN 17. The polynomial error reaches 0.257 m and 12.25 m at the end of the prediction intervals. This large error is opposite to the small fitting error by the polynomial model. This implies that the polynomial model is good for the fitting but bad for the prediction. The RMS error of the ARMANN is slightly smaller than that of ARMA: 0.042 m for the ARMA and 0.035 m for the ARMANN.Figure 9
Prediction RMS error of the along-track correction (PRN 17).Figure10 shows the clock correction prediction results from 27000 s for PRN 28. The polynomial prediction diverges rapidly just after the prediction starts. The fitting pattern is different for the ARMA and ARMANN. The ARMANN follows the variation, while the ARMA follows the mean trend only.Figure 10
Clock correction prediction results (PRN 28).Figure11 shows the prediction RMS error of clock correction for PRN 28. Since both the ARMA and ARMANN follow the mean trend with high accuracy, the major component of the error time series is the deviation from the mean trend.Figure 11
Prediction RMS error of clock correction (PRN 28).The prediction accuracy depends on the length of the prediction time. Figure12 shows the orbit prediction accuracies for different time-intervals on January 6, 2015. The norm of three direction components is presented. The mean of the RMS errors from all satellites is presented. The x-axis value 300 s represents the time interval from 60 s to 300 s, and the value 600 s represents the interval from 360 s to 600 s, and so forth. The error of the polynomial model grows exponentially over that time, which demonstrates that the polynomial model is not proper for the prediction, especially for long intervals. The ARMA and ARMANN yield the same level of error until 900 s. After 900 s, the ARMANN yields a lower error. In the prediction process, the predicted values become the input of the next epoch. Since the initial prediction error of the ARMANN is small, the accumulated error remains small along with time.Figure 12
Prediction RMS error of 3D orbit for different prediction intervals (PRN 28).Figure13 shows the clock prediction accuracies for different time-intervals. The mean of the RMS errors of all satellites is presented. The clock prediction error is higher than the orbit prediction error since the satellite clock variation has a stochastic behavior. The time correlation of the clock time series is much smaller than that of the orbit time series [13]. The error of the polynomial model grows linearly until 1500 s, but it suddenly grows to 2.372 m within the 1510 s~1800 s interval. As with the orbit error, the ARMANN has a smaller error than the ARMA until 1500 s. This behavior is reversed in the last interval, 1510 s~1800 s. Investigation of other days’ data concludes that this is a one-time event and the ARMANN is always better than the ARMA in all intervals.Figure 13
Prediction RMS error of clock correction for different prediction intervals (PRN 28).Figure14 represents the prediction RMS errors for all 30 PRNs on January 6, 2015. The RMS errors during the 30 min. prediction interval are presented for individual components, radial, along-track, cross-track, and clock. The norm of the orbit errors, 3D orbit, is presented as well. It is clear that the polynomial model is not appropriate for the prediction. In the case of the clock, the polynomial model error reaches 2.234 m. The ARMANN is better than the ARMA, except the cross-track correction. The radial orbit error is smaller than the other direction errors because the variation of the radial correction is smaller than the others. The clock error is substantially greater than the orbit error due to its high frequency variation.Figure 14
Prediction RMS errors of orbit and clock components (All PRNs).


## 5.2. Multiple PRN Analysis

The prediction accuracy is evaluated by using all 30 PRNs during one day. The prediction RMS error during the 30 min. interval is analyzed for the three models.Figure15 shows the orbit/clock prediction errors by the polynomial model on January 6, 2015. The clock error is significantly larger than the 3D orbit error, and the clock error variability among the PRNs is significantly larger than the orbit error variability. The polynomial model frequently causes a divergence problem, especially for the clock correction. If the actual data at the end of the fitting interval is very different from the fitted data, then the prediction diverges in many cases.Figure 15
Prediction RMS error of each PRN (polynomial).Figure16 shows the orbit/clock prediction errors by the ARMA model. The difference between the orbit and clock errors is not as significant as that with the polynomial model. The largest clock error is by PRN 10, where the prediction value has an opposite trend against the actual value around 27000 s and 54000 s. The largest orbit error occurs by PRN 30, and it corresponds to the largest orbit error by the polynomial.Figure 16
Prediction RMS error of each PRN (ARMA).Figure17 shows the orbit/clock prediction errors by the ARMANN model. The difference between the orbit and clock errors is clearer than the ARMA model. The largest clock error occurs for PRN 10, and it corresponds to the largest orbit error by the ARMA. In half of the PRNs, the orbit error is greater than the clock error, and this behavior is different from the polynomial and ARMA models.Figure 17
Prediction RMS error of each PRN (ARMANN).


## 5.3. Multiple Day Analysis

The prediction accuracy may depend on the correction data characteristics, and it is reasonable to analyze other days of data. Five days from January 6 to January 10 in 2015 are chosen to evaluate the accuracy. In each day, five intervals are selected for the prediction: 60 min. training and 30 min. prediction. Exceptions are January 7, where prediction starts at 18000 s instead of 10800 s, and January 8, with no prediction at 27000 s. These are due to the lack of sufficient correction data inside the intervals.Statistic values of five-day prediction errors are presented in Table2. For each day, the average of 30 satellites’ RMS errors is computed. The mean value in the table represents the five-day mean of the daily values. Similar to the one-day results, the clock error is significantly larger than the 3D orbit error for all models. The polynomial error is higher than in any other model. Both the ARMA and ARMANN prediction errors are smaller than the RTS correction accuracies: 5 cm for orbit and 8 cm for clock. This implies that the 30-minute prediction results satisfy a minimum accuracy condition; that is, their accuracy is better than the RTS correction accuracy. The daily variability of the error is less than 0.25 m for the orbit and 0.5 m for the clock. The time correlation between the orbit and clock errors is clear. The ARMANN error levels are lower than the ARMA model. The ARMANN clock prediction error is always smaller than ARMA error.Table 2
Prediction RMS errors for five days (January 6 to January 10, 2015).
Day number
3D orbit (m)
Clock (m)
Ap
F10.7
Polynomial
ARMA
ARMANN
Polynomial
ARMA
ARMANN
6
0.552
0.055
0.046
2.234
0.068
0.057
13
142
7
0.982
0.058
0.054
2.811
0.096
0.092
38
147
8
0.697
0.056
0.051
2.605
0.081
0.081
16
157
9
0.572
0.037
0.036
2.072
0.059
0.055
8
151
10
0.601
0.043
0.039
2.905
0.059
0.057
10
152
Mean
0.681
0.050
0.046
2.526
0.073
0.068
17
150
STD
0.177
0.009
0.008
0.362
0.016
0.017
12
6The daily variation of the error is similar to the ARMA and ARMANN models; the maximum occurs on January 7 and the minimum occurs on January 9. This implies that the condition of the input data (RTS corrections) is one of the main factors to determine the prediction accuracy. To examine the cause of the error variation, the solar and geomagnetic indices, F10.7 and Ap, are investigated. The F10.7 index is the measurement of the noise level generated by the Sun at a wavelength of 10.7 cm. The Ap index defines the 8-point running average of the geomagnetic activity K-index. The Ap index is at its maximum on January 7 and at its minimum on January 9. It shows a high correlation between the orbit prediction error and the Ap index; the orbit prediction error increases along with the Ap index. There is a low correlation between the orbit prediction error and F10.7. The impact of the Ap variation is more significant on the clock error. The orbit and clock RTS corrections are computed simultaneously, and they are highly correlated. The higher Ap degrades both the orbit and clock RTS correction accuracy, and the errors are propagated into the prediction process. The stochastic nature of the clock correction magnifies the degradation and causes a high clock prediction error during the high Ap period.


## 6. Conclusions

An ARMANN model is applied to predict IGS RTS ephemeris and clock corrections. ARMA coefficients are determined by applying a neural network to IGS02 corrections. Other than the ARMANN, the polynomial and ARMA models are tested for comparison. An optimal order of each model is determined by fitting the model to the correction data. Five intervals are selected for the prediction tests. The data fitting period for training the models is 60 min. and the prediction period is 30 min.The polynomial model is good for the fitting but bad for the prediction. The ARMA and ARMANN have a similar level of accuracy, but the RMS error of the ARMANN is smaller than that of the ARMA. The 3D orbit RMS error is 0.699 m for the polynomial model, 0.050 m for the ARMA model, and 0.046 m for the ARMANN model. The clock RMS error is 2.546 m for the polynomial model, 0.074 m for the ARMA model, and 0.070 m for the ARMANN model. The difference between the ARMA and ARMANN models becomes significant as the prediction time increases. The accuracy of the ARMA model is similar to the ARMANN until 15 min., but it is worse than the ARMANN thereafter. The prediction errors show a meaningful correlation with the geomagnetic Ap index.



---

*Source: 851761-2015-06-22.xml*