广东航空大数据创新大赛中,大熊座epsilon的同学们分享了比赛成果。首先从数据预处理、数据反映规律开始讲起,确定了工作流程,重点解释了方案设计,包括二段式模型和时序回归方法,最后对算法优势和应用作了总结。一起来了解下吧。
问题&数据
数据预处理——选择与清洗
本场赛题共有六张表的数据:a.连接WIFI AP (Access Point)的人数表 airport_gz_wifi_ap,b.安检旅客过关人数表 airport_gz_security_check,c.旅客进入-离开机场的行程表 airport_gz_departure,d.航班排班表airport_gz_flights,e.机场登机口区域表airport_gz_gates,f. 机场WIFI接入点坐标表 airport_gz_wifi_coor考虑到要预测未来两天的WIFI AP 连接数量,连接WIFI AP (Access Point)的人数表无疑是最有利用价值的一张表,而安检旅客过关人数表和旅客进入-离开机场的行程表对于预测未来几个小时内的很有价值,但是对于预测未来两天这样长的时间段应该作用不大。 航班排班表与WIFI AP连接情况尤其是登机口附近的WIFI AP相关性很大,配合机场登机口区域表和机场WIFI接入点坐标表应该能较好地从时间和空间上预测WIFI AP的连接情况。所以,我们选用a,d,e,f这四张表来进行建模。
我们来预测10月11、12号两天的WiFi的每十分钟平均连接数和实际值差的平方和。在这个过程中我们进行了一定的数据清理,再得出相应的模型。
数据预处理主要包含:1,连接WIFI AP (Access Point)的人数表存在缺失数据情况,对于个别时间段的数据缺失,可以利用填充0或者前后几天均值来进行填充,对于大段时间段的数据缺失,我们考虑以天为单位删除数据,不予利用。2,航班排班表中的计划起飞时间和实际起飞时间与其他表的时间有八小时误差,我们进行了处理。3,机场WIFI接入点坐标表中WIFI AP 坐标没有办法直接和登机口联系起来,我们先将这些点的坐标回归拟合成经纬度坐标,然后可以和登机口经纬度坐标联系起来。
数据反应规律
在对数据进行清理的过程中,会发现有些规律性的东西。第一,整个WiFi的连接具有一定的周期性;第二,相邻的WiFi具有非常高的相关性;第三,一个WiFi点的连接数跟它周围的登机口的信息具有非常强的相关性。当然,实际过程中有个别的WiFi点是非常特殊的,因为在机场里会有小吃店、书店等会对整体有一定的影响。
在比赛过程中,我们对数据进行了整体的可视化研究,可以看到整个区域都进行了拆分可视化,里面的红点、蓝点、绿点实际上是每一个WiFi点波动值的情况,每个区域都有不同的特点,T1区wifi和所有登机口的航班相关,WC和EC区wifi和某一区域登机口的航班相关,W123,E123区wifi和邻近登机口的航班相关。
工作流程
我们整体的工作流程是,在线下建立测试集和训练集,然后在线下做自己的线下评分,每天会进行多次来保证模型的稳定性和选择相对最优的模型进行线上提交,然后根据线上的分数反馈,调整线下模型,使模型变得更加精准稳定。我们也不断地进行特征选择、特征优化、模型调参,包括最后的模型融合。
方案设计
整体解题方案
整体预测模型首先要先分区域,我们发现这个模型只应用一张表,即WiFi的连接表对整体进行相应预测。而这个模型的预测效果并不是特别好,我们又找到单WiFi残差学习模型。
整体预测模型
我们采用的方案原理是wifi连接数的周期性规律,考虑因素包括距离当前天的远近、星期、月出月末、白天中午晚上半夜,使用线下回归来做。
我们的特征选择包括:
- 最近1,2,3…天同时段10分钟wifi平均连接数;
- 最近1,2,3…天同时段30分钟wifi平均连接数;
- 最近1,2,3…天同时段60分钟wifi平均连接数;
- 最近的周一,周二…同时段10分钟wifi平均连接数;
- 两周内同时段wifi平均连接数最大值,最小值,中位数。
整体预测,每个WIFI AP的在某一时间段的连接数具有很强的时间周期性,所以用历史数据来进行回归预测对于绝大多数AP来说就已经能很好地拟合,而且过拟合的情况不严重。
单WiFi残差学习模型
单WiFi残差学习模型采用的方案原理是wifi连接数和登机口航班起降的相关性,需要考虑wifi点附近有哪些登机口及其航班起降情况,采用线性回归来做。
WiFi的连接数跟航班信息是有非常强的相关性的,它与周围能影响Wifi登机口的航班具有非常强的关联性,这样,我们就打通了非常多的表,包括航班区域表、AP WiFi表、人流表,
然后将航班信息标注出来,我们学习的是在预测值和线下建立的测试集中间天数的差值,再将差值与实际预测值进行相加,得出最终模型。
该模型的特征选择包括:
- 过去三小时,过去一小时,过去半小时,过去十分钟……附近登机口有多少个航班起降;
- 最近三小时,最近一小时,最近半小时,最近十分钟……附近登机口有多少个航班起降;
- 未来三小时,未来一小时,未来半小时,未来十分钟……)附近登机口有多少个航班起降;
- 距离该WIFI AP的最近的登机口在过去,最近,未来的飞机起飞情况;
- 距离该WIFI AP的第二近的登机口在过去,最近,未来的飞机起飞情况。
通过整体预测,大部分的WIFI AP已经得到了一个相对较优的预测值,但是对于一些AP,尤其是在登机口附近的WIFI AP由于受到飞机航班起降的影响非常严重,预测地不是很好,需要进一步进行修正学习。我们将第一步的预测值和实际值作为一个残差,学习并预测这个残差,就可以进一步提高预测的精度,而每一个WIFI AP附近的登机口是不同的,而且由于其他空间因素的影响,不同WIFI AP之间的数据几乎无法互相利用,所以需要对于每个WIFI AP单独建模,回归出残差。对于E1,E2,E3,W1,W1,W3这六个区域的WIFI AP,是直接的候机休息区,会直接收到距离其很近的登机口的航班起落影响,于是我们根据WIFI AP和登机口的经纬度坐标,计算距离,求出每个WIFI AP可能会受到那几个登机口的影响,进一步提取特征,训练模型。对于EC和WC区域,是走向候机区的通道,会受到某一个区域所有航班的影响,我们将其细分成了六个区域,分别提取特征,每个WIFI AP单独训练,预测各自残差。
时序回归方法
我们认为航班的等待人数和AP的连接数是成正相关的,于是我们通过已知航班排班表和航班登机人数,来学习得到一个函数,利用这个函数关系,做线性回归。在所有区域学习的时候,实际上是用最优化的方程,用粒子群优化来做整体的函数求解。
利用转化函数f(),可以利用航班表信息,平均延误时间,平均登机人数计算每个登机口前的大致等待人数的时序信息。
以上两个模型在线上验证成立后,发现两个方案结果相关度不高,有融合提高空间。我们将两个模型进行加权融合,并进行线上提交,结果有了很大提升。
比赛总结
算法优势
- 两段式学习:通过两段式学习方案,将不同来源,不同价值的信息都学到;
- 多路并行线性回归:并行的简单模型,避免了不同数据源的相互影响,增强算法稳定性;
- 可视化分析:通过地图可视化来帮助进行特征选择,还有助于发现新规律。
算法应用
- 通过航班表可以快速预测机场内的人流密度分布,作为排班优化的重要依据;
- 旅客wifi接入率低,分布不均匀,wifi的资源利用率有提升空间;
- 为机场其他设施的改进提供依据。