# An Air Traffic Controller Action Extraction-Prediction Model Using Machine Learning Approach

Authors: Duc-Thinh Pham; Sameer Alam; Vu Duong
Journal: Complexity
 (2020)

---

## Abstract

In air traffic control, the airspace is divided into several smaller sectors for better management of air traffic and air traffic controller workload. Such sectors are usually managed by a team of two air traffic controllers: planning controller (D-side) and executive controller (R-side). D-side controller is responsible for processing flight-plan information to plan and organize the flow of traffic entering the sector. R-side controller deals with ensuring safety of flights in their sector. A better understanding and predictability of D-side controller actions, for a given traffic scenario, may help in automating some of its tasks and hence reduce workload. In this paper, we propose a learning model to predict D-side controller actions. The learning problem is modeled as a supervised learning problem, where the target variables are D-side controller actions and the explanatory variables are the aircraft 4D trajectory features. The model is trained on six months of ADS-B data over an en-route sector, and its generalization performance was assessed, using crossvalidation, on the same sector. Results indicate that the model for vertical maneuver actions provides highest prediction accuracy (99%). Besides, the model for speed change and course change action provides predictability accuracy of 80% and 87%, respectively. The model to predict the set of all the actions (altitude, speed, and course change) for each flight achieves an accuracy of 70% implying for 70% of flights; D-side controller’s action can be predicted from trajectory information at sector entry position. In terms of operational validation, the proposed approach is envisioned as ATCO assisting tool, not an autonomous tool. Thus, there is always ATCO discretion element, and as more ATCO actions are collected, the models can be further trained for better accuracy. For future work, we will consider expanding the feature set by including parameters such as weather and wind. Moreover, human in the loop simulation will be performed to measure the effectiveness of the proposed approach.


---

## Body

## 1. Introduction

The primary purpose of Air Traffic Control (ATC) worldwide is to prevent collisions, organize and expedite the flow of air traffic, and provide information and other support for pilots [1]. In regions, where the Air Traffic Management (ATM) system is well developed, three types of control facilities play a critical role during the successive phase of a typical flight: (1) the airport traffic control tower (aerodrome control), (2) the terminal airspace control center (approach control), and (3) the en-route control center (area control) [2]. The en-route airspace is organized vertically and horizontally according to local air structure, and traffic flows into a smaller area called “sectors.” A sector is generally considered as a fundamental “unit” of airspace volume from the ATM point of view. The en-route sector is usually managed by a team of two air traffic controllers: planning controller (D-side) and executive controller (R-side) [3].BothD-side and R-side air traffic controllers (ATCOs) are responsible for airspace monitoring, conflict detection, and resolution, along with managing route or altitude modification requests from the aircraft. The difference between the two roles lies in the strategic and tactical levels of intervention. The D-side controller is primarily responsible for processing flight-plan information to plan, coordinate, and organize the flow of air traffic entering into a sector. The D-side controller uses the flight-plan information and employs Medium Term Conflict Detection (MTCD) tool [4] to predict aircraft trajectories in a 20 minute look-ahead time window. D-side controller employs a variety of strategies/actions, i.e., combination of altitude, speed, course change, hold maneuvers, etc. to maintain an orderly flow of the incoming traffic in a sector. Thus, it minimizes crossings events which may lead to loss of separation. This ensures, at a tactical level, a minimum intervention is required from the R-side controller while managing the air traffic in a given sector. The R-side controller uses the Short Term Conflict Alert (STCA) tool [5] to predict any loss of separation in a 4 to 8 minutes look-ahead time window. The R-side controller is mainly concerned with tactical interventions to maintain safe separation between flights.TheD-side controller receives flight plan information of the flight before it enters the sector (transfer of communication). At this point, the aircraft is in contact with both, the previous sector D-side controller as well as the next sector D-side controller. The D-side controller then negotiates with the aircraft regarding entry flight level, entry speed, and entry way-point depending upon the strategic situation in his/her sector at a certain look-ahead time. The primary objective of this planning is to maintain an orderly flow of traffic and to minimize crossings which may lead to a loss of separation (LOS) scenario for an R-Side controller to intervene. Once the aircraft enters the sector boundaries (transfer of control), the D-side hands off the aircraft to the R-side controller who then provides ATC services via radio communication. In some circumstances (e.g., bad weather), the aircraft may need to be handed off differently than the letter of agreement. In those cases, the D-side controller must coordinate with the other sector controller to ask for approval for another route which is not specified in the letter of agreement before the aircraft cross the boundary.As ATC is becoming increasingly complex and dynamic, the role of ATCOs in an ATC system is getting more and more challenging [6]. Within the safety-critical domain of ATC, workload remains a dominant consideration in improving ATC system performance. Since the main responsibility of the D-side controller is to manage and organize traffic flow such that the tactical flight interventions from the R-side controller are minimized, it is desirable to automate the D-side controller tasks such that its task load is reduced. A possible way is to develop a mechanism that can learn and predict D-side controller’s traffic management strategies for a given traffic scenario.The contribution of this paper is modeling the learning problem by extracting theD-side controller’s actions. The novelty is in formulating the problem as predicting a quantitative response for an observation, i.e., classifying that observation, since it involves assigning the observation to a class. Thus, we have approached the classical simulation-modeling problem as a data-driven problem where controller’s strategies are learned from the natural behavior of a human D-side controller, the way he/she handles different traffic scenarios. This task requires visualizing, analysing, and understanding 6-month traffic trajectory data for formulating a reasonable and solvable question. Besides, another contribution of this paper is on learning mechanisms that may offer better predictability for planning controllers under different traffic scenarios. We have adopted tree-based ensemble methods for learning ATCO’s actions in a complex air traffic environment on a real dataset. The method involves segmenting the predictor space into several simple regions, and then in order to make a prediction from a given observation, a mean or mode of the training observations in the region, to which it belongs, is used. Such set of splitting rules were then used to segment the predictor space and then summarized in the form of a tree. Such multiple trees can then be combined to yield an accurate consensus [7]. Furthermore, we have demonstrated that tree-based methods can closely mirror human decision-making than other classification approaches [8]. Even though the used learning models are well-known ones, preparing the analytical dataset for training them are challenging because of the noises and missing in trajectories. Besides, detecting and removing outliers such as holding or incomplete trajectories under those conditions is also another challenge.This paper is organized as follows. Section2 introduces the background for this research question especially focusing on successful applications of machine learning and tree-based ensemble learning in air traffic management. Section 3 describes the overview of the proposed approach for predicting planning controller’s action including data preparation steps. Section 4 discusses in detail our data analysis and data processing steps for extracting ATCO’s action from trajectory data. Section 5 introduces our methodology for developing predictive models using two different ensemble learning techniques: Random Forest and Extreme Gradient Boosting. Section 6 describes our predictive models for predicting controller decision and taxi time for departure flights and introduces our experimental setup for evaluating the predictive models as well as the discussion and analysis of the results. Section 7 is a discussion section on the implementation for ATCO command from our predicted results. Finally, Section 8 presents our conclusions and future work.


## 2. Background

