Satellite clock error prediction method based on fusion prediction model
By integrating the prediction model, the satellite clock error series is processed once and trained with multiple algorithms, which solves the problem of inconsistent prediction accuracy of a single model and achieves high-precision satellite clock error prediction.
Patent Information
- Application Number
- CN202410348522.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-03-26
- Publication Date
- 2025-10-21
- Estimated Expiration
- 2044-03-26
AI Technical Summary
In the existing technology, when a single model is used for satellite clock error prediction, the prediction model has poor adaptability and inconsistent prediction accuracy due to the differences in satellite clock types, fitting arc lengths and predicted arc lengths.
A method based on a fusion prediction model is adopted to obtain satellite clock error sequence data, perform primary difference processing and gross error detection, and generate high-precision satellite clock error prediction results using a combination of K-nearest neighbor algorithm, support vector machine algorithm, XGBoost algorithm and BP neural network model training.
It is possible to obtain high-precision satellite clock error prediction values under different satellite clock types and observation conditions, thereby improving the adaptability and accuracy of the forecast.
Smart Images

Figure CN118277879B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a satellite clock error prediction method based on a fusion prediction model, and belongs to the technical field of GNSS high-precision data processing in satellite navigation. Background Art
[0002] Satellite clock error is one of the important parameters for the global satellite navigation system to achieve high-precision positioning, navigation and timing. However, the precise satellite clock error products released by international GNSS services often have a certain degree of delay. At the same time, because the satellite clock is affected by factors such as the external environment and observation conditions during actual operation, the satellite clock error data obtained by users often have data anomalies such as jumps and interruptions. In order to meet the real-time and high-precision requirements of users, the prediction of satellite clock error has become one of the important tasks at present. At present, the general processing strategy for satellite clock error is that when there is a discontinuity in the satellite clock error data used for modeling, if the discontinuity is not long and the data change trend is relatively stable, the gap is filled by interpolation. If the discontinuity is relatively long or there is a sudden change in the change trend, a segmented forecast is performed.
[0003] Models used for satellite clock error prediction include polynomial models (commonly used are linear models and quadratic polynomial models), grey system models, polynomial models with periodic terms (also called spectral analysis models), time series models, Kalman filter models, wavelet neural network models, radial basis function neural network models, support vector machine prediction models, long short-term memory recursive neural network models, combined prediction models that integrate multiple single models, and some improved models among the above models.
[0004] While the final clock error predictions obtained by the above methods have improved, some shortcomings remain. For example, the general applicability of single prediction models is insufficient. Current combined prediction models typically use a linear weighting method to weight the prediction results of multiple single models to obtain the final prediction result. This combination is only a preliminary combination of a few single models and does not fully utilize the advantages of multiple single models. However, due to the different types and qualities of spaceborne atomic clocks, their characteristics and stability also vary. Using any single prediction model to predict high-precision satellite clock errors is quite difficult. Generally speaking, the performance of a single prediction model varies depending on the satellite clock type, fitting arc length, and prediction arc length. Therefore, it is necessary to explore combined models with strong adaptability and high prediction accuracy, combining the advantages of each single model. Summary of the Invention
[0005] In order to solve the problem of poor adaptability of the prediction model and inconsistent prediction accuracy when only a single model is used to predict satellite clock errors due to the differences in satellite clock types, fitting arc lengths and predicted arc lengths, the present invention proposes a method for predicting satellite clock errors based on a fusion prediction model.
[0006] The purpose of the present invention is achieved through the following technical solutions:
[0007] A satellite clock error prediction method based on a fusion prediction model includes the following steps:
[0008] (1) Obtain the original satellite clock error sequence data, make a difference between every two adjacent epochs, and form the satellite clock error first difference sequence data;
[0009] (2) The satellite clock error sequence in step (1) is subjected to gross error detection using the median absolute deviation method, and the clock error data of the epoch containing gross errors are set to 0;
[0010] (3) Based on the clock error sequence formed in step (2), the k-fold cross validation method is used to divide the training set, test set, and validation set, where k ≥ 3;
[0011] (4) Recycle the training set data generated in step (3) to train the K-nearest neighbor algorithm, support vector machine algorithm, and XGBoost algorithm in turn. After the training is completed, use these three algorithms to predict the validation set data and test set data in step (3) respectively, and then generate new training set and test set data:
[0012] (5) Using the training set and test set data newly generated in step (4) to train the BP neural network model, and then using the trained BP neural network model to predict the subsequent clock error first difference sequence data;
[0013] (6) Using the prediction results in step (5), restore the original clock error prediction sequence data.
[0014] Furthermore, the specific method of step (2) is as follows:
[0015] (201) Assume that the clock error sequence formed in step (1) is: ΔC = {ΔC1, ΔC2, ΔC3, ..., ΔC n}, sort the clock error sequence from small to large, assuming the sequence after sorting is {ΔC (1) , ΔC (2) , ΔC (3) ,…,ΔC (n)}, calculate the intermediate value K = Med (ΔC i ), as follows:
[0016]
[0017] (202) Calculate the sequence MAD = Med{|ΔC i -K| / 0.6745}, i=1,2,…,n;
[0018] (203) The median absolute deviation method is used to detect gross errors as follows:
[0019] |ΔC i -Med(ΔC i )|>m×MAD
[0020] Where m is a constant ranging from 3 to 5; i = 1, 2, ..., n;
[0021] If the above conditions are met, then ΔC i As the gross error point, ΔC i Set to 0.
[0022] Furthermore, the specific method of step (3) is as follows:
[0023] (301) The first one of the clock error sequence generated in step (2) is The proportion of data is set as training set A, and then The proportion of data is set as the test set T;
[0024] (302) The data in the training set A is divided into k groups again. One of the groups is used as a validation set and the rest as training sets in a sliding window manner. This operation is repeated until each group of data has been used as a validation set once and only once. At this point, k groups of validation sets and training sets are formed.
[0025] Furthermore, the specific method of step (4) is as follows:
[0026] (401) Using the training set in step (3), the K-nearest neighbor algorithm, the support vector machine algorithm, and the XGBoost algorithm are trained respectively;
[0027] (402) Use the trained algorithm model to predict the validation set data respectively;
[0028] (403) The prediction results of the above three algorithm models are spliced together to form a new training set NX;
[0029] (404) respectively using the trained algorithm model of (401) to predict the test set T in step (3);
[0030] (405) Take the arithmetic mean of the predicted values generated by each algorithm model to form a new test set NT.
[0031] Compared with the prior art, the present invention has the following beneficial effects:
[0032] The present invention proposes a method for predicting satellite clock errors based on a fusion prediction model, which solves the problem of poor adaptability of the prediction model and inconsistent prediction accuracy caused by the differences in satellite clock types, fitting arc lengths and predicted arc lengths when only a single model is used for satellite clock error prediction. It provides a new prediction method for obtaining high-precision satellite clock error prediction values under different satellite clock types and different observation conditions. BRIEF DESCRIPTION OF THE DRAWINGS
[0033] Figure 1 This is a flow chart of the satellite clock error prediction process of the present invention;
[0034] Figure 2 This is a schematic diagram of the fusion prediction model of the present invention. DETAILED DESCRIPTION
[0035] In order to better illustrate the purpose and advantages of the present invention, the technical solution of the present invention is further described below with reference to the accompanying drawings.
[0036] A satellite clock error prediction method based on a fusion prediction model is proposed. The method first performs a primary difference on the original satellite clock error sequence, then detects gross errors on the satellite clock error primary difference sequence, resets the abnormal satellite clock errors containing gross errors to 0, and then trains the K-nearest neighbor algorithm, support vector machine (SVM) algorithm, and XGBoost algorithm based on the satellite clock error primary difference sequence that has completed gross error processing to achieve the initial prediction of satellite clock error data. The prediction results generated by the above three models are then used to train the BP neural network model to achieve the secondary prediction of satellite clock error. Finally, the original clock error prediction value is restored based on the secondary prediction results.
[0037] Specifically, the method includes the following steps:
[0038] (1) Obtain the original satellite clock error sequence data, and make a difference between the two adjacent epochs before and after it to form a relatively stable satellite clock error sequence data;
[0039] (2) The median absolute deviation (MAD) method is used to detect gross errors in the satellite clock error sequence in step (1), and then the clock error data of the epoch containing gross errors are set to 0;
[0040] (3) Based on the clock error sequence formed in step (2), the k-fold cross validation method (k ≥ 3) is used to divide the training set, test set, and validation set;
[0041] (4) The training set data generated in step (3) is cyclically used to train the K-nearest neighbor algorithm, the support vector machine (SVM) algorithm, and the XGBoost algorithm in sequence. After the training is completed, the validation set data and the test set data in step (3) are predicted respectively to generate new training set and test set data:
[0042] (5) Using the training set and test set data newly generated in step (4) to train the BP neural network model, and then using the trained model to predict the subsequent clock error first difference sequence data;
[0043] (6) Using the prediction results in step (5), restore the original clock error prediction sequence data.
[0044] Furthermore, the specific steps of step (2) are as follows:
[0045] (201) Assume that the clock error sequence is ΔC = {ΔC1, ΔC2, ΔC3, ..., ΔC n}, sort the clock error sequence from small to large, assuming the sequence after sorting is {ΔC (1) , ΔC (2) , ΔC (3) ,…,ΔC (n)}, calculate K = Med (ΔC i ), as follows:
[0046]
[0047] (202) Calculate MAD = Med{|ΔC i -K| / 0.6745};
[0048] (203) The MAD method is used to detect gross errors as follows:
[0049] |ΔC i -Med(ΔC i )|>m×MAD
[0050] Where: constant m can be set according to actual needs, generally 3 to 5. If the above conditions are met, then ΔC i As the gross error point, ΔC i Set to 0.
[0051] The specific steps of step (3) are as follows:
[0052] (301) The proportion of data is set as training set A, and then The proportion of data is set as the test set T;
[0053] (302) Divide the data in the training set A into k sets of roughly the same size. Using a sliding window approach, use one set of data as the validation set and the rest as the training set. Repeat this operation until each set of data has been used as the validation set once and only once. At this point, k sets of training sets can be formed (respectively represented by X0, ..., X k denoted) and k groups of validation sets (denoted by Y0, ..., Y k express).
[0054] The specific steps of step (4) are as follows:
[0055] (401) Use the training sets X0,…,X0 in step (3) respectively. k The K-nearest neighbor algorithm, support vector machine (SVM) algorithm, and XGBoost algorithm are trained in turn;
[0056] (402) The trained K-nearest neighbor algorithm, support vector machine (SVM) algorithm, and XGBoost algorithm model are used to respectively perform the validation set data Y0, ..., Y k Make predictions;
[0057]
[0058] (403) The prediction results of the three algorithm models on the validation set data are spliced together to form a new training set NX, whose values are as follows:
[0059]
[0060] (404) The trained K-nearest neighbor algorithm, support vector machine (SVM) algorithm, and XGBoost algorithm model are used to predict the test set T in step (3):
[0061]
[0062] (405) The arithmetic mean of the test set data predicted by each algorithm model is taken to form a new test set NT, the value of which is as follows:
[0063]
[0064] Here's a more concrete example:
[0065] A satellite clock error prediction method based on a fusion prediction model, such as Figure 1 As shown, the following steps are included:
[0066] Step (1): First, obtain the original satellite clock error sequence data, assuming that C = C1, C2, C3..., C n is a set of n-dimensional satellite clock difference sequences, where Ci (i=1,2,3,…,n) are the satellite clock error data of different epochs. The clock error data of adjacent epochs are subtracted to obtain the clock error first difference data sequence:
[0067] ΔC={ΔC1, ΔC2, ΔC3,…, ΔC n-1} (1)
[0068] Where, ΔC i =C i+1 -C i To facilitate further explanation of the technical invention of this solution, it is assumed that the length n of the original clock difference sequence is 21.
[0069] Step (2): Use the median absolute deviation (MAD) method to detect gross errors in the clock error sequence of formula (1). The method is as follows:
[0070] |ΔC i -K|>m×MAD (2)
[0071] Where, K = Med (ΔC i ), MAD=Med{|ΔC i -K| / 0.6745}, m can be a number between 3 and 5. If the conditions of formula (2) are met, then ΔC i As the gross error point, ΔC i Set to 0.
[0072] Step (3): Based on the clock error sequence in step (2), the k-fold cross validation method is used to complete the division of the training set, validation set and test set. Taking the 5-fold (k=5) cross validation method as an example, the principle of the prediction fusion model proposed in the present invention is as follows: Figure 2 As shown, the 5-fold cross-validation method is used to illustrate the use of step (3), the steps are as follows:
[0073] (301) Ratio (when k = 5, ) is set as training set A, and then Ratio (when k = 5, ) is set as the test set T, then the training set A={ΔC1,…,ΔC 14 ,ΔC 15}, test set T = {ΔC 16 ,…,ΔC 20}.
[0074] (302) The data in the training set A is divided into k groups of roughly the same size. Using a sliding window, one of the groups is used as a validation set and the rest as a training set. This operation is repeated until each group of data has been used as a validation set once and only once. At this point, k groups of validation sets and training sets can be formed. The validation sets are represented by Y0, Y1, Y2, Y3, and Y4, respectively, and the training sets are represented by X0, X1, X2, X3, and X4, respectively. i 、X i The specific values of (i∈(0,4)) are as follows:
[0075]
[0076]
[0077] Step (4): Use the training sets X0, X1, X2, X3, and X4 in step (3) to train the K-nearest neighbor algorithm, support vector machine (SVM) algorithm, and XGBoost algorithm in turn. After the training is completed, predict the validation set data and test set data in step (3) respectively, and then generate new training set and test set data.
[0078] The specific steps of step (4) are as follows:
[0079] (401) Using the training set data X0, X1, X2, X3, and X4 in step (3) respectively, the K-nearest neighbor algorithm, the support vector machine (SVM) algorithm, and the XGBoost algorithm are trained in turn;
[0080] (402) The trained algorithm model is used to predict the validation set data of Y0, Y1, Y2, Y3, and Y4 respectively, and the predicted values are as follows:
[0081]
[0082] (403) The prediction results of the above three algorithm models are spliced together to form a new training set NX, whose values are as follows:
[0083]
[0084] (404) The trained algorithm model is used to predict the test set T in step (3). Assume that its predicted value is as follows:
[0085]
[0086] (405) The arithmetic mean of the test set data predicted by each algorithm model is taken to form a new test set NT. The value of NT is as follows:
[0087]
[0088] Step (5): Use the training set NX and test set NT generated in step (4) to train the BP neural network model. After the training is completed, it can be used to predict the clock error data ΔC at the new epoch time. n ;
[0089] Step (6): Using the clock error data predicted in step (5), use the following formula:
[0090] C n+1 =C n +ΔC n ,
[0091] The original clock error data C can be restored n+1 .
[0092] In summary, the present invention provides a new prediction method for obtaining high-precision satellite clock error prediction values under different satellite clock types and different observation conditions.
Claims
1. A satellite clock error prediction method based on a fusion prediction model, characterized in that: The following steps are included: (1) Obtain the original satellite clock error sequence data, make a difference between every two adjacent epochs, and form the satellite clock error first difference sequence data; (2) The satellite clock error sequence in step (1) is subjected to gross error detection using the median absolute deviation method, and the clock error data of the epoch containing gross errors are set to 0; (3) Based on the clock error sequence formed in step (2), the k-fold cross validation method is used to divide the training set, test set, and validation set, where k ≥ 3; (4) Recycle the training set data generated in step (3) to train the K-nearest neighbor algorithm, support vector machine algorithm, and XGBoost algorithm in turn. After the training is completed, use these three algorithms to predict the validation set data and test set data in step (3) respectively, and then generate new training set and test set data: (5) Using the training set and test set data newly generated in step (4) to train the BP neural network model, and then using the trained BP neural network model to predict the subsequent clock error first difference sequence data; (6) Using the prediction results in step (5), restore the original clock error prediction sequence data.
2. The satellite clock error prediction method based on the fusion prediction model according to claim 1, characterized in that: The specific method of step (2) is as follows: (201) Assume that the clock error sequence formed in step (1) is: ΔC = {ΔC1, ΔC2, ΔC3, ..., ΔC n }, sort the clock error sequence from small to large, assuming the sequence after sorting is {ΔC (1) , ΔC (2) , ΔC (3) ,...,ΔC (n) }, calculate the intermediate value K = Med (ΔC i ), as follows: (202) Calculate the sequence MAD = Med{|DC i -K| / 0.6745}, i=1,2,…,n; (203) The median absolute deviation method is used to detect gross errors as follows: |DC i -Med(ΔC i )|>m×MAD Where m is a constant ranging from 3 to 5; i = 1, 2, ..., n; If the above conditions are met, then ΔC i As the gross error point, ΔC i Set to 0.
3. The satellite clock error prediction method based on the fusion prediction model according to claim 1, characterized in that: The specific method of step (3) is as follows: (301) The first one of the clock error sequence generated in step (2) is The proportion of data is set as training set A, and then The proportion of data is set as the test set T; (302) The data in the training set A is divided into k groups again. One of the groups is used as a validation set and the rest as training sets in a sliding window manner. This operation is repeated until each group of data has been used as a validation set once and only once. At this point, k groups of validation sets and training sets are formed.
4. The satellite clock error prediction method based on the fusion prediction model according to claim 1, characterized in that: The specific method of step (4) is as follows: (401) Using the training set in step (3), the K-nearest neighbor algorithm, the support vector machine algorithm, and the XGBoost algorithm are trained respectively; (402) Use the trained algorithm model to predict the validation set data respectively; (403) The prediction results of the above three algorithm models are spliced together to form a new training set NX; (404) respectively using the trained algorithm model of (401) to predict the test set T in step (3); (405) Take the arithmetic mean of the predicted values generated by each algorithm model to form a new test set NT.
Citation Information
Patent Citations
WMAD-based GNSS satellite clock error data preprocessing method
CN110531386A
Beidou satellite clock error forecasting method and device
CN113281790A