随机森林方法在机场温度预测中的应用
2021-10-07朱国栋孙建杰陈阳权王照刚
朱国栋 孙建杰 陈阳权 王照刚
(民航新疆空中交通管理局气象中心,乌鲁木齐 830016)
0 引言
随着近年民用航空产业的不断发展,航空公司、机场、空管等民航气象用户单位对机场预报的准确性和时效性要求不断提高。其中机场温度作为民用航空器配载的重要指标,准确的预报将会对飞机旅客、货物、油料的装载数量提供科学的参考,同时为确保航班起降安全提供帮助。
目前对地面温度的预测主要依托数值预报产品,但是模式直接输出的温度预测产品与实况存在一定的偏差,为了解决模式直接输出产品的误差,通过对不同数值模式产品的检验和误差订正,并应用机器学习方法开展模式解释应用,较好地改善了温度预测的效果。同时参考不同的机器学习方法的特性和在气象领域的预测效果,本文选取能够较好地处理非线性问题的随机森林方法,结合欧洲中心细网格数值预报产品,实现对乌鲁木齐地窝堡国际机场的逐小时地面2 m温度的预测,为民航运行单位提供科学、可靠的温度预报产品,进而更好地为民航安全、效益服务。
1 随机森林方法
随机森林是基于决策树的集成学习算法,决策树是一种广泛应用的树状分类器,在树的所有节点上,通过选择最优的特征不断进行分类,直到达到建树的停止条件。决策树是无参数有监督的机器学习方法,不需要先验知识,相比神经网络等方法更容易解释,但是单个决策树对问题预测性能有限,为了改善单个分类器的预测性能,将单个分类器聚集起来,通过对每个基本分类器的分类结果进行组合,也就是形成多个决策树组成的随机森林,提升模型的预测精度和泛化能力,避免出现过拟合现象。
2 数据预处理
在机器学习方法中,虽然算法的选型很重要,但是良好的数据才是算法的基本。然而在实际的应用中,产生的气象数据并不一定符合算法的要求,总会由于一些客观因素影响数据的收集,例如观测设备故障、数值模式传输错误等。
本文整理乌鲁木齐地窝堡国际机场(以下简称机场)逐小时地面观测资料,将机场温度作为预测对象,筛选气温对应时刻的前24 h地面风、气温等要素。同时,利用2015—2017年逐日20时起报的欧洲中心细网格数值预报产品,包括2T、2D、高空温度、湿度、高度场、UV风场等要素,预报有效时间12~36 h的预测产品,由于不同的预测要素产品网格距离不同,本文采用查找距离机场最近网格点上的数据,与机场温度构建训练样本序列。通过对收集到的数据进行数据筛查、清洗等预处理,剔除数值预报产品中的缺测记录后,共得到22056条样本记录。
由于不同的物理量组成的因子存在着量级差异,在进行模型训练和参数寻优前,需要归一化处理所有的因子,将其限定在0~1,具体处理方法如式(1)所示:
为了评估不同算法模型的预测能力,同时避免模型出现过拟合,本文利用开源工具包scikit-learn对归一化后的样本进行随机切分,确保检验样本的独立性,将样本数据中随机抽取33%作为检验样本,67%作为训练样本,进行模型训练和参数寻优。
3 温度预测模型构建
3.1 模型构建
利用Python的开源机器学习库scikit-learn构建预测模型,为了评估不同的方法和模型参数下的温度预测效果,本文选取决策树回归方法和随机森林回归方法进行建模,并通过设置不同决策树数量来评估随机森林方法的预测能力,具体模型实现代码如下:
1)决策树方法
from sklearn.tree import DecisionTreeRegressor
model=DecisionTreeRegressor()
model.fit(trainX,trainY)
2)随机森林方法
from sklearn.ensemble import RandomForestRegressor
model=RandomForestRegressor(n_estimators=200)
model.fit(trainX,trainY)
3.2 模型寻优
通过分析预测模型可以发现,决策树回归方法对测试样本的机场温度预报平均绝对误差为1.01 ℃,而采用5个决策树的随机森林方法较好地改善了平均绝对误差,达到0.82 ℃,随着增加决策树数量,模型对测试样本预测结果的平均绝对误差逐渐减小,当决策树数量达到200个以上后,模型预测误差逐渐趋于稳定,达到0.70左右。由此可见随机森林用于温度回归预测效果明显好于单个决策树,同时随着决策树数量的增加,对测试样本的平均绝对误差逐渐减小。具体模型预测结果如表1所示。
表1 不同模型及参数构建的预测模型效果评价Table 1 Evaluation of prediction models for different models and parameters
3.3 温度回归预测
利用模型寻优得到的预测模型,对样本中随机抽取的7279条测试样本进行预测,其中预测结果平均绝对误差≤1 ℃的占样本总数78%,平均绝对误差≤2 ℃的占样本总数94%,模型预测结果的平均绝对误差能够控制在2 ℃以内,对于温度业务预报有较好的指导作用。为了充分评估模型预测能力,本文将预测对象机场温度按照10 ℃为一个量级(表2),划分出8个量级。乌鲁木齐机场温度主要分布在-10~30 ℃,模型的平均绝对误差主要在1.2 ℃左右,其中-10~0 ℃平均绝对误差最小,为0.939 ℃。而-30~-20 ℃考虑到样本数量占比较少,仅为31个,此范围内的预测误差不单独进行统计。
表2 不同区间段内的温度预测误差分析Table 2 Analysis of temperature prediction error in different interval segments
通过对四个季节的样本建立独立的随机森林预测模型,分析模型对训练样本的预测误差可以看到,春季气温预测模型的平均绝对误差为0.956 ℃,夏季气温预测模型的平均绝对误差为1.100 ℃,秋季气温预测模型的平均绝对误差为0.935 ℃,冬季气温预测模型的平均绝对误差为1.067 ℃。对比全年样本数据构建的预测模型,按季节构建的预测模型,在不同温度量级下的春季预测效果更优,具体见表3。
表3 不同季节的温度预测误差分析Table 3 Analysis of temperature prediction error in different season
4 数值预报对乌鲁木齐机场温度预测误差分析
利用欧洲中心细网格数值预报输出72 h 的0.125°×0.125°2 m气温产品资料,结合乌鲁木齐机场本地特点,采用最近经纬网格点的数据做为乌鲁木齐机场的气温预报结果,通过对不同预报有效时间下的预报数据进行筛选,每个预报有效时间大约获得3100个样本,平均绝对误差为2.151 ℃,误差最小的为预报有效时间21 h,为1.932 ℃,误差最大的为预报有效时间72 h,为2.357 ℃,通过分析不同温度区间内的平均绝对误差可以看到,其中0~10 ℃平均绝对误差为1.839 ℃。具体见表4。
表4 数值预报温度预测的平均绝对误差分析Table 4 Analysis of the numerical forecast temperature prediction error
结合乌鲁木齐机场季节划分以及模式不同预报有效时间下的预测效果,选取预报有效时间为24 h的结果进行分析,春季气温预测的平均绝对误差为2.043 ℃,夏季气温预测的平均绝对误差为1.982 ℃,秋季气温预测的平均绝对误差为2.238 ℃,冬季气温预测的平均绝对误差为2.288 ℃。对比全年预测误差结果可以看到,夏季预测效果更优,具体见表5。
表5 数值预报温度预测(24 h)在不同季节的平均绝对误差分析Table 5 Analysis of the numerical forecast temperature prediction error in different season
通过对比分析可以看到,欧洲中心细网格数值预报直接输出的温度预测结果较为稳定,平均绝对误差在2 ℃左右,利用随机森林方法的温度回归预测结果,平均绝对误差在1 ℃左右,对模式直接输出的温度结果有了较大的提升,其预测效果明显优于模式直接输出的结果。