基于聚类与贝叶斯网络的航班离港延误预测模型

2020-02-25 08:17李晓霞吴薇薇石钰婷
关键词:离港贝叶斯聚类

李晓霞,吴薇薇,韩 东,石钰婷

(南京航空航天大学 民航学院, 南京 211106)

随着我国航空出行需求的持续增长,航班数量不断增加,航班延误现象也越来越严重.航班延误的出现不仅影响乘客的出行,还对社会资源造成巨大的浪费[1].由于到达延误很大程度上是由起飞机场的离港延误而产生,本文重点研究离港延误的问题.如果在已知过站航班运行的外部压力(如天气,飞机排队架次等)的情况下,可对航班的离港延误进行预测.预测结果可以给相关部门预警,提前做好应对措施,以提高旅客满意度.

国内外有许多学者对航班延误的预测进行过大量研究,针对该问题用到的方法也很多.如文献[2-4]均为基于贝叶斯网络对航班延误进行预测.文献[5-6]均采用支持向量机回归方法建立航班到港延误预测模型.此外,还有使用决策树,神经网络等机器学习算法进行预测的.如程华[7]等对比了现有的贝叶斯网络和朴素贝叶斯方法,结合航班数据特点构建了基于C4.5决策树的航班延误模型.Sina Khanmohammadip等[8]对航班进行二进制编码后再输入神经网络,并对肯尼迪机场的数据进行了研究.Yao R等[9]设计并实现了一个航班延误智能预测的可视化平台,将多种航班延误智能预测算法封装在Web服务中.罗凤娥等[10]运用层次分析法描述以不同指标为评判标准下的航班延误状态,构建航班延误的预警指标体系.Bin Yu等[11]提出一种实用的航班延误预测模型,采用深度信念网络方法挖掘航班延误的内在模式,建立支持向量回归嵌入模型.但是以上研究均没有考虑机场的运行环境对延误的影响.Belcastro L[12]等研究了天气条件导致的航班到港延迟,并进行了预测,但是没有对离港延误进行预测.吴仁彪等[13]提出了一种基于双通道卷积神经网络的航班延误预测模型,模型加入了天气变量.

尽管在航班延误研究方面已有大量的研究成果,但是仍然存在以下不足:1)已有研究较少考虑机场实际运行环境; 2)传统贝叶斯分类器采用等距划分的方法对变量进行划分,不能较好反映出航班运行的差异;3)对离港延误预测的探究并不深入、彻底,研究比较少.

基于此,本文将研究重点放在离港延误,考虑机场的实际运行环境,包括天气和计划时刻排队架次.利用K-means聚类方法对变量数据进行划分,并建立基于贝叶斯的离港延误预测模型,预测航班离港延误时间,并得到各个延误的等级和概率,最后用测试数据对预测模型的准确性进行了对比分析.本文所用平台为R平台,版本为R-3.2.5,操作系统为Windows 10 professionalx64,处理器为Intel(R) Core(TM) i5-7300HQ CPU@2.50GHz,内存8GB.

1 数据说明

研究采用的数据是2017年5月份某航空公司在其基地机场的出港数据,选取85%数据作为测试集,15%的数据作为训练集.为了能够更加有效的找到影响航班离港延误的变量,需要对原始数据进行降维处理,删除一些无关的变量.由于影响航班离港延误的影响因素已经有了大量研究,结合现有的航班数据,直接选取相关变量进行处理.所用到的变量及其定义如下:

1)“计划时刻天气状态” (WEATHER):指航班运行时刻的机场天气状态,根据天气报文和航空公司运控中心的天气分类标准,将机场天气分为四类:明显天气状态(雷暴,大雾,暴雪等),一般天气状态(雨天,轻度雾天等),轻微天气状态(小雨,路面结冰等),无天气状态(晴天等).

2) “计划时刻排队架次” (PD_PLAN): 指航班申请推出时跑道上计划的排队架次数.如果跑道上排队架次较多,空管将会拒绝航班的推出请求.