The quest of understanding and learning opponent’s strategies in games such as Chess, Backgammon, and Game of Go and be able to predict the next move of an opponent, is well known in literature [9–12]. Machine learning methods such as deep neural networks, tree-search methods, and Bayesian reinforcement learning have recently been quite successful in learning game strategies and outperforming world champions [13–16]. However, a major assumption in such machine learning algorithms is that the training and future data must be in the same feature space and have the same distribution [17].In air traffic, the feature space (airspace structure including its airways and way points) and the data distribution (aircraft trajectory points) varies significantly. Since every airspace is unique, thus every air traffic scenario has a different data distribution. Furthermore, traffic flow management relies almost exclusively on the judgment of air traffic controllers for decisions [18]. Previous research studies into identifying air traffic controller’s strategies from traffic data have found some interesting insights, but they were generic in nature and lack any predictability of ATCO actions given a traffic scenario. For example, in [19], it was found that, in the presence of conflict between a few aircraft, the velocity variation strategy seems to cost more (in terms of the time of flight) than the course angle deviation strategy. In [4], the authors developed an evolutionary computation framework to identify air traffic maneuvers that may expose a traffic scenario to loss of separation but fall short of generalizing it to a range of traffic scenarios. In [20], authors predicted air traffic controller workload from past sector merge and split actions but could not generalize the learning to new sectors due to overfitting of the training data. In [21], the authors proposed using game theory for conflict resolution in en-route airspace. Apart from en-route airspace, machine learning methods have also been applied in terminal airspace. For example, in [22], a simulator was designed which can simulate control of air traffic and landing clearance and departure by using backpropagation network based on various controlling parameters, but for single-runway only.With the availability of aviation data and the significant advancements in computational power, data-driven and machine-learning-based methods have recently become a very promising approach to many challenging problems in air traffic management, such as taxi-out time prediction [23, 24], aircraft sequencing [25], aircraft performance parameter predicting [26], air traffic flow extraction [27], flight delay prediction [28, 29], and aircraft trajectory prediction [30, 31]. However, to the best of authors’ knowledge, there has not been any study to extract controller actions or decision as well as learn controller strategy from real data.In this study, we consider tree-based ensemble learning as our learning algorithm which has been applied in a variety of field, including transportation [32], energy [33, 34], networking [35–37], and air traffic management [38, 39]. It is popular for not only being able to achieve high accuracy levels [32, 40] but also enabling the interpretation of the importance of features used in the predictions. In human-centric and safety-critical domain such as air traffic control, this is a critical property to provide ATCO understanding of proposed models and solutions [41, 42]. Moreover, tree-based ensembles require minimum data preprocessing and are capable of fitting highly nonlinear data and handling big data.


## 3. Overview

The proposed learning process is demonstrated in Figure1, which contains preprocessing data, extracting ATCO actions, and building Learning Models. The 4D trajectories points for individual flights are constructed directly from ADS-B raw data and the spatial information about the sector is collected and processed from Aeronautical Information Publication (AIP). Then, preprocessing techniques are applied to clean data and remove noises and outliers trajectories from the raw data. Two points from each flight (first and last points in terms of timestamp) were used to identify the new flight trajectory upon entering the sector, which reflects the main course of the trajectory inside the sector. Only simple actions are extracted by comparing the above result with flight information (speed, altitude, and course) at the exiting point. Those can be seen as the changes in Speed, Course, and Altitude, which need to be applied for each flight to reach the exit point at the given 4D position (latitude, longitude, altitude, and time). Up to this point, two sets are generated: action values (continuous) and actions ([−1, 0, 1]) which are related to Ground Speed Rate, Vertical Speed, and Δ Course for each flight. Finally, using the information at entry points as the input and the mentioned two sets as targets, we build two groups of random forest models: regression and classification models. Outputs of those models are the changes or applied actions for each given flight at its entry point.Figure 1
The illustration of our approach for building predictive models.Noting that, in the scope of this work, only three mentioned groups of actions are considered, and actions such as holding or more complex actions will be studied in future work. Besides, in future work, more traffic information will be included to increase the accuracy of prediction.


### 3.1. Selected Sector

For this research purpose, we have identified Sector 2E, an en-route area within Kuala Lumpur Flight Information Region (FIR), managed by Singapore Area Control Center (ACC), for providing air traffic service from flight level FL120 (12,000feet) to flight level FL360 (36,000 feet) inclusive. We have chosen Sector 2E in Singapore FIR as this is the main feeder sector into the Singapore TMA, having interface with three FIR boundaries HO CHI MINH FIR, BANGKOK FIR, and KUALA LUMPUR FIR. This sector has a high degree of flight vectoring and tactical trajectory management making it a natural choice for the Controller Action Prediction problem. Figure 2 depicts the spatial characteristics of the selected sector. It takes about on average 5 minutes for a typical flight to cross sector. The sector contains 8 way-points and is crossed by 8 Air Traffic Service (ATS) Route. There is one crossing in the sector and one convergence point in the south of the sector (way-point VMR).Figure 2
An example of four different flight trajectories reflecting speed, heading change, and hold maneuver in the sample data for sector 2E.


### 3.2. Dataset and Data Preparation

The ADS-B data is collected for the South-East Asian region for six-month period (from September 2016 to February 2017). The dataset contains three main weather conditions in Singapore: southwest monsoon season, intermonsoon period, and northeast monsoon season (Table1) which are different in both the strength and the direction of winds. The dataset is sufficient for this study as it captures all the main weather and traffic cycles in Singapore airspace. Each sample of data contains features, as shown in Table 2, and an example of one-row sample of 4D trajectory data is shown in Table 3. Even though our dataset is not available for public, similar ADS-B data for European airspace (from OpenSky Network or ADS-B Exchange) are available for applying our proposed approach.Table 1
Singapore seasonal information of the dataset.
SeasonsDatasetDescriptionSouthwest monsoon09/2016Southeasterly to southerly windIntermonsoon10-11/2016Lighter and more variable windNortheast monsoon12/2016, 01/2017Northeast monsoon-wet phase02/2017Northeast monsoon-dry phaseTable 2
4D trajectory data features.
FeatureDescriptionPositionLatitude (decimal degrees), longitude (decimal degrees), altitude (ft)Ground speedHorizontal speed relative to the ground (knots)Rate of climbAltitude change (feet per minute)CourseAircraft course relative to north (decimal degrees)Flight IDUnique serial number represents each flightTimeTime (UTC) that data been recordedTable 3
One row sample of 4D trajectory data.
Field nameValueFlight IDCDG4963-1482966600-schedule-0000Time (UTC)12/31/2016 00 : 58 : 14Latitude (dec. deg)34.29153Longitude (dec. deg)108.5708Groundspeed (kts)182Altitude (ft)3900Rate (fps)−514Course (deg)18Each group of records represents trajectories of flights, carrying the status of the flight spatially throughout time. Figure2 illustrates trajectories of 4 different flights passing through the sector. Sample points with the same color belong to the same flight and the time interval between each point is ≈15 seconds.The original ADS-B dataset is a large dataset with noises and missing data points. Moreover, with the given spatial information of the sector 2E, only a subset of trajectories should be considered and investigated. Thus, some preprocessing steps need to be applied:(1)
Because each sector is defined as a three dimension volume, thus we apply a 3D spatial-filtering to filter out all trajectories which do not pass the through the sector. In this step, we filter out using both lateral (sector boundary) and vertical (FL120 to FL360) conditions. For example, we found that there were 12,141 flights that pass through the 2E sector in December 2016 data.(2)
The second 3D spatial-filtering (similar conditions) is applied to filter out trajectory segments outside of the selected sector. It is separated from the first step just for flexibility in manipulating the filtering criteria.(3)
Outlier trajectories are detected and removed from the dataset, in which trajectories that do not pass the sector’s lateral boundary or have significantly long travel distance and time are all considered as outliers. In the context of our research problem, holding trajectories are also treated as outliers. They are rare events that only contribute less than1.7% of whole data but may affect the predictive models significantly.(4)
To deal with missing data points, we first remove all the flight trajectories which have less than four data points in the sector. After this step, the working dataset contains≈75% of flights from original data. The remaining dataset still has missing data which makes the time interval become inconsistent. Furthermore, for later processing, we aim to extract the entry and exit position of flights on the sector’s boundary; then, a dense and consistent time interval in the dataset is required. Therefore, to achieve that the remaining trajectories are up-sampling (interval = 1 second) using interpolation techniques.


