赵征,冯事成,宋梅雯,胡莉,陆莎
(1.南京航空航天大学 民航学院,南京 211106)
(2.上海国际机场股份有限公司运行指挥中心,上海 201202)
大型民用机场场面运行复杂,实际运行中,经常出现进港航空器的机位保障资源不能及时到位;离港航空器按照预计时间推出,但跑道头排队错位导致无法满足分配起飞时刻的情况。上述现象主要是由于机场协同决策(A-CDM)系统中滑行时间设置较为单一和静态,缺乏科学预测和动态修订而导致的。通过对航空器进港和离港滑行时间的精确和动态预测,可以更加准确地计算出预计上轮挡时间、预计推出时间等,从而提升机场的运行效率,提高航班准点率。
在滑行时间影响因素的分析方面,A-CDM 系统实施文件中将影响滑行时间最常见的因素归为11 种,包括机场布局和机场设施、使用的跑道、跑道交叉的次数、停机位、气象条件、航空器类型和飞行员、航空器重量、推出指令传达时间、除冰位、交通密度和机场当地的操作程序。R. A.Shumsky基于排队论,考虑航空公司、离港跑道和离港需求等影响因素,对离港滑行时间进行预测;H.Idris 等分析了影响滑行时间的主要因素,如起飞队列长度、跑道配置、天气、飞机类型和停机位等,并使用排队论模型对离港滑行时间进行预测,结果显示起飞队列长度是最重要的影响因素,但是模型在±5 min 范围内的预测精度不到70%。
针对前人研究中关于进港航空器数量对离港滑行时间影 响有限的观点,R. R. Clewlow 等经过分析证明了进港航空器数量对离港滑行时间有着显著影响,且进/离港航空器流交互越多,这种影响就越显著;刘继新等分析了航空器滑行时间的影响因素,结果表明,场面流量对滑行时间的影响最为显著。
在滑行时间预测模型和方法的研究方面,M.S.Kistler 等以达拉斯—沃思堡国际机场为对象,使用线性回归和对数线性回归模型对航空器滑行时间进行预测,结果表明,线性回归模型预测效果较好,在±1 min 误差范围内,预测精度达到71%,决定因子值达到0.95;P.Balakrishna 等采用强化学习算法对美国的三个机场进行了离港滑行时间预测,算法在底特律国际机场和坦帕国际机场表现出较好的预测效果;S.Ravizza 等提出滑行距离应分为推出段、转弯段和直线滑行段,并研究了飞机滑行通过这三段时的滑行角度和速度,然后基于多元线性回归、最小中位数平方线性回归、支持向量机和M5 模型树等对离港滑行时间进行了预测;H.Lee 等以夏洛特机场为例,基于神经网络、线性回归模型、支持向量机、近邻和随机森林等算法对滑行时间进行预测,并比较了这几种算法的预测效能,结果显示,支持向量机预测效果 优 于 其 他 模 型;T. Diana比 较 了 集 成 机 器 学习、普通最小二乘法和惩罚算法在预测滑行时间方面的性能,以探究机器学习是否比传统的线性回归具有更好的预测效能,结果表明,在对预测结果进行偏差和方差的评估比较方面,两者各有优劣,故在模型选择时应当以偏差和方差的均衡作为选择依据;Wang X W 等比较了线性回归、梯度提升决策树和随机森林等算法对滑行时间的预测效果,并研究了各个特征对模型的影响程度,得出使用一小部分特征(包括所有机场的一般性特征起飞/到达、滑行距离、总转弯数、平均速度和航空器数量),以及针对特定目标机场的少数特征,就可以实现较高的预测准确性;李楠等基于多元回归模型,分别采用传统统计学和机器学习预测航空器离港滑行时间,结果显示,机器学习的预测准确度较高,±5 min 误差范围内预测精度达到87%;冯霞等将离港滑行时间预测划分为两个阶段,先利用已知特征预测离港滑行过程中使用相同跑道起降的航班数量,再将其作为变量输入滑行时间预测模型,结果显示,该方法的预测效果优于直接预测。
现有研究成果大都只针对离港滑行时间进行分析预测,且未分析样本数据量对预测模型的影响。考虑到进/离港滑行在影响因素和滑行时间上均存在差异,进港滑行时间的准确预测对计算预计上轮挡时间和确定地面保障资源的到位时间至关重要,而样本数据量与预测效果的关联分析可为机场的系统开发和运行提供参考。因此,本文采用XGBoost 算法针对进港滑行时间和离港滑行时间分别进行预测,并剖析机场滑行时间预测所需样本数据量与滑行时间预测精度的关联。
虽然滑行时间预测的算法具有一定程度的普适性,但因机场机位和机坪布局、跑滑构型、滑行规则、气象环境等的不同,导致不同机场的航空器滑行时间影响因素有其定制性。因此,本文首先介绍滑行预测方法的实证机场信息,然后针对实证机场进行影响因素的分析提取。
广州白云国际机场(以下简称“白云机场”)是中国三大门户复合枢纽机场之一,也是中国最繁忙的五大机场之一,年旅客吞吐量超5 000 万人次。白云机场场面布局图如图1 所示,机场建有三条跑道,跑道运行方向为南北运行,01/19 号跑道进、离场混合运行,02L/20R 号跑道主要用于离场,02R/20L 号跑道主要用于进场。机场共有2 个航站楼,分别为T1 和T2,停机位275 个,主要分布在东机坪、西机坪、北机坪以及其他区域。
图1 广州白云国际机场场面布局Fig.1 Layout of Guangzhou Baiyun International Airport
1.1.1 航空器滑行规则
进港航空器滑行方面,由01 号和19 号跑道进港的航空器主要滑入北机坪和东机坪,由02R 号和20L 号跑道进港的航空器主要滑入北机坪和西机坪。离港航空器滑行方面,东机坪、西机坪和北机坪的航空器经由01 号、02L 号和20R 号跑道离港,而19 号跑道只有东机坪和北机坪的航空器经此跑道离港。
1.1.2 机场天气概况
白云机场位于广州市北部花都区,处于雷雨多发地带,据统计白云机场近50 年来,年平均出现雷暴日数为75.4 天,最多为109 天,最少为49 天。此外,因受台风或台风外围因素影响,经常出现短时强阵雨。雷暴和强阵雨是影响白云机场航空器滑行两个最主要的天气因素。
航空器滑行时间受多种因素影响,不同机场存在共同的影响因素,也有其特定的影响因素。基于对机场运行环境的分析,白云机场场面存在较多交叉路口,容易造成滑行冲突,因此存在较多冲突热点区域(Hot Spot,简称HS);且由于机位分配的原因,使得航空器存在穿越跑道滑行和交叉滑行的可能。针对白云机场场面运行环境选取三个特定的影响因素,即经过HS 的数量、是否交叉滑行、是否穿越跑道;两个一般性影响因素,即所属航空公司、停机位,通过统计单个影响因素下的平均滑行时间,直观展示各个因素对滑行时间的影响情况,为最终影响因素集的确定提供分析方法。
1.2.1 经过HS 的数量
经过HS 区域时,航空器可能需要减速或者停车,待其他航空器通过后才能继续滑行。随着经过HS 的数量增多,航空器需要减速或者停车的几率会增加,滑行时间的受影响程度也会增大。由HS 数量统计的平均滑行时间如图2 所示,可以看出:当经过HS 的数量从0 增加到2 时,进港平均滑行时间依次增加约5%和58%,离港平均滑行时间依次增加约2%和13%。
图2 由经过的HS 数量统计的平均滑行时间Fig.2 Average taxi time measured by HS number
1.2.2 交叉滑行
交叉滑行是反映航空器滑行距离的重要因素,若从东机坪离港的航空器由01/19 号跑道起飞,或从西机坪离港的航空器由02L/20R 号跑道起飞,则视为存在交叉滑行;同理,若从01/19 号跑道进港的航空器滑入东机坪,或从02R/20L 号跑道进港的航空器滑入西机坪,则视为存在交叉滑行。由交叉滑行统计的平均滑行时间如图3 所示,可以看出:当存在交叉滑行时,进港平均滑行时间增加约70%,离港平均滑行时间增加约10%。
图3 由交叉滑行统计的平均滑行时间Fig.3 Average taxi time calculated by cross taxi
1.2.3 穿越跑道
对于白云机场由02R/20L 号跑道进港的航空器存在穿越02L/20R 号跑道的情况,若此时02L/20R 号跑道上有航空器离港起飞,则由02R/20L 号跑道进港的航空器必须在穿越点外等待,进港滑行时间会受到影响。由穿越跑道统计的平均进港滑行时间如图4 所示,可以看出:当航空器存在穿越跑道的情况时,进港平均滑行时间增加约54%。
图4 由穿越跑道统计的平均滑行时间Fig.4 Average taxi time calculated by crossing runway
1.2.4 所属航空公司
不同航空公司对航空器推出模式和航空器滑行速度有不同的规定,会对航空器滑行时间造成影响。由航空公司统计的平均进港滑行时间和平均离港滑行时间分别如图5~图6 所示,可以看出:不同航空公司航空器平均进/离港滑行时间均存在较大差异。
图5 由航空公司统计的平均进港滑行时间Fig.5 Average taxi-in time calculated by airline
图6 由航空公司统计的平均离港滑行时间Fig.6 Average taxi-out time calculated by airline
1.2.5 停机位
从同一跑道起飞/落地的航空器,由于停放区域不同,会对航空器滑行造成两方面的影响,一是滑行距离不同,二是滑行过程中受其他航空器干扰的程度不同,每一方面都会对滑行时间造成影响。由停机位统计的平均进港滑行时间和平均离港滑行时间分别如图7~图8 所示,可以看出:不同停机位上的航空器平均进/离港滑行时间均存在较大差异。
图7 由停机位统计的平均进港滑行时间Fig.7 Average taxi-in time calculated by stand
图8 由停机位统计的平均离港滑行时间Fig.8 Average taxi-out time calculated by stand
基于现有研究选取影响滑行时间的其他因素,如航空器类型、起飞/到达跑道、时段、起飞队列长度、场面同时滑行的航空器数量和天气。针对场面滑行的航空器流量统计方法,本文采用Yin Jianan 等基于宏观网络拓扑图对流量的计算方法,将其分为离港瞬时流量、离港累计流量、进港瞬时流量和进港累计流量。在对天气的处理上,结合机场运行的天气统计数据和管制一线经验,将对航空器滑行会造成较严重影响的雷暴和强阵雨天气视为恶劣天气,其他对航空器滑行几乎没有影响的天气视为正常天气,而后根据机场记录的历史天气情况给每一个航班标定对应的天气类型。结合对特定影响因素的分析提取,最终确定的进/离港滑行时间影响因素如表1 所示。
表1 进/离港滑行时间影响因素Table 1 Influencing factors of taxi-in and taxi-out time
XGBoost 的英文全称为Extreme Gradient Boosting,是Chen Tianqi 等提出的一种梯度提升模型,也是一种基于决策树的集成机器学习算法。相较于前几代基于决策树的算法,XGBoost算法可在最短的时间内,使用较少的计算资源,得到较为出色的结果。
为了更加直观地比较XGBoost 算法在航空器滑行时间预测方面的性能,本文选择随机森林和支持向量回归两种常用的滑行时间预测算法用以对比分析。
在对模型预测性能的评估上,选择决定系数()、均 方 根 误 差()和 平 均 绝 对 误 差()三个指标。通常情况下,值越大,自变量可以解释的滑行时间变化的比例越大,然而,值过大也可能意味着一些过拟合的问题;衡量观测值与真实值之间的偏差;反映预测值误差的实际情况,它们是机器学习中评价模型的两把重要标尺。这两个指标的计算公式如下:
式中:为所有进港航班或者所有离港航班;p为航班滑行时间的预测值;t为航班滑行时间的真实值。
2.2.1 模型输入
本文先进行训练集和测试集的划分,然后进行数据预处理,包括异常值和空缺值的处理,以避免模型提前学习到测试集数据信息。在测试不同划分比例的预测效果后,最终选定以80%的数据作为训练集,20%的数据作为测试集。以进港为例,经过预处理后的进港航班数据如表2 所示。
基于前文对滑行时间影响因素分析的结果,从预处理后的数据中提取、计算用于输入模型的各个特征,而后通过编码将计算机无法识别的字符信息,如航空公司代码、机型和跑道号等转化为数值型信息,作为模型的最终输入数据。以进港为例,模型最终输入的进港数据如表3 所示。
表2 预处理后的进港航班数据Table 2 Preprocessed incoming flight data
表3 输入模型的进港数据Table 3 Incoming flight data input to model
2.2.2 模型输出
模型输出即是预测的滑行时间。本文参照中国民用航空局A-CDM 系统的相关定义,进港航空器滑行时间(指航空器从落地()时刻到滑入停机位上轮挡()时刻之间的时间。
离港航空器滑行时间()指航空器从撤轮挡时刻()到起飞离地时刻()之间的时间。
机器学习模型的预测性能主要取决于两方面因素,一是数据本身的质量,二是模型参数的调整。为了进一步提高模型预测效果,需对基于XG⁃Boost 的滑行时间预测模型进行调参。
首先,介绍对XGBoost 算法预测性能影响较大的关键参数。n_estimators 为集成算法中弱评估器的数量,此参数值越大,模型的学习能力越强,但模型也越容易过拟合;min_chil_weight 参数控制叶子上所需的最小样本量,它的调整对于样本量较大的数据比较有效;max_depth 控制模型中树的最大深度,这个参数值越大模型越复杂,且模型容易过拟合;Subsample 参数控制随机抽取的用于训练的数据比例;learning_rate 参数控制迭代速率,两者都可以防止模型过拟合;reg_lambda 和reg_alpha参数分别是权重的L1 和L2 正则化项;Gamma 控制节点分裂所需的最小损失函数下降值,它们可以降低模型的复杂度,加快算法收敛速度。然后,本文使用网格搜索对XGBoost 算法的关键参数进行调整,并以交叉验证结果作为参数选择的标准。最后,经过多轮测试调参,确定的部分关键参数最佳值如表4 所示。
表4 模型关键参数最佳值Table 4 The optimal value of key parameters of the model
在对滑行时间影响因素分析、模型及模型预测性能评估标准和模型输入输出介绍的基础上,总结出滑行时间预测的步骤,如图9 所示。
图9 滑行时间预测步骤Fig.9 The steps of taxi time prediction
基于随机森林、支持向量回归和XGBoost 三种模型对进港和离港滑行时间分别进行预测。首先对白云机场进/离港滑行时间进行统计,为预测结果分析中误差范围的确定提供参考;然后比较三种模型的预测性能,分析特征的重要性;最后分析样本数据量对模型预测精度的影响。
本文所用航班数据来源于白云机场塔台运行管理系统(TOMS)2019 年全年数据,数据内容包括航空公司、航班号、机型、进港跑道、离港跑道、进港机位、离港机位、进港时间、出港时间、上轮挡时间和撤轮挡时间。去除数据中的缺失值和时间逻辑错误值后得到进港航班数据约19 万条,离港航班量数据约20 万条。
分别对进港滑行时间和离港滑行时间进行统计,统计结果如表5 所示,可以看出:进港滑行时间集中在5~10 min,离港滑行时间集中在16~23 min,进港滑行时间远小于离港滑行时间。
表5 进港和离港滑行时间统计Table 5 Statistics of taxi-in and taxi-out time
结合白云机场进/离港滑行时间统计结果和现有研究成果,选择进港滑行时间以±3 min 误差范围,离港滑行时间以±5 min 误差范围为评估标准。
支持向量回归、随机森林和XGBoost 模型的拟合度和预测误差的评估结果如表6~表7 所示。
表6 进港滑行时间预测模型评估结果Table 6 Evaluation results of the prediction model for taxi-in time
表7 离港滑行时间预测模型评估结果Table 7 Evaluation results of the prediction model for taxi-out time
从表6~表7 可以看出:无论是训练集还是测试集,三个模型均得到较高的值和较小的误差值,证明模型在进/离港滑行时间的预测上均有良好的性能。其中,虽然进港滑行时间预测结果的误差值小于离港,但考虑到进港滑行时间远小于离港滑行时间,故从误差比例的角度来看并不能认为模型对进港滑行时间的预测效果优于离港滑行时间。支持向量回归和XGBoost 在训练集和测试集上的表现较为稳定,而随机森林则有较大的波动。在训练集上,随机森林值过大,达到了0.96,表明模型存在过拟合的情况。在测试集上,XGBoost 的预测效能优于随机森林和支持向量回归,其值比两者都高,而误差值比两者都低。
进港和离港滑行时间预测结果与实际值误差在±1、±2、±3、±4 和±5 min 范围内的模型预测精度如表8~表9 所示。
表8 进港滑行时间预测精度Table 8 Prediction accuracy of taxi-in time
表9 离港滑行时间预测精度Table 9 Prediction accuracy of taxi-out time
从表8~表9 可以看出:进港滑行时间预测方面,±3 min 误差范围内,三个模型精度均在91%以上。其中,支持向量回归预测精度最低,仅有91.2%,XGBoost 预测精度最高,达到了94.1%。离港滑行时间预测方面,±5 min 误差范围内,三个模型精度均在93%以上。其中,支持向量回归预测精度最低,仅有93.1%,XGBoost 精度最高,达到了96.6%。
三个模型进港和离港滑行时间预测值与实际值之差的对比如图10~图11 所示,可以看出:支持向量回归算法预测结果的误差值范围最大,XG⁃Boost 算法最小。
图10 三种算法进港滑行时间预测值与实际值之差Fig.10 Difference between the predicted and actual taxi-in time of the three algorithms
图11 三种算法离港滑行时间预测值与实际值之差Fig.11 Difference between the predicted and actual taxi-out time of the three algorithms
根据XGBoost 和随机森林得出的特征重要度排名,探究针对白云机场提取的特定影响因素对于滑行时间预测的重要性。随机森林和XGBoost的进港特征重要度排名如图12~图13 所示,可以看出:在两者的结果中,交叉滑行都具有最高的特征重要度;在XGBoost 的结果中,穿越跑道和经过HS 数量的特征重要度也排在前4。
随机森林和XGBoost 的离港特征重要度排名如图14~图15 所示,可以看出:交叉滑行和经过HS 的数量只在XGBoost 的结果中具有约0.05 的特征重要度,而在随机森林的结果中,这两个特征的重要度只有约0.01。此外,所属航空公司在进港和离港中的重要度都不超过0.02。
图12 随机森林进港特征重要度排名Fig.12 Feature importance of taxi-in time of random forest
图13 XGBoost 进港特征重要度排名Fig.13 Feature importance of taxi-in time of XGBoost
图14 随机森林离港特征重要度排名Fig.14 Feature importance of taxi-out time of random forest
图15 XGBoost 离港特征重要度排名Fig.15 Feature importance of taxi-out time of XGBoost
对特征重要度的分析表明,针对白云机场提取的特征对于进港滑行时间预测的重要性高于离港滑行时间预测,其中交叉滑行、穿越跑道和经过HS 的数量这三个特征的重要性高于所属航空公司。
滑行时间预测使用的进港航班数据量约19 万条,离港航班数据量约20 万条,过大的数据量会造成数据采集、处理和计算负担。为了研究XG⁃Boost 模型预测精度随样本数据量的变化情况,在保留所有特征信息的基础上,对进港和离港数据分别进行3 次随机采样,数据量从2 000 条开始,并以2 000 作为梯度,一直增加到40 000 条,之后用3次样本预测的均值作为最终结果。
进港和离港滑行时间预测精度随数据量的变化情况如图16~图17 所示,可以看出:进港和离港滑行时间预测精度随数据量的增加呈逐步提高的趋势,但随着数据量的增加,这种趋势逐渐变缓。当数据量在26 000 条以下时,预测精度的变化趋势波动较大,预测精度的提高速度较快;当数据量超过26 000 条,预测精度的变化趋势变得平缓;当数据量超过32 000 条,进港±3 min 误差范围的预测精度稳定在93.0%~93.5%,离港±5 min 误差范围的预测精度稳定在95.0%~95.5%。
图16 进港滑行时间预测精度随数据量的变化情况Fig.16 The change of the prediction accuracy of the taxi-in time with the data quantity
图17 离港滑行时间预测精度随数据量的变化情况Fig.17 The change of the prediction accuracy of the taxi-out time with the data quantity
对模型预测精度随样本数据量变化的分析表明,当数据量超过32 000 条时,模型就能获得较高的预测精度和较稳定的预测表现。
(1)本文提出了基于XGBoost 的航空器动态滑行时间预测方法,并以白云机场为实例,验证了方法的有效性。
(2)模型预测结果表明,XGBoost 算法在预测误差和预测精度方面都优于随机森林和支持向量回归;且使用XGBoost 算法,进/离港滑行时间的预测精度分别达到了94.1%和96.6%。
(3)对特征重要度的分析表明,提取的特征能够较好地反映白云机场滑行态势,且提取的特征对于进港滑行时间预测的重要性要高于离港滑行时间预测,其中交叉滑行、穿越跑道和经过HS 的数量这三个特征的重要性高于所属航空公司。
(4)对模型预测精度随样本数据量变化的分析表明,当数据量超过32 000 条时,模型就能获得较高的预测精度和较稳定的预测表现,可为白云机场A-CDM 系统中滑行时间动态预测所需样本量提供参考。