3) “上站延误时间” (SZ_DELAY):指前序航班实际到港时间与计划到港时间的差值,不取负值,如果前序航班提前到港,“上站延误时间”记为0.

4) “计划过站时间” (GZ_PLAN): 指航空公司给每一个航班预留的过站时间.

5)“离港延误时间” (DE_DELAY):实际离港时间与计划离港时间之间的差值,不取负值,如果航班早于计划离港时间离港,“离港延误时间”记为0,即不延误.

上述5个变量中前4个是自变量,其中,“计划时刻天气状态” (WEATHER)和“计划时刻排队架次” (PD_PLAN)反映了机场的运行环境,因变量为航班的离港延误时间(DE_DELAY).根据民航航班正常统计办法规定,在计算航班延误时间时需要考虑是否超过15 min[14].所以在处理数据时,离港延误时间在15 min以内的航班记为不延误.预测目标是离港延误时间,为了提高预测的精度,需要把离港延误时间划分成5个不同的区间,如表1所示.

表1 离港航班延误等级分类

研究仅选用了过站航班,不包括备降航班和取消航班.此外剔除存在空值的数据,得到清洗过的数据,构成新的数据集,该数据集包含5个变量,4 495条记录,其中“计划时刻天气状态”和“离港延误时间”这两个变量已经按照一定的标准进行划分,所以实验过程中对其余3个变量分别进行K-means聚类.

2 K-means聚类分析

聚类分析是一种数据简化技术,旨在揭露一个数据集相似程度较高的子集.它可以把大量的观测值归约为若干个类,即若干个观测值组成的群组,群组内观测值的相似度比群间相似度高.常用的聚类方法有层次聚类和划分聚类.由于划分聚类能处理比层次聚类更大的数据集,本文利用划分聚类中的K均值聚类.借助R语言Nbcluster包中的Nbcluster函数对数据集进行聚类.流程如下:

Step 1 对数据进行标准化处理,避免量纲不同造成的误差;

Step 2确定最佳聚类个数;

Step 3 根据Step 2得到的最佳聚类个数,对数据集进行K-means聚类,系统尝试多种初始配置并输出最佳结果;

Step 4输出原始数据中每一类的变量的均值.

采用K均值聚类方法按照以上步骤对航班实际运行数据进行聚类分析,结果如表2所示.

表2 聚类结果

表格中的数值表示的是每一类的中心值,聚类的结果作为数据离散的依据,以每一类的中心作为划分区间的边界值,将每一个变量都分成6类.以“计划时刻排队架次” (PD_PLAN)为例,可以将该变量的数据划分到6个区间,分别为(-∞,1],(1,9], (9,17], (17,36],(36,71],(71,+∞),分别给每一个区间加上标签,依次标记为pd1,pd2,……,pd6 .依此类推将剩下的几个变量也划分不同区间,并进行标记.

3 基于贝叶斯网络的离港航班延误预测建模

贝叶斯网络使用有向非环图来表征属性之间的依赖关系,并使用条件概率表来描述属性的连接概率[15].一个贝叶斯网B由结构S和参数X两部分构成,即B=.网络结构S是一个有向无环图,图中的每个结点对应于一个属性,用边将两个直接联系的属性连接起来.参数X定量描述这种连接关系,假设属性xi在网络结构S中的父节点集合为πi,则X包含了每个属性的条件概率表为Xxi|πi=PB(xi|πi).

已知网络拓扑结构,确定网络参数的过程被称为参数学习.由于研究采用的数据进行了预处理,没有空缺值,因此不会出现数据缺失、遗漏的现象,而极大似然估计(Maximum Likelihood Estimation,MLE)法多应用于完备数据集,因此采用MLE法对样本进行参数学习.借助R语言中的“Bnlearn”包,完成对贝叶斯网络建模和参数估计.图1为训练得到的贝叶斯网络拓扑图.

图1 贝叶斯网络结构图

4 实例分析

4.1 实验结果