## 3.1. Selected Sector

For this research purpose, we have identified Sector 2E, an en-route area within Kuala Lumpur Flight Information Region (FIR), managed by Singapore Area Control Center (ACC), for providing air traffic service from flight level FL120 (12,000feet) to flight level FL360 (36,000 feet) inclusive. We have chosen Sector 2E in Singapore FIR as this is the main feeder sector into the Singapore TMA, having interface with three FIR boundaries HO CHI MINH FIR, BANGKOK FIR, and KUALA LUMPUR FIR. This sector has a high degree of flight vectoring and tactical trajectory management making it a natural choice for the Controller Action Prediction problem. Figure 2 depicts the spatial characteristics of the selected sector. It takes about on average 5 minutes for a typical flight to cross sector. The sector contains 8 way-points and is crossed by 8 Air Traffic Service (ATS) Route. There is one crossing in the sector and one convergence point in the south of the sector (way-point VMR).Figure 2
An example of four different flight trajectories reflecting speed, heading change, and hold maneuver in the sample data for sector 2E.


## 3.2. Dataset and Data Preparation

The ADS-B data is collected for the South-East Asian region for six-month period (from September 2016 to February 2017). The dataset contains three main weather conditions in Singapore: southwest monsoon season, intermonsoon period, and northeast monsoon season (Table1) which are different in both the strength and the direction of winds. The dataset is sufficient for this study as it captures all the main weather and traffic cycles in Singapore airspace. Each sample of data contains features, as shown in Table 2, and an example of one-row sample of 4D trajectory data is shown in Table 3. Even though our dataset is not available for public, similar ADS-B data for European airspace (from OpenSky Network or ADS-B Exchange) are available for applying our proposed approach.Table 1
Singapore seasonal information of the dataset.
SeasonsDatasetDescriptionSouthwest monsoon09/2016Southeasterly to southerly windIntermonsoon10-11/2016Lighter and more variable windNortheast monsoon12/2016, 01/2017Northeast monsoon-wet phase02/2017Northeast monsoon-dry phaseTable 2
4D trajectory data features.
FeatureDescriptionPositionLatitude (decimal degrees), longitude (decimal degrees), altitude (ft)Ground speedHorizontal speed relative to the ground (knots)Rate of climbAltitude change (feet per minute)CourseAircraft course relative to north (decimal degrees)Flight IDUnique serial number represents each flightTimeTime (UTC) that data been recordedTable 3
One row sample of 4D trajectory data.
Field nameValueFlight IDCDG4963-1482966600-schedule-0000Time (UTC)12/31/2016 00 : 58 : 14Latitude (dec. deg)34.29153Longitude (dec. deg)108.5708Groundspeed (kts)182Altitude (ft)3900Rate (fps)−514Course (deg)18Each group of records represents trajectories of flights, carrying the status of the flight spatially throughout time. Figure2 illustrates trajectories of 4 different flights passing through the sector. Sample points with the same color belong to the same flight and the time interval between each point is ≈15 seconds.The original ADS-B dataset is a large dataset with noises and missing data points. Moreover, with the given spatial information of the sector 2E, only a subset of trajectories should be considered and investigated. Thus, some preprocessing steps need to be applied:(1)
Because each sector is defined as a three dimension volume, thus we apply a 3D spatial-filtering to filter out all trajectories which do not pass the through the sector. In this step, we filter out using both lateral (sector boundary) and vertical (FL120 to FL360) conditions. For example, we found that there were 12,141 flights that pass through the 2E sector in December 2016 data.(2)
The second 3D spatial-filtering (similar conditions) is applied to filter out trajectory segments outside of the selected sector. It is separated from the first step just for flexibility in manipulating the filtering criteria.(3)
Outlier trajectories are detected and removed from the dataset, in which trajectories that do not pass the sector’s lateral boundary or have significantly long travel distance and time are all considered as outliers. In the context of our research problem, holding trajectories are also treated as outliers. They are rare events that only contribute less than1.7% of whole data but may affect the predictive models significantly.(4)
To deal with missing data points, we first remove all the flight trajectories which have less than four data points in the sector. After this step, the working dataset contains≈75% of flights from original data. The remaining dataset still has missing data which makes the time interval become inconsistent. Furthermore, for later processing, we aim to extract the entry and exit position of flights on the sector’s boundary; then, a dense and consistent time interval in the dataset is required. Therefore, to achieve that the remaining trajectories are up-sampling (interval = 1 second) using interpolation techniques.


## 4. ATCO Action Extraction

In a practical scenario, pilots communicate with theD-side controller while entering the sector and with the R-side controller once inside the sector. An aircraft trajectory bears signatures of both R-side and D-side controller actions. However, D-side controller actions can be identified in the trajectory data by observing the trajectory prior to entering a sector.To better understand the relationship between controller actions and air traffic trajectory data derived from ADS-B, we first visualized the 4D data with GIS. The observing airspace is visualized discretely by grids with 3 nautical miles in length and width, action in the same grid will be summed up, and every grid will be classified into 5 classes using the Jenks Natural Breaks Classification method [43], which is a data clustering method designed to reduce the variance within classes and maximize the variance between them. The color of the grid from yellow to red means the higher frequency of certain features appears in the position, and the first class was not set to visualize. Figures 3 and 4 show the spatial density of entering points and exit points of the aircraft of sector 2E, while Figures 5–7 show spatial distribution of ACT actions in the sector. These figures indicate that there are patterns in ATCO actions.Figure 3
Distribution of entry points in sector 2E.Figure 4
Distribution of exit points in sector 2E.Figure 5
Distribution of ATCO action-climb.Figure 6
Distribution of ATCO action-maintain.Figure 7
Distribution of ATCO action-descend.


### 4.1. Extracting Flight Change/Action Values

Observing from flight trajectories as in Figure2, there are multiple changes in trajectories of aircraft when flies over the sector. However, the flight usually enters the sector at a specific region and should be directed to follow the designed ATS routes and way-points which means all the changes should be applied for aircraft to reach a specific region to exit the sector. Figure 8 presents some examples for trajectories passing Sector 2E of Singapore FIR. Flights with the same flight’ identification will share their flight plans, reflecting by the pattern in their trajectories. However, in terms of sector entry and exit positions, they show a significant dispersion. The dispersion may come from multiple factors such as weather or controller’s decisions. Besides, another interesting observation is the consistent relation between flights’ entry and exit positions for the demonstrated sector. The assumption is that ATCO has its own pattern or strategy in handling traffic of a given sector. Then, the flights which enter the sector at a specific region will be navigated to similar region for exiting the sector. Thus, instead of using flight plan information for prediction, we mainly focus on using entry and exit positions relation to capture and validate ATCO’s actions. This approach can capture the major changes of the flight in the sector. Three values will be extracted from those pairs of points:Figure 8
Each subplot is an example of multiple trajectories of the same flight’s identification passing sector 2E for landing at Singapore Changi Airport in our dataset. The flows come from the North to the South with various entry points and exit point.


#### 4.1.1. Ground Speed Rate

