# Vehicle Lane Change Models--A Historical Review
## 2 Vehicle Lane Change Models
### Cognitive Models of Lane Change
#### 2.3.1 Decision Tree Model
The traditional vehicle lane change decision-making model cannot accurately and completely describe the lane change process, and relying on experience to formulate the model lacks a certain rationality and cannot reflect the driver's psychological and physiological reactions in the process of a lane change. In the process of a lane change, appropriate variables must be selected as the inputs of the model. [PERSON] et al. [117] used a random forest algorithm to establish a decision-making model of vehicle lane change behavior. The vehicle data were extracted from the NGSIM dataset, and the errors in the NGSIM data were corrected using the symmetric exponential moving average algorithm, with the test results showing a good degree of prediction and fitting. In order to make the driving process safer and more reliable, it is important for advanced driver assistance systems (ADASs) to reasonably understand and accurately predict human driving behavior. [PERSON] et al. [118] developed a driving assistance system based on prediction of the driver's behavior. They modeled three driving behaviors: lane change to the left, lane change to the right, and lane keeping. The prediction model was trained using machine learning methods such as hidden Markov model (HMM), support vector machine (SVM), convolutional neural network (CNN), and random forest (RF). The model incorporates information about eye movement trajectories. Experimental results showed that the random forest algorithm has the best performance among the four algorithms. The random forest algorithm takes a decision tree as a component unit and combines a large number of decision trees to form a random forest. However, if many factors in the driving environment make the process of lane changing complicated, inappropriate lane-changing behavior will lead to serious traffic accidents. Therefore, [PERSON] et al. [119] proposed a lane change prediction method based on extremely random decision trees, which divides the lane change process into two stages according to the driving environment, as shown in Figure 5 below. The first stage ends when the front center of the vehicle crosses the lane line, and the second stage begins when the front center of the vehicle crosses the target lane and ends when the vehicle has corrected its direction of travel. On the road, M represents the lane-changing vehicle, Lc represents the leading vehicle in the current lane, Lt represents the leading vehicle in the target lane, and Ft represents the following vehicle in the target lane. The input variables for an extremely random decision tree model are \(X=\left\{\Delta V_{ij},\Delta a_{ij},\varnothing_{ij}\right\}\), where \(\Delta V_{ij}\) represents the relative speed between the lane-changing vehicle and the surrounding vehicles, \(\Delta a_{ij}\) represents the relative acceleration between the lane-changing vehicle and the surrounding vehicles, and \(\varnothing_{ij}\) represents the relative potential between the lane-changing vehicle and surrounding vehicles. The output variable is the driving angle \(Y=\alpha_{i}\), calculated from the transverse and longitudinal positions of the lane-changing vehicles, and the sample is \(S=\left\{X,Y\right\}\). The calculation process of the extremely random decision tree model is similar to that of the random forest model. The main difference is that the random forest uses the random sampling bootstrap to filter the sampled dataset, while the extremely random decision tree model uses the original dataset for training. The random forest selects the optimal segmentation points according to the information gain, while the extremely random decision tree model randomly selects the segmentation nodes. The calculation process [120] is as follows: when \(|S|<n_{min}\), the candidate property is constant or the output variable is constant, and the result returns a leaf marked with the average output. \(n_{min}\) represents the minimum number of samples of split nodes, while \(|S|\) represents the length of the vector \(S\).