论文部分内容阅读
[摘 要]针对航班延误预测过程中,由于气象、交通状态以及空中交通管控等因素影响航班预测的问题,应用机器学习中的相关算法构建一个延误预测模型,预测某一个特定的航班延误达到的时间点,采用机器学习中的梯度提升决策树算法构建预测模型,用K-fold交叉验证方式评估预测的性能,为航班延误提供参考依据。
[关键词]机器学习,梯度提升决策树算法,航班延误预测
中图分类号:F562 文献标识码:A 文章编号:1009-914X(2018)19-0363-02
1、引言
随着航空市场的蓬勃发展,国内的各大航空公司都在加大运力的投入,带来了巨大流量的同时,也给空管带来了巨大的压力。航班延误不仅带来旅客自身的体验问题,同时也会产生波及效应。因此解决好航班延误问题,预测准确航班到达的时刻成为航空市场发展的决定性因素。
相对于国外的航班延误技术的分析技术,Paul等采用空间容量、流量需求以及航班规划相互关联分析,分离出可控因素建立起延误可控模型。但是我国航空起步较晚,目前集中在流量管控方面,动态航班排序和跑道分配策略依赖诸如技术的发展,而其中航班延误的估计扮演着重要角色。
针对航班到达时间估计或者预测问题,一般是采用基于航迹的预测方法,如基于混合估计理论的航迹预测以及利用航空器动力学与运动学模型的航班预测方法。随着大数据研究的兴起,机器学习就成了航班延误预测的补充,采用对历史数据的学习,分析出航班延误的回归统计模型。
这些方式成果颇丰,但却是有以下不足:1)无法把空中的交通状态作为一个整体考虑,只考虑单个航空器的影响,没有考虑彼此间的相互影响;2)模型更专注于算法本身,没有考虑的实时的数据状况。因此,本文提出了预测航班延误的时刻作为出发点,建立基于梯度提升决策树回归预测模型,期望提供航班延误的预测的准确性。
2、相关技术与理论
2.1 梯度提升决策树(GBDT)
梯度提升决策树GBDT(Gradient Boosting Decision Tree)又叫MART(Multiple Additive Regression Tree),是一种用于回归的机器学习算法,该算法由多棵决策树组成,所有树的结论累加起来做最终答案。梯度提升决策树有两个概念组成,回归决策树(Regression Decision Tree)和梯度迭代(Gradient Boosting)。
Regression Decision Tree:决策树方法最早产生于上世纪60-70年代,由JRoss Quinlan提出了ID3算法,此算法的目的在于减少树的深度,但是忽略了叶子数目的研究。C4.5算法在ID3算法的基础上进行了改进,对于预测变量的缺值处理、剪枝技术、派生规则等方面作了较大改进,既适合于分类问题,又适合于回归问题。决策树算法构造决策树来发现数据中蕴涵的分类规则.如何构造精度高、规模小的决策树是决策树算法的核心内容。决策树构造可以分两步进行。第一步,决策树的生成:由训练样本集生成决策树的过程。一般情况下,训练样本数据集是根据实际需要有历史的、有一定综合程度的,用于数据分析处理的数据集。第二步,决策树的剪技:决策树的剪枝是对上一阶段生成的决策树进行检验、校正和修下的过程,主要是用新的样本数扼集(称为测试数据集)中的数据校验决策树生成过程中产生的初步规则,将那些影响预衡准确性的分枝剪除。
Gradient Boosting:主要的思想是,每一次建立模型是在之前建立模型损失函数的梯度下降方向。损失函数(lossfunction)描述的是模型的不靠谱程度,损失函数越大,则说明模型越容易出错(可以是方差、偏差均衡的问题,这里假设损失函数越大,模型越容易出错)。如果我们的模型能够让损失函数持续的下降,则说明我们的模型在不停的改进,而最好的方式就是让损失函数在其梯度(Gradient)的方向上下降。
2.2 K-fold交叉验证
交叉验证(CV)是用来验证回归模型性能一种统计分析方法,其基本思想是把原始数据进行分组,一部分作为训练集,另一部分作为验证集,首先对训练集使用回归训练,再利用验证集测试得到的模型,以此作为评价回归模型的性能指标。
K-fold交叉验证是交叉验证的一种,它将数据集均分成N份,将每个子集分别作为一次验证集,其余的N-1份作为训练集,得到N个模型,用N个模型最终验证集的回归模型的性能指标。
3、研究对象
本文数据来源于民航航班正常统计系统和空管气象系统,其中航班正常统计系统数据集包括航班的计划起飞时间、航班的实际起飞时间、航班起落机场、航班计划到港时间、航班实际到港时间、飞行器类别、计划撤轮时间,航班延误时长,空管气象系统数据集包括天气情况、云情况、平均风速、风向、最大风速、最小能见度、最大能见度、是否重要天气、天气组数、晴空、重要云、无云、气温、露点温度、气压值、近时天气组数、风切变组数、海面温度、趋势预报组数、云组数、跑道条数、垂直能见度。
4、研究方法
4.1 数据预处理
在数据预处理中,对目标变量进行合并,将航班计划信息(航班的计划起飞时间、计划到港时间、飞行器类别、起落机场)、前序同机场已经起飞的航班信息、前序目的机场已经起飞的航班信息、前序与起落均不相同机场已经起飞的航班信息、前序到达本航班起飞机场到港的航班信息、前序到达本航班目的机场到港的航班信息作为数据特征,把航班的延误时间差作为模型的预测目标。
1)航班計划信息
清洗过滤,过滤掉没有计划到港时间或者起落机场的航班数据,保证数据的关键因素不丢失。
合并数据,没有计划离港时间,采用航班的计划撤轮时间作为航班航班的起飞时间代替;航班实际离港时间,按照实际撤轮时间、申请推出时间以及松刹车时间优先顺序获取不为空的时间;实际到港时间,按照实际上轮时间、滑行入位时间以及进港航班入位刹车时间优先顺序获取不为空的时间点。补全数据,在航班实际离港时间若是获取不到的情况下,采用-1000作为补全值;航班实际到港时间若是获取不到的情况下,采用-1000作为补全值,减少0的歧义性。数据映射处理,把计划离港时间、实际到港时间、起飞的年月日以及星期几、是否是首飞以及前序航班进行数据映射。
[关键词]机器学习,梯度提升决策树算法,航班延误预测
中图分类号:F562 文献标识码:A 文章编号:1009-914X(2018)19-0363-02
1、引言
随着航空市场的蓬勃发展,国内的各大航空公司都在加大运力的投入,带来了巨大流量的同时,也给空管带来了巨大的压力。航班延误不仅带来旅客自身的体验问题,同时也会产生波及效应。因此解决好航班延误问题,预测准确航班到达的时刻成为航空市场发展的决定性因素。
相对于国外的航班延误技术的分析技术,Paul等采用空间容量、流量需求以及航班规划相互关联分析,分离出可控因素建立起延误可控模型。但是我国航空起步较晚,目前集中在流量管控方面,动态航班排序和跑道分配策略依赖诸如技术的发展,而其中航班延误的估计扮演着重要角色。
针对航班到达时间估计或者预测问题,一般是采用基于航迹的预测方法,如基于混合估计理论的航迹预测以及利用航空器动力学与运动学模型的航班预测方法。随着大数据研究的兴起,机器学习就成了航班延误预测的补充,采用对历史数据的学习,分析出航班延误的回归统计模型。
这些方式成果颇丰,但却是有以下不足:1)无法把空中的交通状态作为一个整体考虑,只考虑单个航空器的影响,没有考虑彼此间的相互影响;2)模型更专注于算法本身,没有考虑的实时的数据状况。因此,本文提出了预测航班延误的时刻作为出发点,建立基于梯度提升决策树回归预测模型,期望提供航班延误的预测的准确性。
2、相关技术与理论
2.1 梯度提升决策树(GBDT)
梯度提升决策树GBDT(Gradient Boosting Decision Tree)又叫MART(Multiple Additive Regression Tree),是一种用于回归的机器学习算法,该算法由多棵决策树组成,所有树的结论累加起来做最终答案。梯度提升决策树有两个概念组成,回归决策树(Regression Decision Tree)和梯度迭代(Gradient Boosting)。
Regression Decision Tree:决策树方法最早产生于上世纪60-70年代,由JRoss Quinlan提出了ID3算法,此算法的目的在于减少树的深度,但是忽略了叶子数目的研究。C4.5算法在ID3算法的基础上进行了改进,对于预测变量的缺值处理、剪枝技术、派生规则等方面作了较大改进,既适合于分类问题,又适合于回归问题。决策树算法构造决策树来发现数据中蕴涵的分类规则.如何构造精度高、规模小的决策树是决策树算法的核心内容。决策树构造可以分两步进行。第一步,决策树的生成:由训练样本集生成决策树的过程。一般情况下,训练样本数据集是根据实际需要有历史的、有一定综合程度的,用于数据分析处理的数据集。第二步,决策树的剪技:决策树的剪枝是对上一阶段生成的决策树进行检验、校正和修下的过程,主要是用新的样本数扼集(称为测试数据集)中的数据校验决策树生成过程中产生的初步规则,将那些影响预衡准确性的分枝剪除。
Gradient Boosting:主要的思想是,每一次建立模型是在之前建立模型损失函数的梯度下降方向。损失函数(lossfunction)描述的是模型的不靠谱程度,损失函数越大,则说明模型越容易出错(可以是方差、偏差均衡的问题,这里假设损失函数越大,模型越容易出错)。如果我们的模型能够让损失函数持续的下降,则说明我们的模型在不停的改进,而最好的方式就是让损失函数在其梯度(Gradient)的方向上下降。
2.2 K-fold交叉验证
交叉验证(CV)是用来验证回归模型性能一种统计分析方法,其基本思想是把原始数据进行分组,一部分作为训练集,另一部分作为验证集,首先对训练集使用回归训练,再利用验证集测试得到的模型,以此作为评价回归模型的性能指标。
K-fold交叉验证是交叉验证的一种,它将数据集均分成N份,将每个子集分别作为一次验证集,其余的N-1份作为训练集,得到N个模型,用N个模型最终验证集的回归模型的性能指标。
3、研究对象
本文数据来源于民航航班正常统计系统和空管气象系统,其中航班正常统计系统数据集包括航班的计划起飞时间、航班的实际起飞时间、航班起落机场、航班计划到港时间、航班实际到港时间、飞行器类别、计划撤轮时间,航班延误时长,空管气象系统数据集包括天气情况、云情况、平均风速、风向、最大风速、最小能见度、最大能见度、是否重要天气、天气组数、晴空、重要云、无云、气温、露点温度、气压值、近时天气组数、风切变组数、海面温度、趋势预报组数、云组数、跑道条数、垂直能见度。
4、研究方法
4.1 数据预处理
在数据预处理中,对目标变量进行合并,将航班计划信息(航班的计划起飞时间、计划到港时间、飞行器类别、起落机场)、前序同机场已经起飞的航班信息、前序目的机场已经起飞的航班信息、前序与起落均不相同机场已经起飞的航班信息、前序到达本航班起飞机场到港的航班信息、前序到达本航班目的机场到港的航班信息作为数据特征,把航班的延误时间差作为模型的预测目标。
1)航班計划信息
清洗过滤,过滤掉没有计划到港时间或者起落机场的航班数据,保证数据的关键因素不丢失。
合并数据,没有计划离港时间,采用航班的计划撤轮时间作为航班航班的起飞时间代替;航班实际离港时间,按照实际撤轮时间、申请推出时间以及松刹车时间优先顺序获取不为空的时间;实际到港时间,按照实际上轮时间、滑行入位时间以及进港航班入位刹车时间优先顺序获取不为空的时间点。补全数据,在航班实际离港时间若是获取不到的情况下,采用-1000作为补全值;航班实际到港时间若是获取不到的情况下,采用-1000作为补全值,减少0的歧义性。数据映射处理,把计划离港时间、实际到港时间、起飞的年月日以及星期几、是否是首飞以及前序航班进行数据映射。