While cruising inside sector 2E, flight speed usually varies. However, because of the nature of this sector, three common and simple trends can be observed from data: maintaining speed, increasing (speed up), and decreasing (slow down), see in Figure9. It indicates that the rate of ground speed change is quite stable and can be used as an action of flight. From that observation, the rate of change is extracted and considered for the next learning steps. In detail, it is computed based on estimating the required rate for a flight with a given speed at the entry point to travel to the exit point. In the case of unstable ground speed, the estimated rate of change in ground speed can be considered as the average rate of change:(1)Distance=v¯.T=∫0Tvtdt=∫0Tv0+a.tdtv¯.T=v0.T+12a.T2a=2v¯−v0T,where v¯ is the average speed of aircraft through the sector, T is the total travel duration, v0 is the speed at entry point, and a is the acceleration (ground speed rate).Figure 9
Example of trends in ground speed from real data. Three figures share the samey-axes which is the ground speed in knot. (a) Maintaining speed, (b) increasing speed, and (c) decreasing speed.
(a)(b)(c)


#### 4.1.2. Vertical Speed

The actions related to vertical speed: similar to Ground Speed Rate, we also observe some common trends in altitude changes from data. The vertical speed is used as the vertical actions and computed simply based on the ratio of difference in altitude between entry and exit points and the travel duration.


#### 4.1.3.ΔCourse

It is the difference between course at the entry point and “course in sector.” Since course of the flight varies throughout the sector and course at exit point also does not reflect the travel direction, we simplify the definition for “course in sector” as the direction from entry and exit points which is the expected direction for flight to travel through our sector. We use theΔ Course instead of “course in sector” because it reflects the turning actions of flights after entering sector.The detail of action extraction algorithm from entry and exit points is illustrated in Algorithm1.Algorithm 1:Action extraction from entry and exit points.
Input: Entry and Exit PointsOutput:GSpeed Rate, VSpeed, ΔCourseTravel_Distance =Euclidean_distanceEntry,ExitTravel_Time = Exit.Time − Entry.TimeAvg_GSpeed = Travel_Distance/Travel_TimeGSpeed Rate = 2∗Avg_GSpeed−Entry.Speed/Travel_TimeVSpeed = Exit.Alt−Entry.Alt/Travel_Timeθ=atan2Exit.Lat−Entry.Lat/Exit.Lng−Entry.Lng∈−π,πifθ≥0thenCourse_in_Sector =θelseCourse_in_Sector = 2π + θend ifΔCourse = Course_in_Sector − Entry.CoursereturnGSpeed Rate, VSpeed, ΔCourse


### 4.2. Encoding ATCO Actions from Action Values

As the requirement for supervised learning, we need a set of actions as labels for building classification models. Thus, for each flight, the set of actions should be converted from extracted action values. Figure10 displays idea on how the labels are encoded from values. There are three types of actions which are related to ground speed rate, vertical speed, and delta course. Each of them is encoded into 3 actions: −1, 0, and 1 based on the thresholds selected as follows:Speed Action: the±10 knots variance in the cruising speed of an aircraft can be considered as maintaining speed since those changes can happen without the need of permission from ATCO. In our work, we assume that any change of cruising speed more than 10 knots is considered as applied speed control. Thus, if the absolute change of speed between exit and entry points is less than 10 knots, we consider it as maintaining speed. Besides the expected travel time of the sector is 5 mins. From both of that, threshold_sr=±0.017m/s2 is selected.Vertical Action: due to the altimetry system error for aircraft in en-route phase, the recorded altitudes may have some dispersion with its true values. In [44], for safety reason, the authors have specified those errors are less than 2 flight level (200 ft). Inspired from that, in this work, if the absolute change in altitude between two points is less than 100 feet, we consider it as maintaining flight level. Besides the expected travel time of the sector is 5 mins. Thus, threshold_vs=±20feet/minute is selected. The climb and descend actions are mainly distributed corresponding to south and north of the sector which will have a strong influence in building predictive model given entry information of a flight.Course Action: due to the errors in the navigation system, wind, or several other factors, even though the aircraft is maintaining its course, the recorded course may also have some variations. From analysing the data and considering the reasonable values for course error, we have selected ±3 degrees as the error threshold for this action. Then, if the absolute of delta course is less than 3 degrees, we consider it as maintaining course. threshold_dc=±3degree is selected for course action encoding.Figure 10
The illustration of the encoding step for extracting speed and vertical and course actions from continuous action values.
(a)(b)(c)Figure11 illustrates the distribution of all extracted actions. The distributions of speed actions and course actions have bell shapes (in (a) and (c)). From (c) and (d), we conclude that course action has balanced distribution. However, the mean of ground speed rate is positive; therefore, there are more speed up actions than others in speed action. It is confirmed by (b): around 86% of speed action in this sector is speed up. However, since every action is equivalently considered, we do not solve unbalanced problem in the learning model. In (e), the changes in vertical speed can be seen as two separated normal distributions. Then, there are only two major actions: climb and descend corresponding to two distributions. The maintain level is kept, but there are limited samples for this action, as seen in (f).Figure 11
(a), (c), and (e) are distributions of computed trajectories’ changes (actions) from ADS-B data. (b), (d), and (f) are distributions of encoded actions.
(a)(b)(c)(d)(e)(f)


## 4.1. Extracting Flight Change/Action Values

Observing from flight trajectories as in Figure2, there are multiple changes in trajectories of aircraft when flies over the sector. However, the flight usually enters the sector at a specific region and should be directed to follow the designed ATS routes and way-points which means all the changes should be applied for aircraft to reach a specific region to exit the sector. Figure 8 presents some examples for trajectories passing Sector 2E of Singapore FIR. Flights with the same flight’ identification will share their flight plans, reflecting by the pattern in their trajectories. However, in terms of sector entry and exit positions, they show a significant dispersion. The dispersion may come from multiple factors such as weather or controller’s decisions. Besides, another interesting observation is the consistent relation between flights’ entry and exit positions for the demonstrated sector. The assumption is that ATCO has its own pattern or strategy in handling traffic of a given sector. Then, the flights which enter the sector at a specific region will be navigated to similar region for exiting the sector. Thus, instead of using flight plan information for prediction, we mainly focus on using entry and exit positions relation to capture and validate ATCO’s actions. This approach can capture the major changes of the flight in the sector. Three values will be extracted from those pairs of points:Figure 8
Each subplot is an example of multiple trajectories of the same flight’s identification passing sector 2E for landing at Singapore Changi Airport in our dataset. The flows come from the North to the South with various entry points and exit point.


### 4.1.1. Ground Speed Rate

While cruising inside sector 2E, flight speed usually varies. However, because of the nature of this sector, three common and simple trends can be observed from data: maintaining speed, increasing (speed up), and decreasing (slow down), see in Figure9. It indicates that the rate of ground speed change is quite stable and can be used as an action of flight. From that observation, the rate of change is extracted and considered for the next learning steps. In detail, it is computed based on estimating the required rate for a flight with a given speed at the entry point to travel to the exit point. In the case of unstable ground speed, the estimated rate of change in ground speed can be considered as the average rate of change:(1)Distance=v¯.T=∫0Tvtdt=∫0Tv0+a.tdtv¯.T=v0.T+12a.T2a=2v¯−v0T,where v¯ is the average speed of aircraft through the sector, T is the total travel duration, v0 is the speed at entry point, and a is the acceleration (ground speed rate).Figure 9
Example of trends in ground speed from real data. Three figures share the samey-axes which is the ground speed in knot. (a) Maintaining speed, (b) increasing speed, and (c) decreasing speed.
(a)(b)(c)


