第一作者:林友芳(1971—),男,福建龙岩人,教授,博士,博士生导师. 研究方向为网络科学与智能系统.email:yflin@bjtu.edu.cn.
在线机票预订网站上的用户查询量变化是真实的民航市场需求变化的反映.通过对机票查询数据进行分析,可以准确地预测航班需求,以利于民航业做出快速的市场反应.提出了一种基于深度时空卷积神经网络的民航需求预测模型(DSTCN-FRP),将用户查询量时间序列数据转换成航线网格图,设计多层卷积神经网络来捕捉用户需求与查询数据之间的时间和空间依赖,同时加入节假日等外部因素,最后得到未来一段时间内的民航需求量.在某在线订票网站的真实查询数据集上进行了实验,结果表明:DSTCN-FRP模型优于其他现有的预测方法,其MAE比其他方法降低了15%~50%,RMSE降低了12%~28%.
The changes of users’ query volume in online fight ticketing systems indicate the changes of requirements in civil aviation market. By analyzing users’ online query behaviors, we can accurately predict flight requirements, which is very conducive for airlines and agencies to take effective marketing actions immediately. In this paper, we propose a deep-learning-based approach, called DSTCN-FRP, to forecast flight requirements.We first transform time series data of users’ query volumes into grid map, then design multi-layer convolution neural network to capture the time and space dependency between user requirements and query data. In addition, we further add external factors, such as weather and day of the week, to predict a period of time series of flight requirements in the future. Experiments on a real-world users’ query dataset collected from an online ticketing site demonstrate that the proposed DSTCN-FRP outperforms other existing forecasting methods, where its MAE falls by 15% to 50% than other methods and RMSE falls by 12% to 28%.
从2011年到2016年, 我国民航旅客运输量从2.93亿人次增加到4.88亿人次, 增加了66.55%, 年均增长达到13.31%[1].随着民航市场的持续增长, 航班需求预测越来越受到航空公司、机场、机票代理等民航相关企业的关注.航班需求预测的准确性对民航收益管理有很大的影响, 有研究表明:如果需求预测准确率提高10%, 收益将会增加50%[2].如果民航市场从业者能准确预测航班需求, 那么对民航业提前感知市场需求、提高企业收益管理水平、为各级运营部门提供决策支持都具有十分重大的意义.
一般情况下, 当人们需要坐飞机出行时, 通常会提前一段时间进行机票查询.因此, 机票查询量变化在很大程度上能够反映真实的民航市场需求变化.随着互联网和移动智能终端技术的快速发展, 用户查询机票占的比例越来越高, 为采集和分析用户查询数据提供了良好的基础.本文基于已知的历史查询量数据预测未来一段时间内的机票查询量以反映民航市场需求.
由于航班销售过程受诸多因素的影响, 历史查询规律和趋势变得非常复杂.因此, 民航需求预测具有一定的挑战性, 主要原因如下:1)机票查询数据既在时间维度上呈现趋势性和周期性, 又在空间维度上受到相同航线不同出发日期和相同出发日期其他航线的影响, 如何设计预测模型同时捕获数据在时间和空间维度上的依赖关系具有很大难度; 2)机票查询还会受到天气状态、节假日和突发性事件等外部因素的影响, 如何在模型中加入这些外部因素也是一个需要解决的问题.
目前, 交通领域的时间序列数据预测模型主要分为两大类.1)利用经典的时间序列分析及其改进方法[3], 如历史平均模型(HA)[4]、自回归滑动平均模型(Autoregressive Integrated Moving Average Model, ARIMA)[5]和向量自回归模型(VAR)[6]等.但这类模型都重点关注了数据在时间维度上的变化特点, 而无法捕获交通数据的空间依赖关系, 也不能有效描述节假日等外部因素带来的干扰.2)利用机器学习针对交通数据复杂多变的特点进行建模.近年来, 卷积神经网络(CNN)被广泛地应用到处理具有空间特点的数据(如图像、视频等)中[7].很多学者受此启发, 将CNN深度模型应用到交通数据分析与挖掘领域, 例如, 文献[8]提出深度卷积神经网络(DCNN)预测交通流量, 有效捕获了交通数据之间的空间依赖关系.文献[9]也利用DCNN提取了交通网络流量的空间相关性.文献[10, 11]提出深度残差卷积神经网络模型(ST-ResNet)预测城市区域人口流量.该模型首先将整个城市区域进行网格化表示, 然后利用卷积神经网络挖掘城市内局部区域与其周围区域之间的关系, 同时加入了天气状态等外部因素.
综上所述, 传统的时间序列预测方法主要针对单个时间序列进行分析, 不同的方法都有其特定的适用场景.由于各航线的查询量曲线之间存在一定的相关性, 实验表明, 直接将现有的方法应用于民航机票查询量时间序列预测难以取得理想的效果.幸运的是, CNN的广泛应用为从整个航线网络而非单个时间序列的视角进行预测提供了借鉴.本文作者将机票查询量时间序列数据转化成具有空间特点的网格图, 基于这些网格图, 提出了一种新颖的基于深度时空卷积神经网络的民航需求预测模型(Deep Spatio-Temporal Convolutional Networks for Flight Requirements Prediction, DSTCN-FRP).本模型综合考虑了用户需求与查询数据之间的时间和空间依赖关系, 并加入节假日等外部因素, 最后得到未来一段时间内的民航需求量.在某在线订票网站提供的真实查询数据集上的实验结果证明:本文提出的DSTCN-FRP模型优于其他5种基本方法, 极大地提高了准确率.
大量用户在一段时间内对某些航线在未来不同出发日期的查询量, 构成了多条时间序列曲线.如图1所示, 图1(a)展示了2015年5月20日至5月29日10天内用户对多条航线出发日期为2015年6月2日的每小时查询量; 图1(b)是对昆明— 长沙航线不同出发日期的每小时查询量.
传统的时间序列预测方法通常是对一条单独时间序列曲线进行分析, 捕获其趋势性和周期性, 如图1(a)所示, 北京— 青岛、北京— 厦门及上海— 北京这3条航线的每小时查询量都呈现出一定的规律和趋势. 而在民航领域, 除了查询曲线本身具有的特征外, 同一航线不同出发日期的查询曲线之间也具有较强的相关性, 如图1(b)所示, 昆明— 长沙航线不同出发日期的查询曲线在查询日期距离出发日期间隔相等的位置具有较强的相似性.此外, 如果某个城市未来有重大社会事件发生, 将会导致同一出发日期的若干相关航线都产生需求变化, 如图2所示, 假设城市C是社会事件发生地, 因航线AC的机票售罄, 城市A的旅客只能通过转机城市B才能到达城市C, 从而增加了航线AB的需求.要发现这种转机需求, 需要从整个航线网络的角度去分析航线之间的相互关联.
从上述分析可以看出航班需求受诸多因素的影响, 为了在预测中能同时捕获这些影响因素, 本文将多条查询量时间序列转换成航线网格图序列, 作为DSTCN-FRP模型的输入.对其中一些相关概念给出如下定义:
定义1 查询:用户在线查询机票所对应的查询对象一般是某个产品集(如某日期出发的所有航班).定义查询对象:出发地、目的地、出发日期.采用
定义2 查询量时间序列:用
定义3 航线网格图:假设数据集中的机场个数为
问题定义民航需求预测:出发日期
假设当前查询的航班产品集对应的出发日期为
1)提取时间片段.如图4右上部分所示, 在查询时间轴上, 根据定义2和定义3, 分别以1 h为时间间隔, 在每个查询时刻提取一张对应的航线网格图.然后根据给定的预测时间段, 在查询日期维度上提取出2个时间片段:临近片段
2)构建卷积网络.首先, 基于第1步提取的时间片段, 分别构建卷积神经网络以捕获在时间维度上的依赖关系, 即qc、qp、fc和fp.同时该网络结构中的多层卷积能够捕获航线网格图中所有航线在空间维度上的相互依赖关系.在本文中, DSTCN-FRP模型前4部分元素使用同一个卷积神经网络结构.然后构造系数矩阵, 给每一部分的输出结果分配不同的权值并进行融合, 从而得到一个融合后的输出结果
3)加入外部因素.如图4左上部分所示, 首先, 人工地从外部提取一些特征
4)聚合获取结果.将第2步得到的输出结果
在航线网络中, 很多航线之间通常存在复杂的相互影响关系.而在一张航线网格图中, 许多有关系的航线格子处在不同的位置中, 有的可能距离比较远.我们希望能捕获网格中所有航线间的空间依赖关系.初始的航线网格图经过一些相连的卷积操作后能获得多种不同层次的特征图, 高层特征图中的一个节点取决于中层特征图的多个节点, 而这些特征节点又是从低层特征图中所有节点卷积得到的.这表明一个卷积只能捕捉到相邻区域的空间依赖, 而多层卷积可以捕捉到更远距离的空间依赖.所以需要设计一个多层卷积神经网络.
用
其中:* 表示卷积:为了确保卷积操作后的输出与输入张量的大小一致, 在输入张量的周围填补上零值;
在卷积
同理, 用上述同样操作构建qp、fc和fp3部分的网络, 经各卷积神经网络计算后可得到qp、fc和fp三部分的输出结果分别为
航班需求通常会受到很多复杂的外部因素影响, 如节假日等.在本模型中, 结合民航背景, 加入出发日期星期属性/是否工作日/是否节假日、查询日期与出发日期之间的时间间隔这4个重要特征.
假设预测时刻为
基于上述各部分计算得到的结果, 首先融合qc、qp、fc和fp四部分, 公式如下
式中:。表示Hadamardproduct;
然后, 将式(2)计算后的结果
DSTCN-FRP模型通过最小化预测值矩阵
式中:
算法1概括描述了DSTCN-FRP模型的训练过程.第1~11行分析了将原始数据构建成模型训练需要的输入实例这一过程.第12~16行中DSTCN-FRP模型通过反向传播和Adam[13]优化器进行训练.
算法1.DSTCN-FRP训练算法
Input:历史观测值:
Output:训练完成的DSTCN-FRP模型
//构建训练实例
1
2 for 出发日期
3 for可预测的时间点
4
5
6
7
8
9 构建一个训练实例
10 }
11 }
//模型训练
12 初始化模型的所有学习参数
13 do{
14 从
15 用
16 }until (满足所有停止条件);
本文使用的数据来自某在线订票网站提供的真实机票查询数据集, 数据中包含的信息包括航线(即出发地和目的地)、出发日期、查询日期、查询小时及查询次数(即查询量).
数据集中一共涉及到了国内26个有机场的重点城市(北京、上海、深圳、成都、广州、重庆、西宁、郑州、乌鲁木齐、昆明、青岛、香港、杭州、西安、厦门、哈尔滨、海口、沈阳、福州、南京、银川、武汉、长沙、天津、石家庄、贵阳), 包含676(26× 26)条航线, 构成全国范围的航线网络.我们选取查询日期区间为2014/12/17-2015/5/16(共151 d)对676条航线的查询数据作为本文的实验数据集, 并从中选取出发日期区间为2015/1/2-2015/5/2(共121 d)的查询数据作为训练集, 出发日期区间为2015/5/3-2015/5/16(共14 d)的查询数据作为测试集.查询时间间隔为1 h.
在本文的实验中设置每一个样本的预测时间长度为24 h, 对于每一个出发日期
1) 数据处理.
本文采用最大最小归一化方法将原始查询数据归一到
对于外部输入数据, 本文采用独热码(one-hot code)分别来转换出发日期星期属性/是否工作日/是否节假日这3个特征, 前7位分别对应周一到周日, 第8位表示是否工作日, 第9位表示是否节假日, 如出发日期星期一/工作日/节假日转换为
2) 参数设置.
在DSTCN-FRP模型中, 前
3)方法比较.
本文采用以下5种基本方法与DSTCN-FRP模型进行对比:
①Pre:直接用前一天同时间段的值作为预测时间段的预测值.
②HA_qd(查询日期维度平均):采用历史查询日期同时间段的平均值作为预测时间段的预测值, 例如, 预测2015/5/8_8:00到2015/5/9_7:00时间段对航班产品集(北京, 上海, 2015/5/10)的小时查询量, 将最近1个星期每天同小时段查询该航班产品集(北京, 上海, 2015/5/10)求平均, 作为预测时间段的预测值.
③HA_fd(出发日期维度平均):采用历史同航线不同出发日期同位置时间段的平均值作为预测时间段的预测值, 例如, 预测2015/5/8_8:00到2015/5/9_7:00时间段对航班产品集(北京, 上海, 2015/5/10)的小时查询量, 将最近3个月(
④ARIMA:自回归移动平均模型是一种时间序列预测方法, 其优势在于短期预测.
⑤LSTM:长短时记忆神经网络(Long Short Term Memory Network, LSTM)是一种时间递归神经网络, 适合于处理和预测时间序列中间隔和延迟相对较长的重要事件.
4) 评价指标.
本文采用平均绝对误差(MAE)和均方根误差(RMSE)作为评价指标, 计算公式如下
式中:
表1给出了本文提出的DSTCN-FRP模型与5种基本方法的MAE和RMSE平均值对比, 从表1可以看出, DSTCN-FRP模型的MAE比其他方法降低了15%~50%, RMSE降低了12%~28%, 说明本文提出的模型在民航需求预测任务上明显优于其他方法.
![]() | 表1 不同方法的预测结果对比 Tab.1 Comparison of experiment results of 6 prediction models |
图5给出了DSTCN-FRP模型与5种方法在24 h内每个小时的MAE和RMSE对比结果.从图5可以看出, 除了ARIMA方法在最近3 h的短期预测有优势外, 本DSTCN-FRP模型明显优于其他方法, 而且随着预测时间的增大, ARIMA、LSTM和Pre方法的误差呈现出急剧上升的趋势, 而DSTCN-FRP模型的误差上升速度相对缓慢.由于不同出发日期的查询曲线在查询日期距离出发日期间隔相等的位置具有较强的相似性, HA_fd方法相较于ARIMA、LSTM和Pre方法也具有一定优势, 且随着预测时间的增大, 它的误差上升趋势相对平缓.这些实验结果表明, 本文提出的DSTCN-FRP模型预测未来较长一段时间的民航需求是行之有效的.
1)研究了民航领域的航班需求预测问题, 提出了一种基于深度时空卷积神经网络的民航需求预测模型, 综合考虑用户需求与查询数据之间的时间和空间依赖关系, 并加入出发日期星期属性/是否工作日/是否节假日等外部因素.
2)在某在线订票网站提供的真实查询数据集上的实验结果证明, DSTCN-FRP模型优于其他5种基本方法, 极大地提高了准确率, 从而有助于民航相关企业准确地掌握民航市场需求的变化, 及时采取相应的市场对策, 提高服务质量和收益水平, 改善用户出行体验, 同时为未来航空、铁路、公路等交通领域的需求建模问题提供了新的思路.
The authors have declared that no competing interests exist.
[1] |
|
[2] |
|
[3] |
|
[4] |
|
[5] |
|
[6] |
|
[7] |
|
[8] |
|
[9] |
|
[10] |
|
[11] |
|
[12] |
|
[13] |
|