臧海培,朱金福,高 强
(南京航空航天大学 民航学院, 江苏 南京 211100)
在航班延误发生后,航班运行控制需要制定航班恢复计划,对航班运行进行人工干预。精确预测实际运输中各机场的保障能力(容量),可以对航班延误实现精准控制,有助于提高延误后整体航班的运行效率,减轻延误在运输网络中的传播和扩散。天气是影响机场容量的主要因素,准确量化评估天气对机场容量的影响对于民航运输管理至关重要[1]。现有容量评估大多是对确定容量进行研究,经典评估方法主要是通过构建数学分析模型,理论计算机场跑道、停机坪等机场各系统单元容量,再整体对机场容量进行综合评估[2]。因为气象数据的限制,现有的数学模型大多基于特定时段的季节性天气条件,研究特定机场[3]或机场系统单元[4]或空域中主要位置[5]的容量分布问题。也有学者通过构建马尔科夫链预测天气,模拟对应天气条件下的航班排序结果评估机场动态容量[6],但研究结果依赖机场飞机数量,且容量评估过程复杂不能进行实时计算,无法建立机场实时容量与天气的直接函数关系。随着全球数字化机场建设进程的推进,采用抽象数学表达式的传统数学模型,已不能满足更加精细化的实际操作要求。为了从微观层面获得准确的机场容量评估结果,应用计算机仿真软件构建仿真模型,模拟机场运行成了一种可行的方法。全球预测机场容量的主流仿真软件有波音公司的TAAM软件[7]、FAA研发的SIMMOD软件[8]和MITRE公司开发的runwaySimulator软件[9]。然而该方法需要详细和复杂的业务流程设置,所需成本高且难以普及。
机场容量是一个动态变化的量,易受到天气条件、交通流构成、交通管理行为以及人为因素等随机因素的影响[10],呈现出随机性。近年来,越来越多的学者开始研究容量的随机性问题,有的基于历史数据构建自适应学习模型的容量评估方法[11-12];有的通过概率统计将机场天气发生概率转换为机场容量分布概率[13],将天气单独考虑,降低多种因素对机场容量影响的复杂程度;或者通过提取24 h平均天气和机场延误特征的方法,参考历史相似气象条件下的机场运行状态[14-15]。但是这些模型主要从战术层面将特定机场或者特定区域内的机场网络作为研究对象,仅将机场日高峰运行时刻的实际运行流量作为容量数据,且研究时间天数不超过3个月。由于天气因素具有很强的实时性、随机性和动态性,当前的研究方法无法精确捕捉各类天气和容量的特征关系,更无法实时精确地评估机场容量。机场容量是指在特定的时间段内通过该机场的航空器最大数量,也称为机场理论容量或饱和容量[16],而预测机场容量时空分布的前提是要获得实际运输中各机场的实时容量,机场实时状态下的理论容量。因受实时天气的影响,机场容量只有当航班流量需求足够大时才可被观察到。所以笔者将时间离散为单位时间片段,从我国民航有记录的天气和航班运行历史大数据中挖掘实时天气和理论容量的特征关系,研究复杂天气影响下的机场实时容量提取和预测方法。为提前预判机场航班起降情况提供理论依据,从本质上缓解航班延误产生的负面影响,提升航空公司航班运行效能。
使用Python语言处理机场天气-容量数据和实现机器学习预测模型的主要任务有:① 通过国内机场天气和航班运行历史大数据提取机场实时容量。首先研究了天气与机场航班运行数据之间的相关关系,提取机场实时天气-容量数据。② 深度挖掘机场天气与容量数据之间的相关关系,构建机场实时容量预测模型。其次重点研究了航空运输网络中机场天气时空分布与容量时空分布之间的映射关系,运用支持向量回归(support vector regression,SVR)、神经网络(neural network,NN)、随机森林(random forest,RF)和深度森林(deep forest,DF)等机器学习算法进行预测模型训练。并在分析单一模型预测结果的基础上,构建融合多种算法的深度集成回归(deep ensemble regression,DER)预测模型,进一步提升预测准确率。③ 最后将华东地区12家千万级机场作为测试对象,验证模型在实际应用中的预测表现。
获取机场实时容量的前提,是要得到机场实时容量与天气之间的映射关系。该映射关系较为复杂,涉及3个方面:① 不利的天气会降低机场容量,但是不同的天气状况对机场实时容量的影响程度却可能相同,例如严重大雾天和台风天的机场实时容量可能都为0;② 不同机场的运行条件存在差异,相同天气条件对不同机场的容量的影响程度可能不同;③ 历史的机场实时容量只有在航班需求足够大时才能够真正被观察到,所以机场实时容量需要从可获得的机场实际运行数据中挖掘提取。但是机场的航班运行会受到航班延误链式传播造成的影响,导致获取的机场实时容量值存在误差。所以需要对天气和航班运行大数据进行聚类挖掘,将天气作为外在影响因素,探寻单位时间内机场航班运行架次与容量之间的关系,分析不同天气对机场实时容量预测的影响,构建提取机场实时容量的方法。
1.1.1 数据说明
研究数据主要来源于中国民航信息网络股份有限公司旗下航旅纵横Kebuflow大数据平台,数据包括中国2017年01月01日至2019年12月31日的全部国内航班计划运行大数据和同时期的民航机场气象数据如表1。将2019年旅客吞吐量在千万级以上的39家机场作为研究对象。这些机场在大部分或特定时间段里的航班时刻需求大于供给,存在机场拥堵和航班延误现象,是国内典型的航班时刻协调机场,具备研究的必要性。
表1 数据指标描述Table 1 Description of data indicators
1.1.2 数据融合
将连续的时间离散化,分别以30、60 min时间间隔为单位时间(以下称为时段)对时间切片,分别计划52 560、26 280个时段,再将航班运行数据和气象数据依据时段切片。表2展示了数据的特征指标提取,将容量和气象数据依据划分时段进行融合。形成的数据表中每一行都有关于特定时段的容量和气象数据特征。
表2 机场容量和天气数据的描述特征Table 2 Description characteristics of airport capacity and weather data
量化机场气象条件的方法主要参考了2011年欧洲EUROCONTROL绩效评估部门颁布的ATMAP(air traffic management airport performance)天气分类算法。该算法旨在量化欧洲机场的天气条件,给不同严重程度的5个航空气象类别分配评分值,分别为:①云底高和能见度;②风;③降水;④露点;⑤危险气象现象。因多数危险气象现象可以由前4类气象条件体现(例如:暴雪、飓风、冰雹、沙尘暴、雷暴等),故依据表3简化ATMAP算法中的天气分类项。又因同一个时间切片的不同机场可以有零次或多次气象数据采集结果,将同一机场同一切片多次气象采集数据求平均,将没有天气记录的切片遗传前一切片的气象数据,以保证气象数据的完整性。
表3 机场气象条件说明Table 3 Description of airport meteorological conditions
机场的实时容量指的是机场在单位时间间隔里能够保障的飞机运行架次数。理论上当机场航班运行流量足够高时,就可以观察到机场的实时容量。但是机场并不是时刻都处在“饱和”的运行状态,非高峰时段的机场计划和实际运行流量通常远低于机场实时容量。所以过去的研究将机场日高峰运行时段的实际运行流量作为机场容量,但是这样仅可研究机场高峰时段对应的有限类别的天气条件。为了深度挖掘复杂天气与机场容量的映射关系,就需要解决非高峰时段机场实时容量获取的问题。
天气是影响机场容量最主要的因素,由于国内外机场的实际运行状况受天气影响的程度不同,因此研究天气对机场容量影响的方法也应有所不同。国外大部分机场运行极易受天气影响的小型客机,且多存在飞行员利用目视进近提高运行效率的情况,所以国外学者将机场容量划分为满足目视和仪表运行条件的容量[3],或者通过特征工程和相关性研究来决定复杂天气对机场容量的影响程度[14-15]。而国内航班大多为中大型客机,且普遍采用CAT-Ⅰ类精密进近,部分机场可以完成Ⅱ类甚至更高类别。所以笔者直接结合中国机场的实际运行状况,对天气和航班运行大数据的聚类挖掘分析,将机场实际的运行状态分为3种:①完全正常运行;②受影响可以部分正常运行;③完全不能运行,并根据飞行员操作、航空器运行和机场运行3个方面的运行规范,对影响机场容量的天气条件分级和阈值设定,间接确定机场实时容量,详见表4。主要参考规范包括:国际民用航空组织附录14(ICAO Annex 14)、《中国民用航空局令》第98号、波音和空客公司主流航空器运行指导手册、中国三大航空公司《运行手册》和欧洲机场ATMAP评分方法。
表4 机场天气条件分级说明Table 4 Classification of airport weather conditions
依据运行规范,“好天气”和“跑道关闭天气”等级的机场实时容量分别对应高峰时段机场运行流量和零容量,而“坏天气”等级中的机场实时容量应依据机场天气和实际航班运行数据提取,提取的前提是要判断机场在当前时段是否处在“饱和”运行状态。理论上当机场实际运行流量小于计划运行流量时,可以认为机场的运行状态接近饱和。但这其中包括了其他机场的延误波及影响,例如在本地机场航班计划流量远低于机场运行容量时,由其他机场原因导致的延误航班同样会影响本地机场的运行流量。为了降低影响误差,通过数据挖掘技术得出具有相同天气条件的历史最大实际运行航班流量趋近于机场真实容量的结论,通过判断历史最大实际运行流量对应时段的机场延误状态筛选数据。间接解决非高峰时段机场实时容量获取问题,得到39家机场的实时天气-容量数据表。
因为天气复杂多变,传统的数学模型无法在短时间内实时处理多项具有非线性关系的气象指标,所以笔者利用机器学习方法学习天气与机场实时容量数据之间的潜在规律,深度挖掘天气与容量的真实关系。但在研究过程中发现,单一机器学习算法对机场实时容量的预测表现具有差异。为了提高机场实时容量预测的准确性,笔者采用将具有异质性的算法融合的方法,依据集成学习理论构建深度集成预测模型,提高模型对数据变化的鲁棒性。
如图1,模型训练前将数据进行标准化处理,采用留出法对各机场按照6∶4的比例,依据天气分级进行分层采样构建训练集与验证集。其中输入数据为各机场单位时段的7维气象条件,详见表3,输出数据为对应时段的实时容量(架次)。采用均方误差EMSE作为损失函数,均方根误差ERMSE、决定系数R2、平均绝对误差EMAE来评估模型的预测性能,并重复40次实验后取平均值作为最终评估结果,评估指标公式如下:
图1 机场实时容量的深度集成预测模型Fig. 1 The DER model of airport real-time capacity
(1)
(2)
(3)
(4)
2.1.1 模型配置
机器学习是一种数据驱动型技术,其对多变量之间非线性关系的处理能力和自身具备的稳定性可以有效降低预测结果的方差,有利于动态的机场实时容量评估。笔者设置非线性回归的经典高斯-支持向量机回归为基准模型。在早期相关领域的研究中发现,随机森林在对于天气和部分航空运输特征的预测性能略好于其他机器学习模型[15],而深度森林作为随机森林的扩展,通过将特征学习融入到了建模过程,减少了人为设计特征造成的不完备性,所以笔者将随机森林和深度森林纳入研究,使用网格搜索最佳参数组合。
深度学习提出了一种让计算机自动学习出模式特征的方法,特别适合于研究气象条件在特定情况下对机场容量造成的关联性影响,例如霜雾、台风、沙尘暴等复杂气象现象可能会对多类气象条件产生影响,和特定气象条件在不同组合下造成的不同影响,例如下雨会伴随雨云,且温度在露点以下会导致结冰现象等。因此传统的神经网络全连接层不能很好的捕获天气数据的综合特征。所以笔者在多层网络中嵌入带Dropout率的隐藏层防止过度连接,以一定的概率删除神经元之间的连接,使模型泛化性更强[17]。为了避免参数初始化不当,实验中采用提前停止技术和正则化技术对模型批量参数利用二进制计数单位由小到大进行多次训练,发现随着批量的增大模型处理数据的速度越快,训练精度和稳定性越高,所以最后因内存限制将批量设定为4 096。后又经实验发现模型设置1层隐藏层效果不佳,4层出现过拟合,2层和3层隐藏层的预测精度较高但2层所需时间少,所以构建2层神经网络,最后在各层神经元数和Dropout率相等的情况下,依据RMSE调整参数组合如图2。
图2 模型不同参数组合下的预测性能比较Fig. 2 Comparison of prediction performance under different combination of parameters of the model
2.1.2 结果及讨论
当单位时间设置为30、60 min时,各模型对39家机场的实时容量的预测性能如表5,下划线标注了模型的超参数设置。结果显示,神经网络、随机森林和深度森林预测结果的精确度均明显优于SVR。其中随机森林的表现优于其他模型,耗费时间最少,单位时间为30 min时,训练时间不到2 min,R2为97.3%,EMAE和ERMSE分别为0.682、1.908架次,说明预测的机场实时容量精度在2次起降架次;单位时间为60 min时,训练时间为72 s,R2为98.1%,EMAE和ERMSE分别为0.892、2.753架次。
表5 研究的39家机场3年运行数据的模型评估结果Table 5 Model evaluation results based on three-year operation data of 39 airports studied in this paper
当单位时间时为30 min时,各模型的预测表现均明显优于60 min为单位时间时的预测表现。且4个模型的决定系数R2均在93%以上,ERMSE均小于3架次,说明笔者提出的考虑天气影响的机场实时容量提取方法可行。虽然当单位时间为60 min时,神经网络的ERMSE比随机森林多了2个架次,但当单位时间缩小至30 min时神经网络的表现仅略低于随机森林,虽然训练时间还是随机森林的9倍以上。深度森林与神经网络的预测水平不相上下,但在文中问题中并没有表现出相较于随机森林模型的预测优势,这可能是因为深度学习相比集成学习需要更大规模的训练数据。
图3展示了单位时间为30 min时的机场实际容量与4个模型的预测容量,可以定性地分析各模型的回归性能。纵轴和横轴分别是预测值和实际值,对角线表示误差为零的状态。因此,实际值与预测值之间的差异越显著,偏离对角线的点越多。从分布图展示的结果来看,SVR较多地高估了容量值;神经网络对中间容量的预测精度较高,但容易高估小容量值,低估大容量值;深度森林和随机森林对大容量值的预测精度较高,但对极小的容量值表现敏感,出现过拟合现象;深度森林则因回归结果为整数,呈现网格点式对称的分布在对角线两边。
图3 机场实际容量和模型预测容量分布(30 min)Fig. 3 Distribution of actual airport capacity and model predicted capacity (30 min)
实验中产生误差的主要原因是由于实验基于天气条件获取的容量值存在低于机场真实的容量值的情况,虽然在1.3节中针对实时容量数据进行了3年历史流量最大值处理,但是仍然无法避免因数据不够精确而产生的负面影响。理论上,通过扩大原始数据统计时间范围,例如考虑5年、甚至10年机场历史天气和运行数据,可以更精确地捕捉相应天气条件下真实的机场容量值。通过对比30 min和60 min单位时间的预测结果可以发现,通过适当提高天气数据采集的时间密度,可以显著减小这一误差。
2.2.1 模型配置
由上述的实验结果可知,不同的机器学习算法对机场天气数据变化的鲁棒性不同,各模型对大容量值和小容量值的预测效果和精度表现不一。依据集成学习理论,让多个异质模型“取长补短”组成深度集成预测模型,可以发挥出各个模型的优势提高鲁棒性。考虑到机场实时容量的动态特征复杂,传统基于回归投票法的集成策略仅可以依据子模型预测结果求平均,不能直接关联天气条件与机场容量的特征关系,所以笔者将上述多层神经网络作为DER模型的子模型嵌入,并通过构建网络加权融合层连接其他3个子模型,将具有相同输入尺寸的输入数据进行如式(5)表述的加权特征融合:
F=W1·XSVR+W2·XRF+W3·XDF+W4·XNN
(5)
式中:X为单一机器学习模型的输出,即各机场实时容量预测值;Wi为输入张量i的权重向量;“·”为Hadamard积。
DER模型中的权重向量W在训练前随机初始化,可在子模型和加权融合层的反向传播中实现权重矩阵的迭代更新,充分利用深度学习对非线性数据的特征学习能力,进一步加深并优化DER预测模型的整体结构。图4展示了DER模型的结构,其通过神经网络ADD层加权融合多种机器学习模型的预测结果,最终通过全连接Dense层与39个神经元链接产生最终的输出数据。DER模型的参数使用K折交叉验证方法,运用RandomizedSearchCV函数,在1E-3和1E-4学习率,1~4层隐藏层,和[2, 4, 8, 16, 32, 64]个神经元数量中,确定最优参数组合为学习率0.001,2层隐藏层包含的神经元个数分别为16和32。
图4 深度集成预测模型结构Fig. 4 Structure of DER model
2.2.2 结果及讨论
如图5,DER模型同时优化了小容量值和大容量值的预测误差,散点集中分布于对角线两侧,其中ERMSE在单位时间为30、60 min的结果为1.761和2.428。DER模型融合了多个模型算法,比单一的机器学习模型表现出了更好地拟合性能,有效提升机场实时容量预测的准确性。
图5 深度集成预测模型预测结果Fig. 5 Predication results of DER model
中国华东地区在每年的冬、春、夏三季会出现雨雪、大雾、台风等影响航班运行的天气现象,对当地机场的实时容量产生复杂影响。所以笔者选择华东地区12家千万级机场(由北到南为:济南遥墙、青岛流亭、合肥新桥、南京禄口、上海虹桥、上海浦东、宁波栎社、杭州萧山、温州龙湾、南昌昌北、福州长乐和厦门高崎)组成的机场网络为测试对象,从2019年4个季节中提取发生不利天气的时区:① 1月23日—26日,初春大雾;② 6月25日—28日,梅雨;③ 8月9日—12日,台风“利奇马”;④ 12月8日—11日,雨雪,共计16个单位日。并以单位时间30 min的各机场天气和航班运行数据为测试算例(不存在于训练数据中),测试模型在复杂天气条件下的预测效果。
从图6展示的预测结果可以发现,不同天气现象对机场实时容量的影响在时空分布上存在较大差异(颜色越深代表机场实时容量越低)。例如:大雾多出现于夜晚和清晨;梅雨会对长江中下游地区的10家机场造成持续性影响;台风过境会对沿海机场造成严重影响;北方机场受冬季雨雪影响更严重。
图7展示了各模型在不同天气现象下,对上海浦东国际机场(PVG)实时容量的预测结果,其中折线图反映容量在时间维度上的波动情况,条形图表示各模型的预测误差。对比结果发现,在台风天气条件下的预测精度最低。这是由于台风变化迅速,不仅影响机场还会影响航路空域的飞行安全,所以航班计划会在事先被过多干预,且台风这类极端天气样本占比过小,会直接影响机场实时容量的预测精度。
结合表6中各模型的预测性能指标,发现神经网络对天气数据的泛化能力强于其他算法,可以更好的描述复杂天气与机场实时容量的映射关系。由于预测天气的复杂程度高,各模型的预测表现均明显低于验证时的预测表现。神经网络的预测精度虽然有所下降但却成了预测精度最高的单一算法模型,深度森林虽然分类能力强,但在回归时由于不能够做出超越训练集数据范围的预测,使得其预测表现低于其他模型。在复杂天气条件下,DER模型的预测表现要明显优于单一算法模型,这归功于集成学习和深度神经网络强大的特征学习能力,有效提升了机场实时容量的预测精度。在机场容量实时预测实验中,DER模型通过融合多种算法可以有效提升机场的的预测精度。此外,模型预测24 h实时容量所需的时间在5 s以内,满足实际操作中的实时预测的需求。
表6 上海浦东机场运行数据的模型评估结果Table 6 Model evaluation results of operation data of PVG
1)首次提出了非饱和运行状态下受天气影响的机场实时容量提取办法。提出在非线性气象条件影响下的机场实时容量多等级提取方法,有效解决机场实时容量在随机天气因素影响下难以确定的问题。并运用支持向量回归、神经网络、随机森林和深度森林4种机器学习算法挖掘天气与机场容量之间的特征关系,首次构建依据动态机场天气预报数据实时预测机场容量时空分布的机器学习模型。
2)首次运用神经网络加权融合层构建融合多种算法的深度集成预测模型DER。通过在子模型中嵌入多层神经网络,再运用神经网络融合层对其他子模型预测结果进行赋权组合,并利用反向传播机制更新网络中的权重矩阵,达到充分学习天气条件与机场容量的特征关系的目的。实验结果表明,该方法可以结合多个机器学习预测模型的优势,对复杂天气条件下的机场实时容量预测有较好提升效果,并且满足实时预测多机场容量时空分布的要求。预测结果可以用于动态度量交通时空供给量,并可从供需平衡的角度通过需求平移(延误)手段调整航班运行计划,为航班运行控制决策提供数据支持,提高航空运输系统运行效率。
3)应用中国民航3年的历史运行大数据,比较了单位时间30、60 min的天气采集精度对各模型预测精度的影响。从实验结果可以看出,模型预测精度随着单位时间的增加而减少,这说明天气对机场容量的影响具有时效性,所以提高天气数据的采集密度可以提高机场实时容量的预测精度。另外,通过将大规模的历史天气数据关联航班运行数据,也可以有效提高机场实时容量的评估的准确性。
4)在实际运行中,天气预报是预测未来机场容量状态的主要判断依据,而天气预报在预测未来天气上存在不确定性,其预测精度会影响最终的判断结果,这对机场容量的动态预测造成困难。研究天气预报与真实天气之间的差异有助于提高模型的鲁棒性,是未来研究的努力方向。另一方面,随着时间的推移,天气数据的采集点可以进行动态扩充。例如出现历史未出现的天气状况,相同天气条件下机场运行流量大于历史最大运行流量的情况,或机场自身进行改扩建等情况。随着新采集数据的加入,及时修改预测模型参数值,可以达到实时建模动态预测的目的。所以未来的研究方向需要考虑数据的动态更新。