### 4.1.2. Vertical Speed

The actions related to vertical speed: similar to Ground Speed Rate, we also observe some common trends in altitude changes from data. The vertical speed is used as the vertical actions and computed simply based on the ratio of difference in altitude between entry and exit points and the travel duration.


### 4.1.3.ΔCourse

It is the difference between course at the entry point and “course in sector.” Since course of the flight varies throughout the sector and course at exit point also does not reflect the travel direction, we simplify the definition for “course in sector” as the direction from entry and exit points which is the expected direction for flight to travel through our sector. We use theΔ Course instead of “course in sector” because it reflects the turning actions of flights after entering sector.The detail of action extraction algorithm from entry and exit points is illustrated in Algorithm1.Algorithm 1:Action extraction from entry and exit points.
Input: Entry and Exit PointsOutput:GSpeed Rate, VSpeed, ΔCourseTravel_Distance =Euclidean_distanceEntry,ExitTravel_Time = Exit.Time − Entry.TimeAvg_GSpeed = Travel_Distance/Travel_TimeGSpeed Rate = 2∗Avg_GSpeed−Entry.Speed/Travel_TimeVSpeed = Exit.Alt−Entry.Alt/Travel_Timeθ=atan2Exit.Lat−Entry.Lat/Exit.Lng−Entry.Lng∈−π,πifθ≥0thenCourse_in_Sector =θelseCourse_in_Sector = 2π + θend ifΔCourse = Course_in_Sector − Entry.CoursereturnGSpeed Rate, VSpeed, ΔCourse


## 4.1.1. Ground Speed Rate

While cruising inside sector 2E, flight speed usually varies. However, because of the nature of this sector, three common and simple trends can be observed from data: maintaining speed, increasing (speed up), and decreasing (slow down), see in Figure9. It indicates that the rate of ground speed change is quite stable and can be used as an action of flight. From that observation, the rate of change is extracted and considered for the next learning steps. In detail, it is computed based on estimating the required rate for a flight with a given speed at the entry point to travel to the exit point. In the case of unstable ground speed, the estimated rate of change in ground speed can be considered as the average rate of change:(1)Distance=v¯.T=∫0Tvtdt=∫0Tv0+a.tdtv¯.T=v0.T+12a.T2a=2v¯−v0T,where v¯ is the average speed of aircraft through the sector, T is the total travel duration, v0 is the speed at entry point, and a is the acceleration (ground speed rate).Figure 9
Example of trends in ground speed from real data. Three figures share the samey-axes which is the ground speed in knot. (a) Maintaining speed, (b) increasing speed, and (c) decreasing speed.
(a)(b)(c)


## 4.1.2. Vertical Speed

The actions related to vertical speed: similar to Ground Speed Rate, we also observe some common trends in altitude changes from data. The vertical speed is used as the vertical actions and computed simply based on the ratio of difference in altitude between entry and exit points and the travel duration.


## 4.1.3.ΔCourse

It is the difference between course at the entry point and “course in sector.” Since course of the flight varies throughout the sector and course at exit point also does not reflect the travel direction, we simplify the definition for “course in sector” as the direction from entry and exit points which is the expected direction for flight to travel through our sector. We use theΔ Course instead of “course in sector” because it reflects the turning actions of flights after entering sector.The detail of action extraction algorithm from entry and exit points is illustrated in Algorithm1.Algorithm 1:Action extraction from entry and exit points.
Input: Entry and Exit PointsOutput:GSpeed Rate, VSpeed, ΔCourseTravel_Distance =Euclidean_distanceEntry,ExitTravel_Time = Exit.Time − Entry.TimeAvg_GSpeed = Travel_Distance/Travel_TimeGSpeed Rate = 2∗Avg_GSpeed−Entry.Speed/Travel_TimeVSpeed = Exit.Alt−Entry.Alt/Travel_Timeθ=atan2Exit.Lat−Entry.Lat/Exit.Lng−Entry.Lng∈−π,πifθ≥0thenCourse_in_Sector =θelseCourse_in_Sector = 2π + θend ifΔCourse = Course_in_Sector − Entry.CoursereturnGSpeed Rate, VSpeed, ΔCourse


## 4.2. Encoding ATCO Actions from Action Values

As the requirement for supervised learning, we need a set of actions as labels for building classification models. Thus, for each flight, the set of actions should be converted from extracted action values. Figure10 displays idea on how the labels are encoded from values. There are three types of actions which are related to ground speed rate, vertical speed, and delta course. Each of them is encoded into 3 actions: −1, 0, and 1 based on the thresholds selected as follows:Speed Action: the±10 knots variance in the cruising speed of an aircraft can be considered as maintaining speed since those changes can happen without the need of permission from ATCO. In our work, we assume that any change of cruising speed more than 10 knots is considered as applied speed control. Thus, if the absolute change of speed between exit and entry points is less than 10 knots, we consider it as maintaining speed. Besides the expected travel time of the sector is 5 mins. From both of that, threshold_sr=±0.017m/s2 is selected.Vertical Action: due to the altimetry system error for aircraft in en-route phase, the recorded altitudes may have some dispersion with its true values. In [44], for safety reason, the authors have specified those errors are less than 2 flight level (200 ft). Inspired from that, in this work, if the absolute change in altitude between two points is less than 100 feet, we consider it as maintaining flight level. Besides the expected travel time of the sector is 5 mins. Thus, threshold_vs=±20feet/minute is selected. The climb and descend actions are mainly distributed corresponding to south and north of the sector which will have a strong influence in building predictive model given entry information of a flight.Course Action: due to the errors in the navigation system, wind, or several other factors, even though the aircraft is maintaining its course, the recorded course may also have some variations. From analysing the data and considering the reasonable values for course error, we have selected ±3 degrees as the error threshold for this action. Then, if the absolute of delta course is less than 3 degrees, we consider it as maintaining course. threshold_dc=±3degree is selected for course action encoding.Figure 10
The illustration of the encoding step for extracting speed and vertical and course actions from continuous action values.
(a)(b)(c)Figure11 illustrates the distribution of all extracted actions. The distributions of speed actions and course actions have bell shapes (in (a) and (c)). From (c) and (d), we conclude that course action has balanced distribution. However, the mean of ground speed rate is positive; therefore, there are more speed up actions than others in speed action. It is confirmed by (b): around 86% of speed action in this sector is speed up. However, since every action is equivalently considered, we do not solve unbalanced problem in the learning model. In (e), the changes in vertical speed can be seen as two separated normal distributions. Then, there are only two major actions: climb and descend corresponding to two distributions. The maintain level is kept, but there are limited samples for this action, as seen in (f).Figure 11
(a), (c), and (e) are distributions of computed trajectories’ changes (actions) from ADS-B data. (b), (d), and (f) are distributions of encoded actions.
(a)(b)(c)(d)(e)(f)


## 5. Methodology

In this part, we will describe our approach for predicting the next actions of flight after entering the sector. The training data includes features of flight at the entry point and the extracted actions from real data as the targets. Table4 mentions list of features and all targets. We propose Random Forest Method [45] and Extreme Gradient Boosting (XGBoost) [46] for building predictive models of ATCO actions.Table 4
Flight information (features) at entry point and actions and their values.
FeaturesAction valuesActionsLongitudeGround speed rate(1) speed upLatitudeVertical speed(0) maintain speedAltitudeΔ Course(−1) slow downGround speed(1) cimbVertical speed(0) maintain levelCourse(−1) descentDestination(1) turn rightOrigin(0) maintain courseMonth of year(−1) turn leftDay of weekHour of dayFlight ident


