基于LightGBM的气象目标分类技术
2023-12-18欧阳彤朱岱寅
欧阳彤,汪 玲,朱岱寅,李 勇
(南京航空航天大学雷达成像与微波光子技术教育部重点实验室,江苏南京 211106)
0 引 言
天气雷达是气象目标分类的基础,它通过回波信息对气象目标进行识别判断,对大气中雨、雪、冰雹等天气现象的检测具有极其重要的作用[1]。常规多普勒气象雷达依靠发射单一极化方向电磁波,通过回波只能获取反射率因子、速度谱宽等单一极化方向参量,而仅靠单一极化方向的参量很难具体了解气象目标在几何大小、形态、空间取向等方面信息,因而经常对气象目标造成误判。为得到更多气象目标信息,双极化雷达由此诞生,双偏振气象雷达是常规多普勒气象雷达的进一步发展,采用同时或交替发射水平和垂直方向的电磁波,可额外获取两种不同偏振方向电磁波之间的差分反射率、相关系数、差分相移率等差异极化参量。这些极化参数使得双偏振气象雷达具有对气象目标相态、类型、几何形态等信息敏捷感应的能力,双偏振气象雷达的出现大大促进了气象雷达在气象目标识别上的发展[2-5]。
1996年,Straka等人最先将模糊逻辑算法应用于气象目标分类领域,构建了可有效对降水粒子分类的模糊逻辑降水粒子分类算法[6],但是模糊逻辑算法的隶属函数需要依赖于专家经验。虽然经过研究者们多年改进[7-10],但隶属函数参数设置依然需要依赖于专家经验,从而使得该算法具有很强的局限性和较高的目标误判率。
为解决传统模糊逻辑降水粒子分类算法的局限性,大量基于机器学习的气象目标分类方法被陆续提出。2017 年ROBERTO 等人将支持向量机应用至水凝物分类领域,此模型能有效地完成气象目标识别过程,但是识别精度等方面有待进一步提升[11]。2020 年MA 等人采用贝叶斯算法改进了X 波段天气雷达对融化层观测能力,能有效区分小雨和干雪粒子,但仅提升了干雪和小雨之间的区分,其他类别的识别并未纳入研究[12]。2021年Shin 等人提出利用随机森林模型来估计降雨量,有效地完成降雨量估计,但是仅仅预测了降雨量[13]。2022 年李海团队提出一种将决策树支持向量机与贝叶斯网络协同训练的气象目标分类方法,将两个分类器协同训练,从而得到比单个分类器可信度更高的识别结果,但是在精度方面依然有较大的提升空间[14]。2022 年,李海团队又提出一种基于增量贝叶斯的气象目标分类算法,此算法有效利用增量学习完成动态调节朴素贝叶斯分类器,得到在各种干扰下,性能依然优越的朴素贝叶斯分类器[15],但是精度方面有待加强。2022 年张舒娜等人提出使用极端梯度提升算法,有效地从雷达回波信息中提取地杂波,实现了对天气信号和杂波信号的二分类。然而,此算法的气象目标识别效率较低,对大型复杂的气象信息数据处理能力存在不足[16]。
上述机器学习类算法基本以离散属性数据为训练集,能得到细粒度的识别结果,但是在识别准确性能上还有待加强。为进一步提高识别准确度,一些研究者开始将深度学习应用于气象目标识别领域。2019年Lu 等人建立了5种卷积神经网络的四分类气象目标检测模型,并选取其中效果最佳的残差卷积神经网络完成对4 种气象目标粒子有效识别[17]。2021 年喻庆豪等人提出利用基础卷积神经网络完成对机载气象雷达气象目标的检测[18]。2022 年高涌荇等人提出一种基于残差卷积神经网络的双极化气象雷达天气信号检测算法,有效区分天气信号与杂波信号[19]。但是这种基于深度学习的气象目标分类,需要将雷达参数类比于图像通道,输入数据以块状矩阵为样本,识别结果是块状的,块内其他类别被忽视,无法得到细粒度分类结果,在各种类分界线上会出现与实际天气分布不符的识别结果。
为能细粒度并且高精度地识别气象目标,本文聚焦传统机器学习类气象目标分类研究,提出一种基于LightGBM 算法的气象目标分类模型[20]。该模型是基于离散属性实现分类的分类模型,能高效并且细致到点对点地完成对气象目标准确识别,减少误判。该模型首先将双极化气象雷达极化参量数据与分类标签数据处理转换为离散化向量数据。然后构建一种基于离散属性的LightGBM分类器,实现对气象目标点对点的分类。其中构建LightGBM 模型主要包括数据集制作,模型初步构建,参数调优,最佳模型训练4个部分。
1 数据集制作
文中模型数据均取自美国国家海洋和大气管理局(National Oceanic and Atmospheric Administration,NOAA)提供的雷达气象数据记录。选取KVNX 双极化气象雷达2021 年全年观测数据,从中提取雷达仰角为0.5°的各极化参数及分类结果数据:N0Q、N0X、N0C、N0K、N0H 文件。这些数据文件分别对应反射率因子、差分反射率、相关系数、差分相移率、NOAA 分类标签,记为Zh、Zdr、Kdp、ρhv、C1s。其中Zh为360 × 460 的二维矩阵,其余数据均为360 × 1 200 的二维矩阵,所以需要对Zh作数据订正,使得Zh在矩阵大小与方位上与其他数据对应,保证数据准确性。
传统机器学习类气象目标识别方法大部分以离散属性为基础,识别数据是点对点识别,可得到细粒度的识别结果,与实际气象目标分布相符。LightGBM 识别也具有离散特性,使用离散数据表示参数与标签之间关系,由此需要将极化参数与分类标签作离散化处理,将极化参数与分类标签数据一一取出生成(xij,Ci)的向量数据,其中j取(0,1,2,3),xij表示对应原数据位置i上的4 个极化参数,Ci表示对应位置i上的分类标签。
极化参数中存在无效值,本文选择使用对应类别的各极化参数均值进行填充,滤除无效值对识别分类的影响。
为保障模型有效训练,需要保持各类别样本均衡,等量选取杂波、冰雹、中小雨、湿雪4 种气象目标向量数据,选取的4种气象目标数据样本数量为100 000,再将选取的数据样本进行合并。
此外,极化参数数值分布存在差异,直接用于模型训练将使得某个参数在训练过程中增大或减少对分类的作用,故需要对极化参数再做一个归一化处理,如式(1)所示,将极化参数数值分布转换为0~1 之间分布。式中,x表示原极化参数,xmin表示对应极化参数最小值,xmax为对应极化参数最大值,y为归一化处理后输出数据。将处理好的数据集随机切割为以8∶1∶1 为比例的训练集、验证集、测试集,由此数据集制作完成。
2 LightGBM模型与参数优化
2.1 LightGBM 模型
由决策树与梯度提升结合而来的梯度提升决策树(Gradient Boosting Decision Tree,GBDT)是一种极易可视化,同时具有强大泛化能力的集成类算法,但是在处理大型数据或高维特征时,效率低,扩展性也不佳[21]。为提高GBDT对复杂数据的处理效率,微软于2017 年提出了LightGBM 算法。LightGBM 由传统的GBDT 发展而来,是GBDT 的一个进化版本,主要加入了基于Leaf-wise 算法的生长策略构建树,基于梯度的单面采样算法(Gradient-based One-Side Sampling,GOSS)和特征捆绑算法(Exclusive Feature Bunding,EFB)等优化算法。通过基于Leaf-wise 算法的生长策略构建树,可避免多余的计算量,减少误差。GOSS 算法先根据数据梯度绝对值将数据排序,按一定比例保留对信息增益影响更多的大梯度样本,再对剩余小梯度样本随机抽样。实现保留原数据分布的条件下,降低数据量,在保证信息增益评估精度的同时,有效增强模型分类速度。EFB通过互斥特征的捆绑,合并生成新的特征,降低数据特征维度,提高模型运算效率。
1)初始化极化参数xij在第k类的预测状态,气象目标分类标签为k=1,2,…,K。
2)迭代计算,迭代次数m=1,2,…,M。
①计算极化参数xij在各类别上的概率。
②计算极化参数xij的负梯度y͂i,k,极化参数xij的真实概率为yi,k。
③获取叶子节点分裂后叶子节点值γh,k,m,叶子节点上的样本集合是Rh,k,m,叶子节点数h=1,2,…,H。
④ 模型优化刷新,学习率设置为η。
3)获取最终模型
2.2 参数优化
LightGBM 分类算法具有许多超参数,超参数的设置会对模型分类效果造成很大影响,因此,必须对LightGBM 参数进行选择优化,得到使得算法分类效果最佳时的超参数组合,将其作为模型训练的参数。常见的参数调优方法有网格搜索、随机搜索以及贝叶斯优化。本文参数优化方式为基于Hyperopt 的贝叶斯优化[22],其核心思想为根据资料搭建初始模型,即使未知算法的内部数学逻辑关系,也可以根据给定的优化目标,先拟定参数组合的搜索范围,算法自动在给定范围内随机获取初始候选解集合,以寻求更佳目标函数为目的,当下一个点目标函数更优时,将此超参数组合加入搜索集合中,并在更新点参数周围寻找更优点,如没有则寻找下一个较远范围。一直重复该过程,直到迭代结束。最后,在搜索集合中得到目标函数最佳时的模型参数组合,作为优化问题的解。贝叶斯优化算法主要包括两个过程:1)先验函数,先验函数经过高斯过程回归,对目标函数建模,进而获取其后验分布;2)采集函数,采集函数一般选取POI(Probability of Improvement),其公式如公式(8)所示,其内核为通过后验模型估计未知点目标函数值大于现有最大值的概率,选择概率最大的点x为下一个搜索点。利用采集函数可以保证优化过程中高效采样,由此避免在局部最优解上不断采样的情况。
式中:x表示下一个搜索点;f(x)为x的目标函数值为现有目标函数最佳值;θ≥0,为用于探索未知的点或者利用已知点探索其附近最大值的平衡函数;P(·) 为概率;Φ(·)表示标准正态分布累计密度函数;μ(x)表示目标函数在高斯过程中的均值;σ(x)表示目标函数在高斯过程中的标准差。
3 模型训练流程
结合前文,基于LightGBM 的气象目标分类算法流程如图1所示。
图1 LightGBM的气象目标分类算法流程图
第1步:从NOAA 官网获取KVNX 气象雷达数据集;
第2步:选择提取所需要的N0Q、N0X、N0C、N0K、N0H 文件,读取文件,获取Zh、Zdr、Kdp、ρhv、C1s 5 类数据。先进行数据预处理,再制作成离散化模型输入数据集
第3步:搭建初始LightGBM 模型,将数据集D输入初始模型,得到初始模型分类效果;
第4步:利用贝叶斯调参算法对模型超参数进行搜索,获取最优超参数组合;
第5步:根据调优获得的最佳超参数模型,将数据集D输入最优LightGBM 模型,训练得到最优模型。
通过上述步骤1~3 即可得到对LightGBM 气象目标分类模型的初始模型构建,经过参数调优后,训练获取最优模型。其中,参数调优后得到的最佳参数模型相对于初始模型具有更佳的识别准确率,如表1所示。
表1 调参前后模型准确率
以验证集负值准确率为参数搜索目标函数,将制作好的数据集输入模型,开始搜索超参最优组合,调优搜索过程如图2 所示,随着迭代次数增加,Hyperopt优化参数算法根据上一次的结果来确定下一次带入参数,经过多次迭代,得到最优超参数设置,超参数调参后得到的最优模型超参数设置如表2所示。
表2 调参后最优超参数组合
图2 超参搜索过程中测试集准确率负值
4 模型训练性能验证
4.1 LightGBM 模型训练结果分析
最佳参数模型训练过程准确率曲线如图3 所示,损失函数曲线如图4 所示。由图3 可见,随着训练次数增加,训练集与验证集准确率迅速提升收敛,训练集准确率最终稳定于0.950 3,验证集准确率稳定于0.948 6。由图4 可见随着训练次数增加,训练集、验证集损失函数不断优化降低,训练集损失函数最终稳定于0.128 9,验证集最终稳定于0.135 3。图5为测试集在LightGBM 最优模型上的测试混淆矩阵,由测试集的表现可知,LightGBM模型对各个粒子的平均识别精度可达95%,尤其是对杂波信号检测性能极高,减少了对气象粒子识别的干扰,同时,对冰雹、中小雨、湿雪的识别精度也都能满足93%以上,整体识别性能优越。
图3 LightGBM模型准确率训练过程曲线
图4 LightGBM模型损失函数训练过程曲线
图5 LightGBM模型测试集混淆矩阵
4.2 LightGBM 与xgboost训练结果对比
为充分评测LightGBM 算法对气象目标的分类预测性能,本文使用同样的数据集D,搭建同属集成类的xgboost 分类模型[23],在相同的训练次数的情况下,对比二者在气象目标识别分类上的优劣。xgboost算法训练过程准确率曲线如图6所示,损失函数曲线如图7 所示。由图6 可见,随着训练次数增加,训练集与验证集准确率迅速提升收敛,训练集准确率最终稳定于0.948 7,验证集准确率稳定于0.947 5。由图7 可见,随着训练次数增加,训练集、验证集损失函数不断优化降低,训练集损失函数最终稳定于0.139 9,验证集最终稳定于0.143 3。对比图3、图4 和图6、图7 可见,LightGBM 稳定所需训练次数远小于xgboost。LightGBM 与xgboost两者以准确率、损失函数以及模型训练时间、模型平稳训练次数作为两算法性能对比的评价指标,结果如表3 所示。由表3 可见,无论是在训练集、验证集上,LightGBM 的性能都略优于xgboost,从模型训练时间和模型平稳训练次数来看,LightGBM模型效率明显比xgboost 更加高效,训练处理时间更快,大大提高识别速率。综上,LightGBM 模型能在识别精度达到甚至高于xgboost 模型的同时,识别效率大大提升,这表现了LightGBM 对大数据集的强大处理能力,与模型理论效果相符。
表3 LightGBM 与xgboost识别性能比较表
图6 xgboost模型准确率训练过程曲线
图7 xgboost模型损失函数训练过程曲线
4.3 实测数据分析验证
为验证模型对雷达实际观测数据的预测能力,本文选取非训练数据集数据:NOAA 网站上KTLX双极化天气雷达2021年1月1日6时19分的雷达0.5°仰角观测回波数据进行测试。制作仅含反射率因子、差分反射率因子、相关系数、差分相移率无标签向量数据集,图8为已校准的反射率因子、差分反射率因子、相关系数、差分相移率原始数据图像。
图8 KTLX雷达4个极化参量图
利用训练好的LightGBM 和xgboost 模型识别,得到数据标签,处理得到如图9、图10、图11 所示分类结果图。图9 为NOAA 参考气象目标分类结果,图10 为LightGBM 分类结果,图11 为xgboost 分类结果。由图9~11 可知,整体上两个分类模型都能比较有效地完成气象目标分类,效果相当,这也与表3 表现结果相符。图10、图11 中标注紫色圆圈可以看出,集成类算法主要将一部分块状中小雨误识别为冰雹。此外,在冰雹与中小雨交界线处,也存在一定的中小雨被识别为冰雹,这应该主要由于气象分布具有连续性,导致中小雨、冰雹分界线处雷达参量数据相近,从而使得中小雨、冰雹两种粒子发生误判。此外,从图10、图11中黑色矩形标注内容可以看出,还存在一些离散的湿雪也被识别为冰雹,这与测试集混淆矩阵表现效果一样,误判主要存在于中小雨、冰雹、湿雪3种气象目标之间。
图9 NOAA参考分类
图10 LightGBM分类结果
图11 xgboost分类结果
再选取非数据集信息KTLX双极化天气雷达5月27 日23 时50 分的雷达0.5°仰角观测回波数据继续进行测试,测试结果如图12、图13 所示,图12为NOAA 参考气象目标分类结果,图13 为Light-GBM 分类结果。对比图12、图13,如图13 中标注紫色椭圆所示,LightGBM 模型存在将少量块状的中小雨误判为冰雹,如图13 中黑色框圈中部分所示,此时刻同样存在少量离散分布的湿雪被识别为冰雹,这也与图5测试集所示混淆矩阵表现结果相符。
图12 NOAA参考分类
图13 LightGBM分类结果
结合两次不同时刻非训练数据集雷达实际观测信息对LightGBM 模型的测试可知,虽然存在少量误判,但本模型对非训练数据集雷达数据整体上也能十分有效地识别出杂波、冰雹、中小雨、湿雪等气象目标,表现出该模型强大通用性、鲁棒性。通过与xgboost 相比较,表现也与表3 结论相符,LightGBM 模型能更高效率地识别出气象目标的同时甚至略高于xgboost模型的识别效果。
5 结束语
本文针对传统气象目标分类算法对人为设置模糊函数的依赖性,提出一种基于LightGBM 的气象目标分类技术。将KVNX 气象雷达获取的4 个极化参量作为气象目标的特征参数与参考分类标签,制作离散化向量数据集,再进行预处理,去除无效值对模型训练影响,构建一种基于LightGBM算法的气象目标四分类模型,能细致有效地识别3种气象目标(中小雨、冰雹和湿雪)及杂波。选取xgboost 分类模型作为参照,实验结果表明,相对于xgboost 分类模型,本文分类模型能在高识别精度的同时具有极高的识别速率,对大数据处理更加高效。选取KTLX 雷达两个不同时刻的实际观测数据对本文所建分类模型进行验证,结果表明该模型能有效识别4 种气象目标,识别效果与NOAA参考结果大体相符,表现良好的通用性、鲁棒性,但是,依然存在少量的块状中小雨区域被误判为冰雹、少量离散分布的湿雪被识别为冰雹的情况。