BI航空航班运行风险管控分析平台
一、参赛信息
二、分析主题
- 业务背景:航班运行风险涉及到机组人员的资质水平、天气、飞机健康状况等多个方面,是一个信息综合程度高、复杂性强的问题。根据波音公司在《Statistical Summary of Commercial Jet Airplane Accidents Worldwide Operations 1959–2020》公布的全球商用喷气式飞机飞行事故统计,
2011至2020年间,按飞行阶段分类,飞行事故中进近和着陆阶段占54%。在进近和着陆阶段阶段,受制于机场的差异、油量的限制以及空域的拥挤情况,有更多飞行操纵需要机组手动完成,因此各种客观条件结合下的终端区运行风险识别则是重中之重。通过将不同天气要素、机场地形和管制的复杂程度、飞机机龄等健康状态、机组技术等级和搭配等作为数据驱动,可以在运行过程中有效识别风险,及时对运行过程中可能存在的风险做出预警,给与缓解措施,进而有效缓解并消除风险。
- 分析目标:根据天气现象、能见度、云量云高、风向风速、降雪量、降雨量等不同天气要素对航班运行的影响对天气因素进行风险等级划分,通过获取实况天气计算天气风险指标,对风险指标较大的机场进行提醒;根据机组的技术等级搭配、民航局公布的特殊机场、是否有计划额外油、行政隶属、国籍搭配、疲劳度以及机场流量对航班运行的影响对机组风险进行等级划分;根据飞机机龄、MEL(最低设备清单)、CDL(故障偏差清单)、机型对飞行健康状况的影响对飞机风险进行等级划分。通过航空公司提前一日的机组排班计划及飞机排班计划,对飞机健康状况要素及机组风险要素分别进行等级划分。计算机组风险要素、机场天气要素、飞机健康状况等影响风险值的指标,挖掘不同指标对运行控制风险值的影响程度,从而形成影响指标与综合计算的风险值结果之间的回归函数,将实时获取的机组信息、机场实况要素、飞机健康状况代入回归函数,生成实时航班运行风险指标,对风险指标较大的航班进行提示。
三、作品介绍
影响运行控制风险的因素主要包括人、机、环三个方面,人方面主要从机组的技术经验进行评估,机方面主要是从飞机的健康状况来评估,而环即运行环境因素,包括机场的地形复杂程度、机场的天气状况等因素。
航空公司运行控制风险可分为基本的三个等级,可接受风险、缓解后可接受风险和不可接受风险。通常可用1~10的风险数值来量化风险程度。风险值介于1~5为“可接受”,风险值介于5~8为“缓解后风险可接受”,而风险值大于8即为“不可接受”。“可接受”表示运行控制各影响因素均符合民航法规和运行政策要求,并具有一定安全裕度;“缓解后风险可接受”表示少数运行条件处于边缘或不确定因素过多,通过制定响应措施或随着运行条件变化可以转化为可接受的,而“不可接受”表示综合判断各影响因素后表明运行安全收到威胁。
数据分为静态数据和实时数据两部分。
静态数据为历史数据集,包含机场的历史气象要素和机场的风险等级,为了脱敏数据,机场风险等级和实时气象要素为虚拟的数据。
实时数据考虑数据敏感性所有飞行员信息数据、飞机数据均为虚拟的数据。在本地搭建sqlserver数据库,模拟实时的飞行员技术等级、飞行小时数,实时提取每个机场最新的气象数据。
实时气象数据通过以下sql语句从SqlServer获取最新的机场实况,考虑机场实况观测间隔为30分钟至1小时,缓存设置为每30分钟更新一次:
select AIRPORT_4CODE 机场,obs_time 观测时间,isnull(WIND_DIR,0) 风向,ISNULL(flurry,WIND_SPEED) 风速,isnull(visibility,9999) 能见度,cld_1_cloud_amount 云量,isnull(cld_1_ceiling,999) 云底高,WX_1_PH 天气1,WX_2_PH 天气2,WX_3_PH 天气3 from(SELECT*,row_number() over(partition by airport_4code order by obs_time desc) rn FROM airpwx) t where t.rn=1
由于公司的保密需求,航班运行数据仅保留起降机场信息,其他飞机及机组数据根据公司现有的机队规模及机组实力,通过一定概率下随机数生成的方式进行数据脱敏。另外,特殊机场依照中国民用航空局《特殊机场的分类标准及运行要求》进行数据匹配,起降机场流量则根据2021年业内公布的年实际运行流量与航班时刻进行匹配。
导入了两个基础数据表“2021气象数据V2”及“2021年脱敏V2-航班信息”,通过航班日期,航班时刻,降落机场制作匹配ID,将两张表进行左右合并关联数据集。其中流量和特殊机场分别通过EXCEL的VLOOKUP函数进行匹配进行数据预处理。
当前分析仅考虑大陆的航班,因此首先过滤掉港澳台地区的航班数据:
通过左合并的方式,以航班数据为准,气象数据根据匹配ID右合并进入总表;
影响运行风险的最主要的因素是“环”,即运行环境因素,对于天气要素的运行控制风险值是根据天气对航班的影响程度来划分的,如冰雹、强雷雨等可能造成飞机损伤的天气风险等级最高所以风险值定为10,而雷暴、低能见、低云、大雪、大雨、大风等导致航班备降的定为9,通过提取能见度、云量云高、风速、天气现象根据天气要素对应的值进行天气风险指标判定,具体风险指标如下:
天气风险根据气象要素大致可分为天气现象的风险、风速的风险、视程的风险以及云高造成的风险,机场的实况天气现象最多可同时报告3个,所以天气风险可分别根据3个不同的天气现象分别计算风险值,取最大的作为天气现象风险,风速、视程和云高的风险根据以上的思维导图分支进行定级,其中天气现象的风险计算公式如下:
IF(FIND("GR",WX_1_PH)>0,10,IF(REGEXP(WX_1_PH,"(.TS.)|(\\+RA.)")=1&&FIND("-",WX_1_PH)=0,9,IF(REGEXP(WX_1_PH,"(\\+SN.)|(.SS)")=1,8,IF(REGEXP(WX_1_PH,"(SN.)|(.FZRA)|(.DS)|(\\+SHRA.)")=1,7,IF(REGEXP(WX_1_PH,"(-.SN.)|(.PL.)|(SQ)|(.SG)")=1,6,0)))))
能见度的风险按如下公式进行计算:
IF(VISIBILITY<500,9,IF(VISIBILITY<800,8,IF(VISIBILITY<1600,5,0)))
云高的风险值按如下公式计算:
IF((CLD_1_CLOUD_AMOUNT="OVC"||CLD_1_CLOUD_AMOUNT="BKN")&&CLD_1_CEILING=1,9,IF(((CLD_1_CLOUD_AMOUNT="OVC"||CLD_1_CLOUD_AMOUNT="BKN")&&CLD_1_CEILING=2)||(CLD_1_CLOUD_AMOUNT="SCT"&&CLD_1_CEILING=1),8,IF((CLD_1_CLOUD_AMOUNT="SCT"&&CLD_1_CEILING=2||CLD_1_CLOUD_AMOUNT="FEW"&&CLD_1_CEILING=1),7,IF((CLD_1_CLOUD_AMOUNT="OVC"||CLD_1_CLOUD_AMOUNT="BKN")&&CLD_1_CEILING=3||CLD_1_CLOUD_AMOUNT="FEW"&&CLD_1_CEILING=3,5,0))))
风速的风险值按如下公式计算:
IF(WIND_SPEED>26,9,IF(WIND_SPEED>15&&WIND_SPEED<=26,8,IF(WIND_SPEED>10&&WIND_SPEED<=15,7,0)))
飞机风险主要从飞机的机龄、MEL(最低设备清单)、CDL(故障偏差清单)、机型对飞行健康状况的影响对飞机风险进行等级划分。飞机总风险值通过等级划分后的风险值进行累加。
机组的风险主要从机组的技术等级搭配、民航局AC-121-2009-17R1号文件公布的特殊机场、计划额外油量的多少、行政隶属、国籍搭配、疲劳度以及机场流量进行综合考量。机组总风险值通过综合考量后的风险值进行累加。
分别对气象,机组,飞机三个总风险因子进行计算。
根据上述的机组风险评估等级对气象风险因子(总)进行计算:
MAX(${天气1风险值},${天气2风险值},${天气3风险值})
根据上述的机组风险评估等级对飞机风险因子(总)进行计算:
SWITCH(${MEL数量}+${CDL数量},0,0,1,1,2,1,3,2,4,2,5,3,6,3)+SWITCH(${机龄},1,1,2,1,3,1,4,1,5,1,6,2,7,2,8,2,9,2,10,2,11,4,12,4,13,4,14,4,15,4)+IF(LEFT(${机型},4)="B737",2,1)
根据上述的机组风险评估等级对机组风险因子(总)进行计算:
IF(${是否有第二副驾}="有",-1,0)+SWITCH(CONCATENATE(${机长国籍},${第一副驾国籍}),"中籍中籍",1,"中籍外籍",2,"外籍中籍",2)+IF(${降落机场流量}<40.5,0,1)+SWITCH(CONCATENATE(${机长技术等级},${副驾技术等级}),"A2F1",0,"A2F2",0,"A1F1",0,"A1F2",0,"A2F3",1,"A1F3",1,"F1F1",1,"F1F2",1,"A2F4",1,"A1F4",1,"F1F3",1,"F2F1",1,"F2F2",1,"F1F4",2,"F2F3",2,"F3F1",2,"F3F2",2,"F4F1",2,"F2F4",2,"F3F3",2,"F4F2",2,"F3F4",2,"F4F3",2,"F4F4",2)+IF(${计划额外油量}<501,2,IF(AND(${计划额外油量}>501,${计划额外油量}<1001),1.5,1))+IF(${降落特殊机场}="是",(SWITCH(CONCATENATE(${机长近3月飞过该机场},${副驾近3月飞过该机场}),"是是",1,"是否",1,"否是",1,"否否",2)),0)+IF(${副驾30天内飞行小时数}<30.5,0,IF(AND(${副驾30天内飞行小时数}>30.5,${副驾30天内飞行小时数}<60.5),1,2))*0.3+IF(${机长30天内飞行小时数}<30.5,0,IF(AND(${机长30天内飞行小时数}>30.5,${机长30天内飞行小时数}<60.5),1,2))*0.7+IF(${行政隶属(机长上级副驾驶下级)}="是",0.5,0)
总的风险值先人工结合天气、机组、机场的风险对一定量的航班样本给出综合评估的风险值,再通过机器学习算法拟合出机组、机场及天气的风险权重系数以及偏差系数,得出一个经验公式,考虑风险值10的情况下为完全不可接受的状态,这种条件下总风险值直接赋值10,在没有任何一个风险因子达到10的情况下用拟合出来的经验公式进行风险值计算:
通过对400多个样本进行人工评估总风险值,通过机器学习拟合出经验公式如下:
总风险值=0.236200754193045*X1 +0.183455470771635*X2+ 0.828067157146773*X3 -0.348284726694697
注:X1为机组风险值,X2为飞机风险值,X3为天气风险值
从返回的系数来看,也可印证以上描述,影响运行风险的最主要的因素是运行环境因素,而运行环境因素中最重要的则是气象环境。
将实时获取的数据计算出机组风险、飞机风险以及天气风险,代入到拟合出来的经验公式,从而得出总的风险值。为衡量各风险值与总风险值的相关性,分别计算PEARSON相关系数。
其中,飞机风险值与总风险值的相关系数为0.06,机组风险值与总风险值的相关系数为0.41,气象风险值与总风险值的相关系数为0.69。PEARSON相关系数衡量的是线性相关关系,气象风险值与总风险值的相关性最强。
整体思路拆分成点、线、面:
图表选择:
仪表板介绍:
日期筛选:根据系统时间自动选择当日航班数据,也可追溯回任一时期历史航班数据
仪表盘:将各个航班的总风险值的平均值通过仪表盘实时展示,让一线运行人员对今日整体航班概况有一个面的了解。如果整体风险低于5,则今日航班运行相对安全,且这个值越低意味着今日整体的压力负荷越小。因为每天的运行情况瞬息万变,一线运行人员重点关注当日的航班总风险即可,且每日的运行人员均不一样,因此无需对总风险进行周,月,年的一个整体概览,仅需关注当日的航班。
KPI指标卡:将所有风险值大于5的航班通过KPI指标卡的方式让运行人员能够立马看到今日需要优化航班的工作量。
词云、堆积柱状图、点地图:因为每天的机组,飞机都可以比较动态的调整,然而天气却只能“等待”,因此,选择将词云及点地图以气象风险因子作为核心要素进行突出显示。颜色表明总风险值的高低,而让人更直观感受的图标及字体大小用气象风险因子进行排列。不想令页面更加杂乱,避免决策失误,因此仅选择10个机场用于界面展示。而堆积柱状图则将各个风险因子进行叠加,可以直观看出风险更高的机场的主要影响因素是什么,在气象要素不可变更的情况下,有助于运行人员决策通过调整飞机或者机组来缓解风险。
玫瑰图:以航班量作为半径,风险值作为颜色进行分类,主要给与运行人员对当日不同空管区域的整体运行情况有一个总览。因为航班受各种要素的影响若延误或者变更起降时间需要通过各地空管进行时间和时刻协调,因此,区域划分也极有必要。所属区域根据实际落地机场分属区域用以下函数进行划分:SWITCH(LEFT(${降落机场四字码},2),"ZS","华东","ZY","东北","ZB","华北","ZG","中南","ZH","中南","ZW","新疆","ZL","西北","ZU","西南","ZP","西南","ZJ","中南")。
航班明细表、流向地图:将今日的中高风险航班的计划降落时间,各风险因子及总风险值以明细表的方式列出来,并辅以流向地图给一个情境化的结合,让运行人员结合上述重点机场的情况,对航班进行“线”的针对性优化。将飞机和机组风险进一步明细,若可以通过机组或者飞机进行优化,则需要关注起飞机场是否有充足的资源,若无,则需要关注天气的进一步变化,合理调整航班时刻。
柱状图,矩形图:将总风险及气象风险的日时间分布通过柱状图和矩形图的形式展示给运行人员,同时将风险值最高及最低的标签列明。这样可以对当天的整体变化情况做一个概览,可以让运行人员精力得到一个更合理的安排。在风险高的时刻投入更多的精力来监控航班,以确保更安全的运行。同时,可以根据上述的航班明细表结合风险日时间分布,来决策当风险值无法接受时,是否需要通过延误航班,避开高风险时段来缓解风险。
柱状图,矩形图:通过对影响航班运行的主要天气(包括雷雨、低云、大雾、大风)进行逐月,逐时分组统计,从而分析不同机场在不同月份出现恶劣天气的概率,以及天气要素的日变化特征,以得出这些特殊天气的高发时段及月份,有助于运行人员合理安排航班时刻,提前决策航班运行。另外,上述的点地图,词云图及柱状图中的机场信息已经设置了单向联动,可以通过点击上面三个组件的机场得出下面特殊天气的日分布情况,有助于运行人员根据历史变化做出更有效的判断。
另外,上述的点地图,词云图及柱状图中的机场信息已经设置了单向联动,可以通过点击上面三个组件的机场得出下面风险值的日分布情况,有助于运行人员根据历史变化做出更有效的判断。
仪表板整体概况。
四、参赛总结
一开始对于数据的选取和分析的细粒度较小,细节更丰富,但意识到一个问题:究竟这些风险是伴随着结果的发生从而回溯后找到的根本原因,抑或是发生了结果后恰巧该风险事件也发生。经过对航空事故的研究及安全理论的进一步深挖学习,我们将颗粒度放大,将风险评估在阈值限定的基础上补充了专家评估的手段,并将专家评估的总风险值结果作为机器学习的输出目标,有效的避免了偶然事件对于整体风险结果的影响,提升了整体风险值的鲁棒性。
作为民航的一线运行人员,看到任何事故的发生最难受的除了家属外也许就是我们了。在立志于加入中国民航的那一刻起,我们就希望每天都能够起落安妥,将每个旅客平平安安的送到目的地。航线网络就像一张天网,希望在恢恢天网中,通过我们这种风险评估手段尽一切可能将风险提前识别,疏而不漏,让我们这张“大网”兜住最后的安全底线,最大程度的阻止任何航空事故的发生,保障人民生命和财产的绝对安全! |