### 5.1. Tree-Based Ensemble Learning Method

The tree-based ensemble learning method is used for building our predictive models for both classification and regression tasks. In general, it constructs multiple decision trees which are trained and combined together to reduce the variance of the model (illustrated in Figure12). It is used in different domains and predictive problems as it provides high accuracy with simple implementation. It is highly robust since it can deal with outliers/noises without skewing the prediction results and avoids overfitting due to the diversity of trees. One of the key advantages of tree-based ensemble learning method which suits our problem is its capability to handle unbalanced datasets and able to work with different types of features and range of feature values. Furthermore, the 4D trajectories are derived from ADS-B data which usually contains noisy data points and the input features have different meanings and scales. Moreover, the interpret ability of the model is also considered for understanding the important factors for predicting actions; thus, tree-based ensemble learning method is found suitable for this purpose. In this study, the two algorithms which we considered are Random Forest (RF) and XGBoost-Extreme Gradient Boosting (XGB).Figure 12
The illustration of tree-based ensemble learning method. The model containsk tree with maximum depth of each tree is M = 5. For each input vector X each tree will predict one target value. The predicted values of all the trees then are combined to the final prediction y.Random Forest [45]. It applies a bagging technique to decision trees. To train the model, it creates a large number of trees by resampling the given data and combines them (using averages or voting technique) at the end of the process.XGBoost-Extreme Gradient Boosting [46, 47]. Among tree-based ensemble algorithms, Gradient Tree Boosting [48] has shown its success in many applications and provided state-of-the-art results on many standard classification benchmarks [49]. It applies a boosting technique to decision trees. It also creates and combines a large number of trees; however, instead of combining them at the end, it starts the process at the beginning. The algorithm will train each subsequent tree using the residuals (the difference between the predicted and true values) of previous ones. In this work, we use a scalable machine learning system for tree boosting, called XGBoost. It has been widely used in a number of machine learning and data mining challenges with real-life data in Kaggle and KDDCup. Besides all advantages of tree boosting algorithms, the most important factor behind success of XGBoost is its scalability in all scenarios.


### 5.2. Building Predictive Models

There are two levels of prediction that should be investigated: whether we can predict the abstract action or the magnitude of each action. Each kind of setting can answer different questions. The first can support the analysis of controller strategy, while the second one can support for understanding and studying details of controller behaviors. However, they are useful and have strong relations; thus, in this work, we introduce both kinds of prediction using Random Forest and XGBoost Regression and Random Forest and XGBoost Classification models (illustrated in Figure13). Because each dimension of actions (Speed, Vertical, and Course) has a different range of values and can be affected by different features, we build separated models for each action. Six regression models and six classification models are developed to predict the value for each kind of action. However, for classification, two 3-actions models using Random Forest (RF) and XGBoost (XGB) are also developed to explore the potential of combining three models into one for action prediction. These models are considered for the completeness of our approach rather than the practical requirements, since in practice, the controller usually performs only one kind of action/decision in handling traffic.(1)
Regression models (RF, XGB):Model RR1/XR1: predict ground speed rateModel RR2/XR2: predict vertical speedModel RR3/XR3: predictΔ CourseFigure 13
Illustration of developed predictive models: regression models of Random Forest (RR) and XGBoost (XR) and classification models of Random Forest (RC) and XGBoost (XC).R2score is used as metric for regression models, while Accuracy is the metric for classification models.We useR2score as performance metric for this group of models.(2)
Classification models (RF, XGB):Model RC1/XC1: predict speed actionModel RC2/XC2: predict vertical actionModel RC3/XC3: predict course actionModel RC4/XC4: predict all 3-Actions.We useAccuracy=Number of correct predictions/Total number of predictions as performance metric for this group of models.


## 5.1. Tree-Based Ensemble Learning Method

The tree-based ensemble learning method is used for building our predictive models for both classification and regression tasks. In general, it constructs multiple decision trees which are trained and combined together to reduce the variance of the model (illustrated in Figure12). It is used in different domains and predictive problems as it provides high accuracy with simple implementation. It is highly robust since it can deal with outliers/noises without skewing the prediction results and avoids overfitting due to the diversity of trees. One of the key advantages of tree-based ensemble learning method which suits our problem is its capability to handle unbalanced datasets and able to work with different types of features and range of feature values. Furthermore, the 4D trajectories are derived from ADS-B data which usually contains noisy data points and the input features have different meanings and scales. Moreover, the interpret ability of the model is also considered for understanding the important factors for predicting actions; thus, tree-based ensemble learning method is found suitable for this purpose. In this study, the two algorithms which we considered are Random Forest (RF) and XGBoost-Extreme Gradient Boosting (XGB).Figure 12
The illustration of tree-based ensemble learning method. The model containsk tree with maximum depth of each tree is M = 5. For each input vector X each tree will predict one target value. The predicted values of all the trees then are combined to the final prediction y.Random Forest [45]. It applies a bagging technique to decision trees. To train the model, it creates a large number of trees by resampling the given data and combines them (using averages or voting technique) at the end of the process.XGBoost-Extreme Gradient Boosting [46, 47]. Among tree-based ensemble algorithms, Gradient Tree Boosting [48] has shown its success in many applications and provided state-of-the-art results on many standard classification benchmarks [49]. It applies a boosting technique to decision trees. It also creates and combines a large number of trees; however, instead of combining them at the end, it starts the process at the beginning. The algorithm will train each subsequent tree using the residuals (the difference between the predicted and true values) of previous ones. In this work, we use a scalable machine learning system for tree boosting, called XGBoost. It has been widely used in a number of machine learning and data mining challenges with real-life data in Kaggle and KDDCup. Besides all advantages of tree boosting algorithms, the most important factor behind success of XGBoost is its scalability in all scenarios.


## 5.2. Building Predictive Models

There are two levels of prediction that should be investigated: whether we can predict the abstract action or the magnitude of each action. Each kind of setting can answer different questions. The first can support the analysis of controller strategy, while the second one can support for understanding and studying details of controller behaviors. However, they are useful and have strong relations; thus, in this work, we introduce both kinds of prediction using Random Forest and XGBoost Regression and Random Forest and XGBoost Classification models (illustrated in Figure13). Because each dimension of actions (Speed, Vertical, and Course) has a different range of values and can be affected by different features, we build separated models for each action. Six regression models and six classification models are developed to predict the value for each kind of action. However, for classification, two 3-actions models using Random Forest (RF) and XGBoost (XGB) are also developed to explore the potential of combining three models into one for action prediction. These models are considered for the completeness of our approach rather than the practical requirements, since in practice, the controller usually performs only one kind of action/decision in handling traffic.(1)
Regression models (RF, XGB):Model RR1/XR1: predict ground speed rateModel RR2/XR2: predict vertical speedModel RR3/XR3: predictΔ CourseFigure 13
Illustration of developed predictive models: regression models of Random Forest (RR) and XGBoost (XR) and classification models of Random Forest (RC) and XGBoost (XC).R2score is used as metric for regression models, while Accuracy is the metric for classification models.We useR2score as performance metric for this group of models.(2)
Classification models (RF, XGB):Model RC1/XC1: predict speed actionModel RC2/XC2: predict vertical actionModel RC3/XC3: predict course actionModel RC4/XC4: predict all 3-Actions.We useAccuracy=Number of correct predictions/Total number of predictions as performance metric for this group of models.


## 6. Experiments and Results

