# GNSS/INS Integration Based on Machine Learning LightGBM Model for Vehicle Navigation
## 3 Experimental Analysis and Method
### Model Training  
First, data pre-processing was performed. A dataset was constructed using the output data of the self-developed integrated navigation system; when the GNSS signal was available, incomplete strips of data were removed. Then, 80% of the dataset was divided into a training set, and the remaining 20% was used as a test set. The latitude and longitude data were compared to obtain the differences in longitude and latitude between the two epochs. It is worth noting that LightGBM is a high-performance framework for implementing GBDT, which is a tree model. Because the numerical scaling of the tree model does not affect the position of the split point or its structure, data normalization is not required. The training environment used was Windows 10 with an Intel i7-6700 HQ processor, and the pro  
Figure 2: Experimental device and method. (**A**) Two integrated navigation systems, 1—1 st antennae; 2—2 nd antennae; 3—3 rd antennae; (**B**) closed-loop experimental road trajectory. gramming language was Python version 3.7 (Python Software Foundation, Fredericksburg, VA, USA). The LightGBM model training process was then carried out, as shown in Figure 3[21]. The inputs and outputs of the PUA-LightGBM model for vehicle position prediction in the event of a GNSS outage were determined according to Section 2.2. This means that the inputs were the velocity (\(V_{\text{INS}}\)) and azimuth (\(\theta_{\text{INS}}\)) given by the INS and the three-axis acceleration of the vehicle, and the outputs were the differences in longitude (\(\delta E\)) and latitude (\(\delta N\)) between the two epochs. The longitude difference prediction and latitude difference prediction models were trained separately to implement a multiple-output regression. The parameter settings used in the model training and the descriptions of the relevant parameters are given in Table 1.  
The output data were first used to initialize a regression decision tree (DT) based on the loss function. Following that, \(n\) regression decision trees were created. A negative gradient, or pseudo-residual, was calculated using the output value of the initialized DT with the set sample output value. This residual was then used as the output value of the set sample to train the first DT. The best split point needed to be found when training the DT, and LightGBM discretized the continuous floating-point feature values and generated a histogram (bins). As the data were traversed, the cumulative statistics of each discrete value in the histogram were counted. Feature selection was accomplished by traversing the histogram based on the discrete values to determine the best split point. The algorithm cost \(O(\#data\times\#feature)\) for histogram building and \(O(\#bin\times\#feature)\) for split point finding. Since \(\#bin\) is usually much smaller than \(\#data\), the histogram building dominated the \begin{table}
\begin{tabular}{c c c} \hline \hline
**Parameter Name** & **Value** & **Parameter Implication** \\ \hline learning\_rate & 0.05 & Learning rate \\ num\_leaves & 63 & The number of leaves in a tree \\ num\_iterations & 300 & Number of basic learners \\ bagging\_fraction & 0.8 & The fraction of data to be considered for each iteration. \\ feature\_fraction & 0.9 & The fraction of features to be considered in each iteration. \\ \hline \hline \end{tabular}
\end{table} 
Table 1: The parameters of the LightGBM model. Figure 3: Training process of PUA-LightGBM model and histogram-based decision tree algorithm. DT—Regression Decision Tree; \(f_{1}(x)\)—Output of \(\text{DT}_{i^{\prime}}\sum_{i=1}^{n}f_{i}(x)\) —final output of the PUA-LightGBM model. computational complexity [17]. DT growth employs a leaf-wise technique, which locates and divides the leaf node with the maximum splitting gain relative to the present leaf node. In addition, during DT construction, the histogram of a leaf node can be obtained from the difference between its parent node's histogram and its sibling node's histogram.