在R平台上,实现贝叶斯网络的搭建和参数学习,然后使用训练完成的贝叶斯模型对真实数据进行推断.可以实现查询某一类情景下航班离港延误的时间区间的对应概率,如:航班信息为["pd1","gz3","sz1","无天气"],即该航班离港时的排队架次数属于第1区间,该航班的计划过站时间处于第3区间,上站延误时间处于第1区间,机场的天气为“无天气条件”.运用训练好的模型对航班发生延误的概率和等级进行预测,得到该情景下航班的延误区间和各个区间的概率(见表3).

表3 单条离港航班数据预测结果

表3中航班的延误等级和概率的预测结果表明,处于第一个延误区间“LG1”的概率是0.831,处于“LG2”的概率约0.164 ,延误时间处于“LG1”的概率最大,所以该航班的预测延误等级为“LG1”.根据前文对航班延误时间的分级,“LG1”指延误时间小于0,因此该条航班大概率不会发生延误.而该航班的的实际情况为未发生延误,所以该条数据预测准确.应用该方法,可以实现所有航班的延误时间、等级和概率的计算和预测.

4.2 准确性分析

混淆矩阵(confusion matrix)是人工智能中的一种可视化工具,特别用于监督学习,可以形象化的展示评价分类模型的好坏.通过构建混淆矩阵来计算准确率.具体计算方法如下,前文将延误等级分为5类,混淆矩阵如表4所示.

表4 混淆矩阵

nij:表示实际延误等级为i,模型预测出的延误等级为j的航班条数.

TP(true positive):预测准确的航班条数,实际延误等级为i,被预测成i的航班数:

TPi=nii

(1)

FN(false negative):实际航班等级不是i被预测为i的航班条数:

(2)

所以,以上指标得出总正确率:

(3)

用测试集数据来对模型的准确性进行评估,根据测试集航班数据延误的真实值与预测值的比较来评估模型的准确性,通过构建混淆矩阵来计算准确率.

混淆矩阵结果如图2.

如图2所示,由式(3)计算得到准确率为81.7%,从混淆矩阵的结果可以看出,预测结果没有出现大的偏离,多集中在真实区间附近,模型的预测分类效果较好.

4.3 实验对比

选择同样的原始数据,预测目标的延误等级保持一致,不同的是原始的数据的离散规则不做特殊处理,直接采用等距离散,该步骤直接在R平台上完成.完成数据离散之后,进行结构学习和参数学习,选择与上文比例相同的训练数据和测试数据,最后用混淆矩阵来计算等距离散的正确率.图3是该方法下得到的混淆矩阵.

图3 运行结果(2)

如图3所示,等距离散的准确性为74.0%,对比两种方法可以看出,当离港延误时间处于前两个区间的时候,直接使用传统的贝叶斯网络预测偏差较大.对比说明了运用聚类的结果来离散数据,在此基础上再建立贝叶斯网络能够提高贝叶斯网络的预测准确性.

5 结 语

本文提出了一种将聚类分析和贝叶斯网络结

合的航班延误预测模型,运用K-means聚类把延误变量划分成若干区间,基于此建立了贝叶斯网络预测模型.通过测试数据集得到模型的准确性在81.7%左右,模型的稳定性较高.相比于传统的等距离散的方式,运用K-means聚类的方法进行离散,得到的预测模型准确性更高,说明该模型能更好的对离港航班延误做出预测.

猜你喜欢
离港贝叶斯聚类
一种傅里叶域海量数据高速谱聚类方法
基于贝叶斯定理的证据推理研究
基于贝叶斯解释回应被告人讲述的故事
面向WSN的聚类头选举与维护协议的研究综述
租赁房地产的多主体贝叶斯博弈研究
租赁房地产的多主体贝叶斯博弈研究
改进K均值聚类算法
旺角暴乱嫌犯被禁止离港
基于Spark平台的K-means聚类算法改进及并行化实现
基于互信息的贝叶斯网络结构学习