As mentioned, we use RF and XGB methods to build both groups of predictive models. For both groups, we apply the same experiment setup:The models are trained and tested with all 6-month of data.Using flight information at the entry points as the input for the predictive model, the targets are extracted actions (mentioned in Table4).Parameter tuning: the range of hyperparameters for both types of models is manually selected to cover the optimal hyperparameter sets.For regression models: number of estimatorsruns from 50 to 300 with the step is 50 (6 values) while max_depth of forest varies from 6 to 58, step 2 (27 values).For classification models: number of estimators runs from 50 to 300 with the step is 50 (6 values) while max_depth of forest varies from 6 to 58 with the step is 2 (27 values).Thek-fold crossvalidation (k = 10) technique is used for evaluating and the performance is averaged to select best set of parameters. It is popular for handling the overfitting issue in machine learning. The dataset is split into ten folds in which, for each fold, it is used for testing, and the remaining ones are used for training models. The computed errors are averaged to estimate the model performance in general.Experiment results for parameter tuning of RF regression models are shown in Figure14. This heatmap shows the R2±Score for RF regression models with each pair of parameters. The lighter the color is, the higher the score of the model is; thus, the result indicates that the number of estimators (≥150) does not affect the performance of models, instead, Max_Depth plays a more important role. Max_Depth≥10 makes all three models stable with small variance. Another interesting observation is the significant improvement of Model RR3 (ΔCourse) when we increase the Max_Depth of the trees from 6 to 20. It emphasizes the importance of this parameter tuning step for selecting suitable hyperparameters for our models. Thus, all RF Regression Models are trained with [Estimator=150, Max_Depth=10]. Similar phenomena can be observed during the parameter tuning process of XGB Regression models. As a result, a common set of parameters [Estimator=100, Max_Depth=8] is selected for all XGB regression models.Figure 14
Parameter tuning for regression models. Estimators are [50 : 300, step 50] and Max_Depth are [6 : 58, step 2]. (a)GSpeed Rate, (b) VSpeed, and (c) ΔCourse.
(a)(b)(c)Table5 presents the performance of regression models for each kind of action. Note that R2score is best at 1 and worst at 0. All six models can predict action values for each given flight with a high value of R2score. Model performance is reported for each month as well as the overall performance. The overall performance of models is a little higher in intermonsoon period (October and November) and is the highest in February which is the dry phase of northeast monsoon season. As we observe, the performance of models for December is lower than other months. Since December is the transition month in which winds and weather conditions are unstable, the accurate predictions are more challenging. Comparing models from two learning methods, we can see that XGB models outperform RF models generally for vertical speed and ΔCourse. While for ground speed rate, they vary with different datasets.Table 5
Experiment results for predicting actions inR2score.
DatasetGSpeed rateVertical speedΔ CourseRFXGBRFXGBRFXGBSep-160.617±0.0370.666±0.0460.838±0.0150.859±0.0200.804±0.0420.828±0.049Oct-160.666±0.0420.622±0.0370.846±0.0230.836±0.0230.758±0.0420.796±0.029Nov-160.664±0.0480.690±0.0550.882±0.0130.859±0.0170.831±0.0290.855±0.020Dec-160.614±0.0460.637±0.0510.806±0.0210.853±0.0130.733±0.0300.724±0.026Jan-170.649±0.0600.633±0.0300.828±0.0160.873±0.0120.804±0.0210.824±0.023Feb-170.693±0.0480.654±0.0400.839±0.0160.902±0.0130.914±0.0430.877±0.044All data0.667±0.0160.677±0.0180.835±0.0060.870±0.0070.793±0.0070.858±0.011For models which are built on whole six-month dataset (all data), the models for ground speed rate have the lowest performance with the overallR2scores as 0.667 for RF and 0.677 for XGB. The models achieve high performance (RF: 0.793, XGB: 0.858) for Δ Course and (RF: 0.835, XGB: 0.870) for vertical speed. The XGB models have shown better performance in prediction comparing to RF models. Besides, as we can observe from Figure 15, the group of black dots in the bottom of the figure is close to each other, while their corresponding red dots are spatially diverse which is overcome by considering features on origin and destination of the flight.Figure 15
Example for flight direction. Black dots are entry points and red dots are exit points.As mentioned, the tree-based models can provide the feature importance information which reflects the contribution of each feature in those models. The list of top-10 features that have the most contribution for three RF regression models is shown in Table6. The two features which have most contributions (>66%) for predicting Ground Speed Rate (Model RR1) are Entry_Speed and Destination_WSSS. In Model RR2 (Vertical), there is only one dominant feature (>82%) which is Destination_WSSS. For Model RR3 (Course), the entry position and course of the flight have a significant impact on the course through the selected sector (>86%) in which course and longitude are more important than Latitude. Features for date and time information of the flight, such as Hour Of Day, Day of Week, and Month of Year, have a small contribution in the trained models, which also implies that the season does not have a strong impact on our predictive models.Table 6
Feature importance of random forest models for action value prediction.
Model RR1FI_RR1 (%)Model RR2FI_RR2 (%)Model RR3FI_RR3 (%)Speed34.2D_WSSS82.7Course46.6D_WSSS32.1V_Speed5.2Longitude30.1Altitude6.3Altitude4.0Latitude10.4T_Remain5.0T_Remain2.7D_RPLL1.7V_Speed3.2Speed0.8T_Remain1.6Longitude2.9Course0.8Altitude1.4Course2.8Longitude0.6D_WSSS1.1Latitude2.1Latitude0.5V_Speed0.9Hour1.7Hour0.4Speed0.9Month1.5Month0.3Hour0.8The parameter tuning for classification models show similar characteristics as regression models. An example of tuning process for RF models can be observed in Figure16. For each value of the number of estimators, the model performance will vary and become stable with Max_Depth≥24. The number of estimators (≥50) does not affect the performance of classification models. Thus, all RF classification models are trained with [Estimator = 50, Max_Depth = 24] and all XGB Classification Models are trained with [Estimator = 250, Max_Depth = 8].Figure 16
Illustration for parameter tuning process for classification models. Estimators are [50 : 300, step 50] and Max_Depth are [6 : 58, step 2]. (a) Speed action, (b) vertical action, and (c) course action.
(a)(b)(c)Table7 shows the performances of classification models. Eight predictive models are developed and evaluated in this study. Their performances are quite stable for different months. The overall performances are accessed by training these models with whole six-month dataset. As a result, the models for vertical actions provide the highest prediction accuracy (>99.0%). Two models for speed action achieve approximately 80% in accuracy while the XGB model for course action can achieve up to 86.5% accuracy. The best model to predict the set of all the actions (altitude, speed, and course change) for each flight is the XGB model, and it achieves an accuracy 70% implying that, for 70% of flights, D-side controller’s actions can be predicted from trajectory information at sector entry position. The 3-action model has lower performance comparing to the individual action model due to the increase in complexity of the output with 3 dimensions and 27 possible labels. Though predictive models for individual action achieve good performance with high accuracy, the performance of 3-action models is presented for completeness of the results. It is highly unlikely that the controller will issue three actions together for the same flight. In terms of operational validation, the proposed approach is envisioned as ATCO assisting tool, not an autonomous tool. Thus, there is always ATCO discretion element, and as more ATCO actions are collected, the models can be further trained for better accuracy.Table 7
Predictive accuracy of predictive models: speed action, vertical action, course action, and 3-action.
DatasetS_ActionV_ActionC_Action3-actionRFXGBRFXGBRFXGBRFXGB09-201675.7%±1.9%80.3%±3.0%99.3%±0.5%98.9%±0.9%80.4%±3.3%87.1%±2.2%66.0%±2.5%71.0%±2.5%10-201678.4%±1.6%76.8%±2.2%98.7%±0.5%98.4%±0.6%76.4%±2.3%84.4%±2.2%63.9%±2.5%65.2%±2.3%11-201681.8%±2.2%82.7%±3.0%99.2%±0.4%99.7%±0.6%77.9%±2.8%85.2%±1.2%68.7%±1.6%70.6%±1.7%12-201678.6%±1.5%75.5%±2.5%99.1%±0.4%99.7%±0.6%76.1%±2.7%82.0%±1.4%67.3%±1.8%70.4%±2.3%01-201778.7%±2.8%73.6%±1.7%99.3%±0.5%99.0%±0.3%80.3%±2.9%84.2%±1.8%68.3%±2.3%63.8%±1.9%02-201777.9%±1.8%76.8%±1.8%99.0%±0.5%99.2%±0.3%86.5%±2.0%90.0%±1.8%74.1%±1.5%69.7%±1.7%All data79.7%±1.5%78.5%±2.0%99.0%±0.2%99.2%±0.3%81.1%±1.2%86.5%±1.1%67.2%±1.45%69.5%±0.7%Table8 shows feature importance for four RF classification models. Different from RF regression models where a few features have a significant contribution, the feature importance or features’ contributions of all RF classification models are scattered. The feature importance of 3-action RF Model has highlighted the impact of features such as location, speed, course, and vertical speed of entry point, date-time information, and the relation of this flight with Changi Airport (WSSS) as its origin or destination.Table 8
Feature importance of random forest models for action prediction.
RC1FI1 (%)RC2FI2 (%)RC3FI3 (%)RC4FI4 (%)Speed14Latitude17Course19Latitude17V_Speed10V_Speed15Longitude16Course13T_Remain10T_Remain15Latitude14Longitude10Latitude8O_WSSS14Altitude8T_Remain9Course7D_WSSS8T_Remain5V_Speed9Altitude7Course4Speed4Speed7Longitude7D_VTBS3V_Speed4Altitude6Month4Altitude3O_RKSI2D_WSSS4Day4Longitude3Month2O_WSSS3Hour3Hour2Day2Month3This proposed learning mechanism also has an advantage for scalability. The two selected tree-based ensemble techniques are well known for their low computational cost with parallel computing option. Moreover, XGBoost is specially designed for handling big data. In terms of running time, the training time of the selected model varies from 40 to 50 seconds for the input with 25,000 samples. All the experiments are performed on a desktop with Processor Intel Xeron W-2123 CPU 3.6 Hz and RAM 32 GB.


