基于卷积神经网络的飞机燃油消耗预测方法
2023-10-08赵元棣王中义
赵元棣,王中义
(中国民航大学 民航航班广域监视与安全管控技术重点实验室,天津 300300)
0 引 言
我国民航已成为世界第二大航空运输系统,民航业的碳排放主要由飞机燃油燃烧产生。以2019年为例,航空公司航空燃油消耗3 689万t,折算碳排放1.16亿t,占行业排放总量97%。飞机燃油作为航空公司运营成本的重要部分,对其准确预测可为航空公司运营提供建议。
目前,飞机燃油消耗问题大部分从3方面进行研究:①飞机性能方面[1];②数理统计方面[2];③机器学习方面[3]。何运成等[4]采用T-S模糊神经网络建立飞机燃油消耗估计模型,提取不同航段的不同影响因素实现航路分阶段建模;N.HONG等[5]基于多层感知机(MLP)神经网络开发了一种油耗模型,当终端空域设计给定时,燃料消耗模型根据设计中指定的出发或到达剖面计算整个机队的燃料消耗;魏志强等[6]以空客A320机型的航线签派数据为基础,根据咨询通告的方法计算不可预期燃油标准,然后引入BP神经网络来预测航线燃油;谷润平等[7]利用改进的BP神经网络建立了飞机落地剩油预测模型,引入遗传算法优化网络初始权值和阈值,实现了更高精度的预测。
综上,学者们对飞机燃油消耗问题的研究众多,近年来越来越多的学者开始使用机器学习的方法来研究飞机油耗问题,其模型准确度进一步提高,但仍有提高空间。
笔者从航空公司的实际飞行计划报中提取出月份、时间、起飞油、风速等19个飞机油耗影响因素,分析各影响因素与实际油耗之间的关系,通过主成分分析法和灰色关联度分析法将影响因素数据降维,综合得到影响油耗的关键因素;然后基于卷积神经网络(CNN),建立飞机燃油消耗预测模型,并将预测结果分别与现有的飞行计划模型和MLP模型[5]进行对比,验证CNN模型的准确性;最后进行10折交叉验证,验证CNN模型的鲁棒性。
1 燃油消耗影响因素分析及筛选
1.1 影响因素提取及分析
飞机燃油消耗影响因素众多,呈现典型的非线性相关性。选取2020—2021年北京至上海的156个往返航班,机型为A330,实际油耗数据由航空公司提供。从航空公司的实际飞行计划中提取出月份、时间、起飞油、风速等19个飞机油耗影响因素,如表1。
表1 参数说明
总油由滑行油和起飞油组成,起飞油由必需油和额外油组成,必需油由航程油、不可预期燃油、备降油和标准等待油组成,如图1。
图1 各燃油间关系
由于机型、发动机构型、机动油、不可预期油和标准等待油这5种影响因素的数值基本固定不变,因此不再分析这5种影响因素与飞机实际油耗之间的关系,只分析剩余14种影响因素与飞机实际油耗之间的关系。
将飞行计划里提取的航路风速数据与实际油耗对比分析,如图2。当风速为正值时,飞机顺风飞行;风速为负值时,飞机逆风飞行。从图2可以看出:在顺风飞行时,随着风速增大,飞机燃油消耗出现减小的趋势;风速减小,飞机燃油消耗出现增大的趋势;在逆风飞行时亦然,说明风速与飞机实际油耗成明显的负相关关系。
图2 风速与实际油耗关系
将温度数据与飞机的实际油耗对比分析,如图3。从图3可以看出温度与飞机实际油耗的线性关系不强,拟合程度不高,仍需进一步分析。
图3 温度与实际油耗关系
将飞机高度层数据与实际油耗对比分析,如图4。但由于数据限制,航班的航线为单一航线,在制作飞行计划时高度层的选择有限,大部分集中在331、301 hft这2个高度层。无法充分反映高度层与飞机实际油耗之间的关系,因此后续不再考虑。
图4 高度层与实际油耗关系
其余影响因素也如以上方法分析,综合得到:①高度层、月份(12月、1月)和滑行油(525、400 kg)这3个影响因素的取值大多只有2个,无法充分反映与实际油耗的具体关系,因此不再考虑;②航路风速、航路温度、空中距离、飞行时间、起飞油、额外油、航程油、必需油、备降油、总油和起飞重量这11个影响因素与飞机实际油耗具有明显相关关系,但具体关系需要进一步分析。
1.2 影响因素筛选
主成分分析[8]是一种通过降维技术把多个变量转化为少数几个主成分的多元统计方法,可以消除影响因素之间的相关影响,但计算中损失了一部分变量的含义。灰色关联度分析[9]可定量表述影响因素间的关联程度,但其主观性过强。综合2种影响因素分析方法,筛选得到影响飞机油耗的关键因素。
1.2.1 数据规范化
将航路风速、航路温度、空中距离、飞行时间、起飞油、额外油、航程油、必须油、备降油、总油和起飞重量这11个影响因素数据进行归一化处理,使各个数据在[0,1]之间,笔者选取最大-最小归一化方法,如式(1):
(1)
式中:X′为参数归一化后的值;X为参数原值;Xmin为参数中最小值;Xmax为参数中最大值。
1.2.2 主成分分析
运用主成分分析将11个油耗影响因素降维处理,并按其贡献大小排列,结果如表2。可以看出,大部分影响因素得分在0.3以上,前8个影响因素的累计贡献率达到了99.99%。
表2 主成分贡献
1.2.3 灰色关联度分析
运用灰色关联度方法分析11个油耗影响因素,并按其灰色关联度大小排列,结果如表3。可以看出,大部分影响因素灰色关联度得分位于0.7~0.9,少部分得分位于0.7之下。
表3 灰色关联度
1.2.4 综合分析
综合两种分析结果,可准确选取出影响燃油消耗的关键因素。定义综合相关度为:
α=μ|β|+(1-μ)|γ|
(2)
式中:α为综合相关度;β为主成分得分;γ为灰色关联度;μ为相关系数。
由于两种方法的研究角度不同,因此取μ=0.5。根据式(2)计算各个影响因素的综合相关度,结果如表4。
表4 综合相关度
由表4可以看出:综合相关度大于0.5时,影响因素之间综合相关度相差较小;小于0.5时,影响因素之间综合相关度差值增大,因此选取综合相关度大于0.5的影响因素作为关键影响因素。
最终影响油耗的关键因素为空中距离、总油、起飞油、飞行时间、航程油、必需油、起飞重量这7个影响因素,降低了各因素之间的共线性影响,并从飞行距离、飞行时间、飞机装载等多个角度描述了飞机的飞行活动,并作为燃油消耗预测模型的输入参数。
2 模型构建及分析
Tensor Flow是Google于2015年发布的深度学习框架,拥有多层级结构,被广泛应用于自然语言处理[10]、图像识别[11]等各领域的算法编程实现。卷积神经网络[12]是一类前馈神经网络,是深度学习的代表算法之一。
2.1 模型建立
将卷积神经网络设计为4层:卷积层1、卷积层2、池化层和输出层。输入关键影响因素,为便于计算,将其转为4×4的向量,通过卷积层1将其原来的1个像素卷积运算成32个,通过卷积层2再将其1个像素卷积运算成64个,再通过池化层将其降维处理,最后通过两层全连接神经网络,输出预测值,网络结构如图5。
图5 卷积神经网络结构示意
卷积神经网络模型的输入和输出之间的对应关系如式(3):
(3)
式中:xi为模型的输入;y为模型的输出;wi为权重值;bi为偏置值;f(·)为激活函数,笔者选择线性纠正函数(rectified linear unit,ReLU)作为激活函数。
2.2 结果分析
将样本划分为3种不同规模的训练集和测试集,分析训练集和测试集的规模对模型的影响。样本划分方式为:①90%划为训练集,10%划为测试集;②80%划为训练集,20%划为测试集;③70%划为训练集,30%划为测试集。指定学习率为0.001,最大训练次数为2 000。模型预测结果评价指标使用误差率表示,计算方法如式(4):
(4)
式中:P为预测值;O为真实值;M为误差率,计算结果如表5。
表5 不同大小测试集误差率对比
从表5可以看出:在平均误差率方面,训练集越小,测试集越大,模型的精度越好。虽然从20%到30%测试集两者的最小误差率相等,但最大误差率反而增加。由此认为20%测试集时,模型的性能最优,选择80%划为训练集,20%划为测试集,其余参数不变。
选取目前航空公司所用的燃油计算模型,以及较为流行且计算精度较高的MLP模型作为参照,将基于CNN模型的预测结果分别与现有飞行计划模型、MLP模型对比分析,各方法测试集误差率对比如表6。
表6 测试集误差率对比
由表6可以看出:基于CNN模型的油耗预测模型平均误差为5.26%,小于飞行计划模型的17.67%及MLP模型的7.69%,且最大误差率和最小误差率也同样优于另外两种模型,所以CNN模型预测性能优于其他两个模型的燃油计算。
各个方法测试集的预测结果分布如图6。
图6 预测结果分布
图6显示了3种模型的预测结果与实际油耗之间的分布图。图中虚线为函数y=x,预测结果越集中于虚线附近,说明预测结果越精准,效果越好。可以看出:现有的飞行计划模型预测结果整体居于虚线左侧,说明现有的飞行计划模型预测结果整体偏大;基于MLP模型的预测结果一部分在虚线附近,一部分距离虚线较远,说明预测结果整体一般,模型的预测效果不稳定;基于CNN模型的预测结果整体居于虚线附近,说明与另外两种模型相比,CNN模型的整体预测效果好,预测精度较高。
各个方法测试集预测结果误差率分布如图7。
图7 误差率分布
图7显示了3种模型预测误差率分布,可以看出,现有飞行计划模型的预测误差率都分布在0以上,说明飞行计划都高估燃油消耗,多携带了一部分燃油,造成不必要的浪费;基于MLP模型的预测误差率更多分布在0以下,这样会造成航班少携带燃油,可能使航班发生不安全事件;基于CNN模型的预测误差率更多分布在0附近,少部分结果在0以下,说明CNN模型的预测结果更加准确。
各个方法测试集的预测结果误差分布如图8。
图8 误差分布
图8显示了3种模型的预测结果误差与实际油耗之间的分布。可以看出,对于实际燃油消耗小于8 000 kg或者大于10 000 kg的航班,MLP模型的准确率大大降低;现有飞行计划模型预测误差大部分在1 000 kg以上,说明现有的飞行计划模型预测误差大,精度不够;CNN模型预测误差整体较小,且偏差基本在1 000 kg以内,优于其他两种模型。
2.3 相关性分析
影响因素中飞行时间与空中距离、航程油之间可能存在一定的共线性,因此利用皮尔逊相关系数法对其做出相关性分析。结果表明飞行时间与空中距离相关系数为0.83、与航程油相关系数为0.81。
为验证其共线性是否对模型产生影响,所以在模型输入的影响因素中分别剔除空中距离、飞行时间和航程油,结果如表7。
表7 实验结果
由表7可以看出:在不剔除的情况下,模型预测结果的误差率稍小;若剔除某些因素,模型预测结果的误差率稍大。因此飞行时间与飞行距离、航程油之间的共线性会使模型预测结果的准确率发生改变,如果将其剔除实验结果误差率就会增大,所以笔者将飞行距离、飞行时间以及航程油都选为关键因素以增加模型预测结果的准确率。
3 交叉验证
进行交叉验证[13]是一种统计学上将数据样本切割成较小子集的实用方法,笔者选择此方法验证CNN模型的鲁棒性。选择10折交叉验证法,将总数据分成10组,不重复地抽取1个子集作为一次验证集,将其余9组子集数据组合在一起作为训练集,原理如图9。
图9 10折交叉验证原理
数据有156个航班,因此10交叉验证的训练集为141,测试集为15,交叉验证结果如表8。
表8 10折交叉验证结果表
由表8可以看出:基于CNN燃油消耗模型交叉验证的误差率平均值为4.36%,最大值均值为14.28%,最小值均值为0.50%,方差均值为0.16%,说明模型具有很好的鲁棒性,模型准确率优于其他两种模型。
综上,基于CNN模型的预测性能优于现有的飞行计划燃油计算,能更准确预测飞机燃油消耗且模型具有很好的鲁棒性,可给航空公司提供更准确的飞机携带燃油量建议,避免产生更大燃油消耗,可有效降低运营成本,实现绿色民航的节能目标。
4 结 语
通过从航空公司飞行计划中提取飞机燃油消耗的影响因素,简单分析各因素对油耗的影响关系,利用主成分分析法和灰色关联度分析法综合筛选出关键因素,实现数据降维;然后基于TensorFlow深度学习框架,使用卷积神经网络,建立了飞机燃油消耗预测模型,实现对飞机燃油的更加精确预测,结果平均误差率5.26%,优于现有飞行计划的17.67%,以及MLP模型的7.69%;最后进行了10折交叉验证,验证了CNN模型的鲁棒性。