Flight arrival time prediction method based on flight path
By applying a deep learning model in flight arrival time prediction, the spatiotemporal characteristics of flight trajectory data are extracted, and different wind direction conditions are taken into account, the problem of insufficient prediction accuracy of flight arrival time in the prior art is solved, and higher prediction accuracy and applicability are achieved.
Patent Information
- Application Number
- CN202510196243.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-21
- Publication Date
- 2025-06-03
AI Technical Summary
The existing flight arrival time prediction methods are inadequate when facing complex aviation environments, especially in flight trajectory prediction in a short period of time, and it is difficult to cope with rapid changes in the flight environment.
Using a deep learning-based method, the model is constructed through the PyTorch framework, the spatial and temporal characteristics of the flight trajectory data are extracted using BERT's Transformer encoder, and the arrival time prediction value is generated through the decoder, and an independent prediction model is constructed to consider different wind conditions such as south wind and north wind.
It improves the prediction accuracy of flight arrival time, enhances the applicability of the model under variable meteorological conditions, simplifies data processing and model training processes, reduces computational complexity, and ensures real-time and stability of predictions.
Smart Images

Figure CN120089028A_ABST
Abstract
Description
Technical Field
[0001] The invention belongs to the technical field of civil aviation data analysis, and in particular relates to a flight arrival time prediction method based on flight trajectory. Background Art
[0002] As global aviation demand continues to grow, air traffic management systems face higher efficiency and safety requirements. Accurately predicting aircraft arrival time (ALDT) is crucial for flight scheduling, flow control, and conflict detection for airlines and air traffic control departments. However, current prediction methods still have certain limitations in the face of an increasingly complex aviation environment, especially in the short-term (e.g., within 30 minutes) flight trajectories are often affected by complex factors, which places higher demands on prediction accuracy.
[0003] Traditional ALDT prediction methods usually rely on estimates based on physical models and filter models. The physical model is based on the kinematics and aerodynamics of the aircraft and uses a series of mathematical equations to infer the flight state; the filter model combines real-time observation data and recursively estimates the flight trajectory through a set system model. These methods are effective under certain conditions, but due to their lack of flexibility and adaptability, they are difficult to cope with complex changes in the flight environment.
[0004] In recent years, data-driven deep learning models have gradually shown their potential in aviation arrival time prediction. Recurrent neural networks such as long short-term memory networks (LSTM) can effectively capture the dependencies in time series data, and have good prediction performance and high computational efficiency. However, in complex short-term trajectory prediction tasks, the performance of models such as LSTM is still limited, especially in complex airspace within 30 minutes, where the prediction accuracy is not as good as more targeted models.
[0005] Existing multi-step prediction methods usually need to consider the mutual influence between aircraft. Although considering the mutual influence between aircraft can improve the overall prediction accuracy, it also significantly increases the complexity of the model and the computational overhead.
[0006] Therefore, the above-mentioned problems need to be solved urgently. Summary of the invention
[0007] In view of the deficiencies in the prior art, the present invention provides a flight arrival time prediction method based on flight trajectory to improve the accuracy of flight scheduling and air traffic management.
[0008] In order to solve the above technical problems, the technical solution adopted by the present invention is: a flight arrival time prediction method based on flight trajectory, comprising the following steps:
[0009] S100, aviation flight trajectory dataset preprocessing:
[0010] In the aviation flight trajectory dataset, the following fields are selected: TIME: the time in the flight trajectory, lon: longitude, lat: latitude, alt: altitude, spdx: velocity component on the x-axis, spdy: velocity component on the y-axis, spdz: velocity component on the z-axis, ACID: flight identifier, ALDT: the scheduled arrival time in the flight plan. The abnormal data of the above fields are filtered;
[0011] S200, Dataset Feature Extraction and Model Input:
[0012] S210, Dataset Feature Extraction: The field features in the flight trajectory dataset are extracted and converted into binary representations to ensure that the model can fully understand the spatial and motion information of the trajectories; each trajectory data is distinguished by a unique ACID flight identifier, and different trajectory points are sorted by the TIME in the flight trajectory field to construct a complete time series input;
[0013] S220, Feature Encoding: Convert the longitude lon, latitude lat, altitude alt, velocity component on the x-axis spdx, velocity component on the y-axis spdy, velocity component on the z-axis spdz, and differential feature data into binary encodings;
[0014] S230, Model Input: The features of each trajectory point are encoded as binary vectors. For the trajectory data within the past 3 minutes, an input matrix is constructed;
[0015] S300, Dataset Label Generation:
[0016] The label predicted by ALDT is calculated by the difference between the scheduled arrival time ALDT in the flight plan and the TIME in the flight trajectory of the last trajectory point, representing the remaining flight time of the target flight. This label is a floating-point number in minutes and is used to supervise the model training to ensure that the model can accurately predict the arrival time;
[0017] S400, Model Construction:
[0018] The model uses the PyTorch deep learning framework, and the specific steps are as follows:
[0019] S410, The encoder module is based on the Transformer encoder structure of BERT. This structure extracts and embeds features through multiple layers of self-attention mechanisms (Self-Attention) and feed-forward neural networks (Feed-Forward Neural Network). The model learns the spatio-temporal dependencies between flight trajectory points through multiple layers of Transformer layers. Each layer contains a multi-head self-attention mechanism and a feed-forward network to capture the mutual relationships between trajectory points;
[0020] S420. The decoder module in this model consists of a linear layer and a hidden layer, and is used to map the encoded features to the predicted time of arrival;
[0021] S430. The features finally output by the output layer decoder pass through a linear layer and are multiplied by a constant all_time. The prediction interval of the model is [0, all_time], and the predicted value of the time required for the flight to reach the distance is generated. This predicted value is expressed as the difference between the TIME of the last trajectory point and the time of arrival, with the unit of minutes;
[0022] S500. Training and optimization of the model:
[0023] S510. The model is trained according to the data under two conditions of south wind and north wind, and a south wind model and a north wind model are constructed to ensure that the model can adapt to the changes under specific wind direction conditions and improve the generalization performance of the prediction; each model uses the data of a specific month, with the data of one month as the training set and the data of 10 days as the validation set;
[0024] S520. The model uses a custom combined loss function, Combined Loss, to optimize the prediction accuracy. This loss function combines the percentage error, Percentage Error, and the mean absolute error, Mean Absolute Error, MAE. The weight parameter α controls the balance between the two;
[0025] S530. The model is trained under the deep learning framework PyTorch and uses the Adam optimizer;
[0026] S540. After the training is completed, the model is directly deployed and tested in the airport system, and receives the flight trajectory data in real time to predict the arrival time, ALDT;
[0027] S600. Model deployment for ALDT prediction:
[0028] After the model training is completed, each time a prediction is made, only the trajectory point data of the past three minutes needs to be input. The model extracts features through the encoder and makes predictions through the decoder. The output value is the number of minutes required for the flight to reach the distance. Adding the current time can indirectly obtain the predicted value of ALDT, thereby supporting real-time decision-making for air traffic control.
[0029] Furthermore, for the method for predicting the arrival time of a flight based on the flight trajectory, in S210, the steps for extracting the field features are:
[0030] The input data are the flight trajectory points within the past 3 minutes. The time interval between each trajectory point is approximately 20 seconds, and there are a total of 9 to 10 trajectory points. Each trajectory point records multiple fields of the flight state, including the fields longitude lon, latitude lat, altitude alt, x-axis speed component spdx, y-axis speed component spdy, z-axis speed component spdz, time TIME, and flight identifier ACID;
[0031] In S220, the steps for converting the data into binary encoding are as follows:
[0032] Longitude lon: The longitude data is retained to three decimal places and magnified 1000 times, then converted to an integer and further converted to a binary encoding with a fixed length;
[0033] Latitude lat: The latitude data is retained to three decimal places and magnified 1000 times, then converted to an integer and further converted to a binary encoding with a fixed length;
[0034] Altitude alt: First, the altitude data is divided by 10 and rounded to an integer to reduce the numerical scale and prevent the model from considering excessive detailed changes. Subsequently, the altitude value is encoded as a binary representation with a fixed number of digits;
[0035] X-axis speed component spdx, y-axis speed component spdy, z-axis speed component spdz: For each speed component, it is first rounded to an integer and then converted to binary encoding; to retain the speed direction information, a sign bit is added before the binary encoding for negative values (add the number 1 before encoding for negative values, and positive values are directly encoded by their absolute values);
[0036] Differential features: To improve the model's ability to capture the trend of trajectory changes, we calculate the difference values of longitude lon, latitude lat, altitude alt, x-axis speed component spdx, y-axis speed component spdy, and z-axis speed component spdz, and these difference values are also encoded as binary; the difference values between every two adjacent trajectory points reflect the changes in the flight state, which helps the model identify the dynamic features of the trajectory;
[0037] In S230, the steps for inputting the matrix are as follows:
[0038] Each row of the input matrix represents the features of a trajectory point, including the binary encodings of the fields longitude lon, latitude lat, altitude alt, x-axis speed component spdx, y-axis speed component spdy, z-axis speed component spdz, and their differential features. The TIME field is used for time sorting of the trajectory points but is not used as a feature for the final model input;
[0039] Time series dimension: The input matrix contains 9 to 10 chronologically arranged trajectory points, and the binary encoding of each trajectory point forms a time series, enabling the model to capture the temporal dependencies between trajectory points.
[0040] Furthermore, for the method of predicting flight arrival time based on flight trajectories, in S520, Percentage Error:
[0041] Percentage Error is used to measure the relative error between the predicted value and the true value. Equation 1 is:
[0042]
[0043] where y true is the true value, y pred is the predicted value, and ∈ is a very small constant 10 used to avoid division by zero;
[0044] Mean Absolute Error, MAE:
[0045] Mean Absolute Error is used to measure the absolute difference between the predicted value and the true value. Equation 2 is:
[0046]
[0047] where N is the number of samples;
[0048] Combined Loss Function:
[0049] The combined loss function combines Percentage Error and Mean Absolute Error, MAE, to balance the influence of relative error and absolute error. Equation 3 is: Combined Loss(y true , y pred ) = α × PE(y true , y pred ) + (1 - α) × MAE(y true , y pred ) Equation 3;
[0050] where α is the weight parameter of Percentage Error, and its value range is 0 ≤ α ≤ 1, and its default value is 0.9;
[0051] In S530, the specific steps for the model to be trained under the deep learning framework PyTorch are as follows:
[0052] S531. Model initialization: Before each training, initialize the parameters of the south wind model or the north wind model;
[0053] S532. Data Loading and Partitioning: Load the trajectory data under specified wind direction conditions. Use the data for 1 month as the training set and the data for 10 days as the validation set. The data is grouped by flight identifier ACID and sorted according to the time TIME field.
[0054] S533. Batch Training: Divide the dataset into small batches (batch), and perform the following steps on each batch:
[0055] S5331. Forward Propagation: Input the feature vector X and the binary features processed by 9 to 10 waypoints into the model to obtain the predicted value y pred ;
[0056] S5332. Loss Calculation: Use the combined loss function to calculate the loss between the predicted value y pred and the true value y true : Formula 4:
[0057] L = Combined Loss(y true , y pred ) Formula 4;
[0058] S5333. Backward Propagation: Perform backward propagation on the loss L to calculate the gradients of each parameter;
[0059] S5334. Parameter Update: Use the Adam optimizer to adjust the model parameters to minimize the loss function;
[0060] S5335. Validation Set Evaluation: At the end of each training epoch, evaluate the model performance on the validation set and calculate the validation set loss to prevent overfitting.
[0061] Compared with the prior art, the beneficial effects of the present invention are as follows:
[0062] 1. The model of the present invention realizes accurate prediction of flight arrival time by mining the internal features and historical trends in the trajectory data, without relying on external factor data such as weather; this makes the model have a wider applicability under variable meteorological conditions and also greatly simplifies the data processing and model training processes.
[0063] 2. Based on the wind direction conditions, the present invention constructs two independent prediction models for south wind and north wind respectively, ensuring the prediction accuracy under different wind direction environments; without directly introducing meteorological data such as wind speed, the generalization ability of the model under different wind direction conditions is improved by reasonable partitioning of the training set.
[0064] 3. By performing binary encoding and differential processing on the characteristics of the trajectory data, the present invention can accurately capture the changing patterns in the flight trajectory. This characteristic processing method not only improves the model's ability to express data but also reduces the complexity of model calculation, ensuring the real-time nature of prediction.
[0065] 4. The model architecture of the present invention is simple and has high computational efficiency. The deep learning model based on encoding is easy to train, and an accurate prediction model can be generated with only one month's flight trajectory data for training data; no additional data collection and processing resources are required during deployment, and the model can be directly integrated into the airport management system to support real-time flight scheduling decisions.
[0066] 5. The model of the present invention is trained based on conventional large flight trajectory data and has wide applicability. At the same time, by using a custom combined loss function, the relative error and the absolute error are balanced, ensuring the stability of prediction. The model of the present invention can maintain a high prediction accuracy whether under complex meteorological conditions or under variable flight densities. BRIEF DESCRIPTION OF THE DRAWINGS
[0067] Figure 1 is a schematic flowchart of the prediction method of the present invention;
[0068] Figure 2 is a schematic diagram of the data input format of the present invention;
[0069] Figure 3 is a schematic diagram of the model framework of the present invention;
[0070] Figure 4 is a schematic diagram of the validation set of the south wind model of the present invention;
[0071] Figure 5 is a schematic diagram of the validation set of the north wind model of the present invention;
[0072] Figure 6 is a schematic diagram of real-time prediction after the deployment of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0073] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are some, but not all, of the embodiments of the present invention. All other embodiments obtained by those of ordinary skill in the art without creative efforts based on the embodiments of the present invention belong to the scope of protection of the present invention.
[0074] Therefore, the following detailed description of the embodiments of the present invention provided in the accompanying drawings is not intended to limit the scope of the claimed invention but merely represents selected embodiments of the present invention.
[0075] Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts fall within the scope of protection of the present invention.
[0076] It should be noted that like reference numerals and letters indicate like items in the following figures. Therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures.
[0077] In the description of the present invention, it should be understood that the orientation or positional relationship indicated by the terms "center", "longitudinal", "transverse", "length", "width", "thickness", "upper", "lower", "front", "rear", "left", "right", "vertical", "horizontal", "top", "bottom", "inner", "outer", "clockwise", "counterclockwise", etc. is based on the orientation or positional relationship shown in the drawings, and is only for the convenience of describing the present invention and simplifying the description, rather than indicating or implying that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore should not be construed as a limitation of the present invention.
[0078] To simplify the model design and ensure the calculation efficiency, the mutual influence between aircraft is not considered in the model design of the present invention, and only focuses on predicting the arrival time of a single flight. This method is applicable to real-time monitoring of individual flights and avoids complex modeling of the mutual influence of multiple aircraft.
[0079] The present invention deeply mines the key features in the flight trajectory of flights and constructs an efficient short-term arrival time ALDT prediction model. Since there are many factors affecting the arrival time of flights and they change complexly, it is difficult to rely on external weather factors for accurate prediction. The present invention encodes the position and speed features in the flight trajectory and introduces historical differential information, effectively extracts the motion law of the flight itself, and realizes high-precision arrival time prediction without introducing external factors such as wind direction and wind speed.
[0080] A method for predicting the arrival time of flights based on flight trajectories, taking the flight trajectory big data in the Qingdao Control Area as an example in combination with the drawings; the aviation trajectory big data used comes from the Qingdao Control Area, and the trajectory data and flight plans of the aircraft landing in Qingdao in January, March, May, June, and September are used for model training and testing; the total number of aircraft in the selected data set is 752 different ACIDs. The method includes the following steps:
[0081] S100. Preprocessing of the aviation flight trajectory data set:
[0082] In the aviation flight trajectory dataset, select the fields: TIME: time in the flight trajectory, lon: longitude, lat: latitude, alt: altitude, spdx: velocity component on the x-axis, spdy: velocity component on the y-axis, spdz: velocity component on the z-axis, ACID: flight identifier, ALDT: arrival time in the flight plan, and filter the abnormal data of the above fields;
[0083] The steps for preprocessing the aviation flight trajectory dataset are as follows:
[0084] S110. Filter out abnormal trajectory records with ACID equal to 0 and trajectory records whose landing location is not in Qingdao;
[0085] S120. Assign the trajectory data with different ACIDs and different dates to their respective files, and sort the records according to the TIME field;
[0086] S130. Map ALDT from the flight plan to the trajectory data, and obtain our prediction label through ALDT - TIME;
[0087] S140. Since the average time interval of the original data records is 4 seconds, we sample every 5 records to obtain flight track data with an average of 20 seconds; subsequently, adopt a sliding window strategy, extract 9 to 10 points each time, about 3 minutes, and in this embodiment, 10 points are fixed as one input.
[0088] After the preprocessing steps, for each model to be trained, we respectively obtain a training set with 1.3 million inputs and a validation set with 400,000 inputs. Each input represents a trajectory of about 3 minutes, each input consists of 10 waypoints, each waypoint has 6 field features of lon, lat, alt, spdx, spdy, spdz, and there is a corresponding ALDT for each input trajectory.
[0089] S200. Dataset feature extraction and model input:
[0090] S210. Dataset feature extraction: The field features in the flight trajectory dataset are extracted and converted into binary representation to ensure that the model can fully understand the spatial and motion information of the trajectory; each trajectory data is distinguished by a unique ACID flight identifier, and different trajectory points are sorted by the TIME field in the flight trajectory to construct a complete time series input;
[0091] In S210, the steps for extracting field features are as follows:
[0092] The input data are the flight trajectory points within the past 3 minutes. The time interval between each trajectory point is approximately 20 seconds, and there are a total of 9 to 10 trajectory points. Each trajectory point records multiple fields of the flight state, including the fields longitude lon, latitude lat, altitude alt, x-axis speed component spdx, y-axis speed component spdy, z-axis speed component spdz, time TIME, and flight identifier ACID;
[0093] S220, Feature Encoding: Convert the longitude lon, latitude lat, altitude alt, x-axis speed component spdx, y-axis speed component spdy, z-axis speed component spdz, and differential feature data into binary codes;
[0094] In S220, the steps for converting data into binary codes are as follows: Perform binary encoding processing on the main fields of each trajectory point:
[0095] Longitude lon: Retain the longitude data to three decimal places and magnify it by 1000 times. After converting it into an integer, convert it into a binary code with a fixed length; This method can accurately represent the longitude information in the model input;
[0096] Latitude lat: Retain the latitude data to three decimal places and magnify it by 1000 times. After converting it into an integer, convert it into a binary code with a fixed length;
[0097] Altitude alt: First, divide the altitude data by 10 and take the integer to reduce the numerical scale and prevent the model from considering excessive detailed changes. Subsequently, encode the altitude value into a binary representation with a fixed number of digits;
[0098] X-axis speed component spdx, y-axis speed component spdy, z-axis speed component spdz: For each speed component, first round it to the nearest integer and then convert it into a binary code; To retain the speed direction information, add a sign bit before the binary code for negative values. Add the number 1 before encoding negative values, and encode positive values directly by their absolute values; This processing method ensures that the model can distinguish the direction of the speed;
[0099] Differential Feature: To improve the model's ability to capture the trend of trajectory changes, we calculate the difference values of the longitude lon, latitude lat, altitude alt, and x-axis speed component spdx, y-axis speed component spdy, z-axis speed component spdz, and also encode these difference values into binary; The difference value between every two adjacent trajectory points reflects the change in the flight state, which helps the model identify the dynamic characteristics of the trajectory;
[0100] S230, Model Input: The features of each trajectory point are encoded as a binary vector. For the trajectory data within the past 3 minutes, construct an input matrix;
[0101] In S230, the steps of inputting the matrix are as follows:
[0102] Each row of the input matrix represents the features of a trajectory point, including the fields longitude lon, latitude lat, altitude alt, velocity component in the x-axis spdx, velocity component in the y-axis spdy, velocity component in the z-axis spdz, and the binary encoding of their differential features. The TIME field is used for the time sorting of trajectory points but is not used as an input feature for the final model.
[0103] Time series dimension: The input matrix contains 9 to 10 trajectory points arranged in chronological order, and the binary encoding of each trajectory point forms a time series, enabling the model to capture the temporal dependencies between trajectory points.
[0104] Through feature extraction, we will obtain the input that can be directly input into the model Flight_ETA_BERT.
[0105] S300, Dataset label generation:
[0106] The label predicted by ALDT is calculated by the difference between the arrival time ALDT in the flight plan and the time TIME in the flight trajectory of the last trajectory point, representing the remaining flight time of the target flight. This label is a floating-point number in minutes and is used to supervise the model training to ensure that the model can accurately predict the arrival time.
[0107] S400, Model construction:
[0108] The model Flight_EAT_BERT of the present invention is constructed based on a deep learning framework of the Transformer architecture. In particular, the encoder module draws on the design idea of BERT, the English full name Bidirectional Encoder Representations from Transformers, which is consistent with the encoder design of FlightBERT++. BERT is a bidirectional Transformer model that is good at learning complex spatio-temporal dependencies from sequence data and is therefore very effective in processing time-series data such as flight trajectories.
[0109] The model uses the PyTorch deep learning framework, and the specific steps are as follows:
[0110] S410. The encoder module is based on the Transformer encoder structure of BERT. This structure extracts features and performs embeddings through multiple layers of self-attention mechanism (Self-Attention) and feed-forward neural network (Feed-Forward Neural Network). The model learns the spatio-temporal dependencies between flight trajectory points through multiple Transformer layers. Each layer contains a multi-head self-attention mechanism and a feed-forward network to capture the relationships between trajectory points.
[0111] S420. In this model, the decoder module consists of a linear layer and a hidden layer, which is used to map the encoded features to the predicted arrival time values. This decoder design is simpler and more efficient than the standard Transformer decoder and is suitable for single-value prediction, that is, arrival time prediction.
[0112] S430. The features finally output by the decoder of the output layer pass through a linear layer and are multiplied by a constant all_time. The prediction interval of the model is [0, all_time], generating the predicted value of the time required for the flight to reach the distance. This predicted value is expressed as the difference between the TIME of the last trajectory point and the arrival time, with the unit of minutes.
[0113] S500. Training and optimization of the model:
[0114] S510. Training data division and distributed training of the model. Since the model of the present invention does not introduce weather features such as wind direction, specific models are trained for different wind direction conditions to improve the prediction accuracy under different meteorological conditions. The model is trained according to the data under two conditions of south wind and north wind, constructing a south wind model and a north wind model to ensure that the model can adapt to the changes under specific wind direction conditions and improve the generalization performance of the prediction. Specifically, in this example, we use the data of January, September and March, May, June respectively for model training, constructing a north wind model and a south wind model. Among them, the data of January and September have a relatively large proportion of north wind and are used to train the north wind model; the data of March, May and June have a relatively large proportion of south wind and are used to train the south wind model. For the training of each model, we randomly select 30 days of data as the training set and 10 days of data as the validation set.
[0115] Training process: During training, we use the mixed loss function we set. ∈ is set to 10, α is set to 0.9, and the other parameters in the training are set as follows:
[0116] Table 1:
[0117] Parameter Explanation Size learning_rate Learning rate 0.000001 epochs Number of training epochs 50 batch_size Batch size 16 lon_size Number of bits of binary lon 18 lat_size Number of bits of binary lat 16 alt_size Number of bits of binary alt 12 spdx_size Number of bits of binary spdx 11 spdy_size Number of bits of binary spdy 11 spdz_size Number of bits of binary spdz 11 delta_lon_size Number of bits of binary differential lon 8 delta_lat_size Number of bits of binary differential lat 8 delta_alt_size Number of bits of binary differential alt 8 delta_spdx_size Number of bits of binary differential spdx 9 delta_spdy_size Number of bits of binary differential spdy 9 delta_spdz_size Number of bits of binary differential spdz 6 all_time Size of the time region to be predicted 40 inp_seq_len Number of track points per track - 1 9 data_period Interval at which to sample points 5
[0118] The size of batch_size in the parameters affects the prediction effect of the model. Therefore, the size of batch_size during training is set to be approximately the same as the size of batch_size for batch input during use. Then, we use the PyTorch deep learning framework to train our model, perform backpropagation on the loss to calculate the gradients of each parameter, and use the Adam optimizer to adjust the model parameters to minimize the loss function.
[0119] S520, Loss function. The model uses a custom combined loss function, Combined Loss, to optimize the prediction accuracy. This loss function combines the percentage error (Percentage Error) and the mean absolute error (Mean Absolute Error, MAE). The weight parameter α controls the balance between the two.
[0120] In the above S520, the percentage error (Percentage Error):
[0121] The percentage error is used to measure the relative error between the predicted value and the true value. Formula 1 is:
[0122]
[0123] where y true is the true value, y pred is the predicted value, and ∈ is a very small constant 10, used to avoid division by zero.
[0124] The mean absolute error (Mean Absolute Error, MAE):
[0125] The mean absolute error is used to measure the absolute difference between the predicted value and the true value. Formula 2 is:
[0126]
[0127] where N is the number of samples;
[0128] The combined loss function (Combined Loss):
[0129] The combined loss function combines the percentage error (Percentage Error) and the mean absolute error (Mean Absolute Error, MAE) to balance the influence of relative error and absolute error. Formula 3 is: Combined Loss(y true ,y pred ) = α × PE(y true ,y pred ) + (1 - α) × MAE(y true ,y pred ) Formula 3;
[0130] Among them, α is the weight parameter of the percentage error, and its value range is 0 ≤ α ≤ 1, and its default value is 0.9;
[0131] S530. Training process: The model is trained under the deep learning framework PyTorch, and the Adam optimizer is used as the optimization method;
[0132] In the S530, the specific steps for the model to be trained under the deep learning framework PyTorch are as follows:
[0133] S531. Model initialization: Before each training, initialize the parameters of the south wind model or the north wind model;
[0134] S532. Data loading and partitioning: Load the trajectory data under the specified wind direction conditions. Use the data of 1 month as the training set and the data of 10 days as the validation set. The data is grouped by flight identifier ACID and sorted according to the time TIME field;
[0135] S533. Batch training: Divide the data set into small batches batch, and perform the following steps on each batch:
[0136] S5331. Forward propagation: Input the feature vector X and the binary features processed by 9 to 10 waypoints into the model to obtain the predicted value y pred ;
[0137] S5332. Loss calculation: Use the combined loss function to calculate the loss between the predicted value y pred and the true value y true : Formula 4:
[0138] L = Combined Loss(y true , y pred ) Formula 4;
[0139] S5333. Backward propagation: Perform backward propagation on the loss L to calculate the gradients of each parameter;
[0140] S5334. Parameter update: Use the Adam optimizer to adjust the model parameters to minimize the loss function;
[0141] S5335. Validation set evaluation: At the end of each training epoch, evaluate the model performance on the validation set and calculate the validation set loss to prevent overfitting.
[0142] S540. After training, the model is directly deployed and tested in the airport system, and real-time flight trajectory data is received for predicting the arrival time ALDT;
[0143] S600. Model deployment for ALDT prediction:
[0144] After the model training is completed, only the trajectory point data of the past three minutes needs to be input for each prediction. The model extracts features through the encoder and makes predictions through the decoder. The output value is the number of minutes required for the flight to arrive. Adding the current time can indirectly obtain the predicted value of ALDT, thus supporting real-time decision-making in air traffic control. When using it, data needs to be input in batches, and the batch size is similar to the batch size used during training to reduce prediction errors.
[0145] The trained model made real-time predictions for the landing flights at Qingdao Airport in the Qingdao Control Area for one month, and the prediction accuracy was significantly improved compared with the traditional method. Using the mean absolute error MAE as the measurement standard, the MAE of the model's prediction within 15 minutes is about 1 minute, the MAE of the prediction within 15 to 20 minutes is 2.17 minutes, the MAE of the prediction within 20 to 30 minutes is 2.66 minutes, and the MAE of the prediction within 30 minutes is 1.96 minutes; see the appendix Figure 4 and 5 .
[0146] The present invention has been described exemplarily in combination with the accompanying drawings. Obviously, the specific implementation of the present invention is not limited by the above embodiments. Those skilled in the art can make various modifications or variations to the present invention without departing from the technical concept of the present invention, and these modifications or variations will of course fall within the protection scope of the present invention.
Claims
1. A flight arrival time prediction method based on flight trajectory, characterized by: The following steps are involved: S100, aviation flight trajectory dataset preprocessing: In the aviation flight trajectory dataset, take the following fields: TIME: time in the flight trajectory, lon: longitude, lat: latitude, alt: altitude, spdx: velocity component x-axis, spdy: velocity component y-axis, spdz: velocity component z-axis, ACID: flight identifier, ALDT: arrival time in the flight plan, and filter out abnormal data in the above fields; S200, data set feature extraction and model input: S210, dataset feature extraction: The field features in the flight trajectory dataset are extracted and converted into binary representation to ensure that the model can fully understand the spatial and motion information of the trajectory; each trajectory data is distinguished by a unique ACID flight identifier, and different trajectory points are sorted by the time in the field TIME flight trajectory to construct a complete time series input; S220, feature coding: converting the longitude lon, the latitude lat, the altitude alt, the velocity component x-axis spdx, the velocity component y-axis spdy, the velocity component z-axis spdz, and the differential feature data into binary coding; S230, model input: The features of each trajectory point are encoded as a binary vector, and an input matrix is constructed for the trajectory data in the past 3 minutes; S300, dataset label generation: The ALDT predicted label is calculated by the difference between the arrival time ALDT in the flight plan and the time TIME in the flight trajectory of the last trajectory point, which represents the remaining flight time of the target flight. This label is a floating point number in minutes and is used to supervise model training to ensure that the model can accurately predict the arrival time; S400, model construction: The model uses the PyTorch deep learning framework. The specific steps are as follows: S410, encoder module is based on the Transformer encoder structure of BERT, which extracts and embeds features through a multi-layer self-attention mechanism and a feed-forward neural network. The model learns the spatiotemporal dependencies between flight trajectory points through multiple layers of Transformer layers. Each layer contains a multi-head self-attention mechanism and a feed-forward network to capture the relationship between trajectory points. S420, the decoder module in the model is composed of a linear layer and a hidden layer, and is used to map the encoded features to the arrival time prediction value; S430, the features finally output by the output layer decoder pass through a linear layer and are multiplied by a constant all_time. The prediction interval of the model is [0, all_time], and the predicted value of the flight distance arrival time is generated. The predicted value is expressed as the difference between the TIME of the last trajectory point and the arrival time, in minutes; S500, model training and optimization: S510, the model is trained based on the data under the conditions of south wind and north wind, and the south wind model and the north wind model are constructed to ensure that the model can adapt to the changes under specific wind direction conditions and improve the generalization performance of the prediction; each model uses the data of a specific month, with one month's data as the training set and 10 days of data as the validation set; S520, the model uses a custom combined loss function Combined Loss to optimize the prediction accuracy. This loss function combines the percentage error and the mean absolute error, MAE. The weight parameter α controls the balance between the two. S530,The model is trained in the deep learning framework PyTorch,using the Adam optimizer; S540, after the training is completed, the model is directly deployed and tested in the airport system, and the flight trajectory data is received in real time to predict the arrival time ALDT; S600, Model Deployment ALDT Prediction: After the model training is completed, only the trajectory point data of the past three minutes needs to be input for each prediction. The model extracts features through the encoder and makes predictions through the decoder. The output value is the number of minutes required for the flight to arrive. Adding the current time can indirectly obtain the predicted value of ALDT, thereby supporting real-time decision-making of air traffic control.
2. The flight arrival time prediction method based on flight trajectory according to claim 1, characterized in that: In S210, the step of extracting field features is as follows: The input data is the flight trajectory points in the past 3 minutes. The average time interval between each trajectory point is about 20 seconds, and a total of 9 to 10 trajectory points are included. Each trajectory point records multiple fields of flight status, including the fields longitude lon, latitude lat, altitude alt, speed component x-axis spdx, speed component y-axis spdy, speed component z-axis spdz, time TIME, and flight identifier ACID; In S220, the steps of converting data into binary code are: Longitude lon: The longitude data is retained to three decimal places and magnified 1000 times, converted into an integer and then converted into a fixed-length binary code; Latitude lat: retain the latitude data to three decimal places and magnify it 1000 times, convert it into an integer and then convert it into a fixed-length binary code; Height alt: The height data is first divided by 10 to reduce the numerical scale and make the model not have to consider too many detailed changes. Then, the height value is encoded into binary representation with a fixed number of bits; Speed component x-axis spdx, speed component y-axis spdy, speed component z-axis spdz: For each speed component, first round it to the nearest integer and then convert it to binary code; to retain the speed direction information, a sign bit is added before the binary code for negative values, a number 1 is added before the code for negative values, and positive values are directly encoded according to the absolute value; Differential features: To improve the model's ability to capture trajectory change trends, we calculated the differential values of longitude lon, latitude lat, altitude alt, and velocity component x-axis spdx, velocity component y-axis spdy, and velocity component z-axis spdz, and encoded these differential values into binary. The differential value between every two adjacent trajectory points reflects the change in flight status, which helps the model identify the dynamic characteristics of the trajectory. In S230, the step of inputting the matrix is: Each row of the input matrix represents the features of a trajectory point, including the fields longitude lon, latitude lat, altitude alt, velocity component x-axis spdx, velocity component y-axis spdy, velocity component z-axis spdz and their differential features in binary encoding. The TIME field is used for time sorting of trajectory points, but is not used as the final model input feature. Time series dimension: The input matrix contains 9 to 10 trajectory points arranged in time order, and the binary encoding of each trajectory point forms a time series, allowing the model to capture the temporal dependencies between trajectory points.
3. The flight arrival time prediction method based on flight trajectory according to claim 2, characterized in that: In S520, the percentage error is: The percentage error is used to measure the relative error between the predicted value and the true value. Formula 1 is: Among them, y true is the true value, y pred is the predicted value, ∈ is a small constant 10, used to avoid division by zero; Mean Absolute Error, MAE: The mean absolute error is used to measure the absolute difference between the predicted value and the true value. Formula 2 is: Where N is the number of samples; Combined Loss: The combined loss function combines the percentage error and the mean absolute error (MAE) to balance the effects of relative error and absolute error. Formula 3 is: Combined Loss(y true ,y pred )=α×PE(y true ,y pred )+(1-α)×MAE(y true ,y pred ) Formula 3; Among them, α is the weight parameter of the percentage error, the value range is 0≤α≤1, and its default value is 0.9; In S530, the specific steps of training the model in the deep learning framework PyTorch are as follows: S531, model initialization: before each training, initialize the parameters of the south wind model or the north wind model; S532, data loading and partitioning: loading trajectory data under specified wind direction conditions, using one month's data as a training set and 10 days' data as a validation set, grouping the data by flight identifier ACID and sorting by the time field TIME; S533, batch training: Divide the data set into small batches, and perform the following steps on each batch: S5331, forward propagation: input feature vector X, 9 to 10 binary features processed by waypoints into the model, and get the predicted value y pred ; S5332, loss calculation: use the combined loss function to calculate the predicted value y pred and the true value y true Loss: Formula 4: L = Combined Loss(y true , y pred ) Formula 4; S5333, back propagation: back propagate the loss L to calculate the gradient of each parameter; S5334, parameter update: use Adam optimizer to adjust model parameters to minimize the loss function; S5335, Validation set evaluation: At the end of each training cycle epoch, the model performance is evaluated on the validation set and the validation set loss is calculated to prevent overfitting.
Citation Information
Cited By
Contrast learning sample construction and prediction method and system for flight arrival time prediction
CN121836043A