## 7. Implementation of ATCO’s Command

For the complex and stochastic environment of ATC, the tasks and required actions of planning controllers are more than what are covered in the scope of this work. However, as we target the most fundamental actions of ATCO, the predicted results are useful in predicting the ATCO action to form appropriated commands. Some examples of ATCO’s command for pilot regarding speed control, vectoring, and vertical speed are presented in Table9.Table 9
Examples for basic ATCO’s command for speed control, vectoring, and vertical speed.
Speed controlMaintain 350 knots or greaterReduce speed 250 knots or less for sequencingIncrease speed mach .83 or greater for the next 5 minutesVectoringContinue present headingFly heading (three digits)Turn (left/right) heading (three digits)Turn (left/right) (number of degrees) degreesVertical speedPRE078 descend FL 120 at 1500 feet per minute or lessEKR365 climb FL 370 at 1000 feet per minute or greaterThe process to convert our results into similar ATCO’s commands can be observed in the flow diagram in Figure17. The aircraft information at the entry point such as airspeed, ground speed (or wind speed), heading, course (or wind vector), and flight level is necessary input to generate the command. By combining the input with the predicted actions, we can estimate the target values of airspeed, heading, and flight level for the given aircraft. Then, by using a list of predefined command templates, we can generate the expected command.Figure 17
The flow diagram for converting from predicted results into ATCO’s command.


## 8. Conclusions

In this paper, we have looked into learning and predicting theD-side controller’s action for a given traffic scenario in a sector using two tree-based regression and classification method known as Random Forest and XGBoost. This learning problem was modeled as a classification problem where the target variable is D-side controller actions and the explanatory variables are the aircraft 4D trajectory features prior to entering a sector. The air traffic trajectories constructed through ADS-B data are analyzed spatial-temporal with sector data to establish that patterns in D-side controllers exist. Two groups of models were developed, one to predict the actions and the other to predict the associate action value. We used flight information at the sector entry point as the input for the predictive model and the targets are extracted actions. The model for vertical action provided the highest accuracy with 99%, whereas models for speed and course action provide predictability accuracy of 80% and 87%, respectively. This was attributed to highly complex sector entry and exit point configuration that makes learning challenging. The high prediction accuracy of altitude change maneuvers by the ATCO is significant as the airspace sector used in this research is a Transition Sector (Sector 2E in the Singapore ACC). The transition sector is typically where the flights are climbing to their cruise flight level or descending from the cruise flight level to terminal airspace. In such sectors, ATCO actions concerning altitude change are quite important, as there is a significant number of climbing and descending maneuvers happening in the sector. The model that predicts the set of all 3 kinds of actions (multiple-output) for each flight achieved an accuracy of 70%. This means that, for 70% flights, ATCO actions can be predicted on all actions by using flight information at the sector entry position. The lower predictability can be due to an imbalance of the training data for the controller’s actions, leading to poor generalization performance. The noise and low quality of ADS-B data can be another area of improvement as the model is as good as the data used to train it. Besides, as mentioned, this work only focuses on predicting simple actions from individual flight entry information.The results and findings of this research can be used in several ways, in terms of application. For example,The set of predicted maneuvers can be organized into patterns to derive and understand ATCO strategies, for traffic management, in a given sectorThe results can also provide an insight into any biases ATCOs might have in managing traffic in a given sector, which can be addressedFor future work, we will apply clustering models to identify clusters of loss of separation events in spatial-temporal plane. Detected events can be used to evaluate the model performance in term of conflict solving. Then, some clustering methods will be applied over whole trajectories to detect and extract more complex actions from ADS-B data. Finally, more features from sector and traffic will be considered for learning and predicting to improve the practical of those models. Expanding the feature set by including parameters such as weather and wind could be useful; however, in the absence of meteorological information at that flight level makes that challenging. However, we will try to approximate the wind data by extrapolating the surface winds (available from METAR Data) to a higher altitude as our future work. We will also conduct Human in the Loop simulation to measure the effectiveness of the proposed algorithm as well as comparing it with traditional tools used by Air Traffic Controllers for Aircraft Trajectory Prediction to better understand the predictability of ATCO’s actions.There can be several practical implications and difficulties in implementing the results of the research. Even though, the proposed approach is envisioned as ATCO assisting tool, not an autonomous tool. The biggest challenge is the acceptance of such machine learning-based tool by the controllers and the safety regulators. The design of such a tool will be also a challenge in an already overcrowded ATCO’s working environment. There are issues of trust with such automation/advisory systems, where ATCOs do not fully accept the proposed solutions/advisories generated by the system. Thus, there will be a need of a human factor study and safety validation scenarios, to realize the benefits of such research. Eventually, this research may help develop an AI Agent, which can augment aD-side controller to manage and coordinate strategic traffic flow within and beyond sectors, thereby managing their workload.



---

*Source: 1659103-2020-11-18.xml*