KNN数据挖掘算法在霾等级预报中的应用
2019-05-24陈星灿徐冰
陈星灿 徐冰
摘要:在对2017年A地地区气象数据进行对比分析后发现影响A地地区霾等级的主要因素有以下七个:气温、气压、相对湿度、露点温度、地面U风、地面V风以及PM2.5浓度。上述的七项主要因素是影响A地区霾等级的属性特征,将霾的等级划分当作标志量,以此来构建样本集合,再用KNN数据挖掘算法来构建划分霾等级的预报分类器,从而进行试验。得到如下结论:当K=3时该分类器的预报效果最佳,准确度高达88.2%。基于该算法构建的KNN模型预报无霾时准确度很高,达91.8%,且对于雾霾的空报率也较低,但对霾等级的预报精确度还有待改善。
关键词:数据挖掘;KNN;霾;预报
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2019)09-0003-02
霾的定义简而言之就是在空氣中悬浮的微粒,这些微粒主要由烟、尘等物质形成,在区域空气中形成浑浊现象,空气中的能见度低于10千米。随着城市和工业的不断发展雾霾现象日益频繁,严重影响着人们的生产生活活动。因此,对霾等级的预报也尤为重要。根据相关研究数据可知,气候因素在很大程度上能够影响到霾的发生。从近年来对霾进行预报的方式来看,主要有两种预报方式:数值预报和模式输出统计预报。在运用数值预报方法进行计算时,方法通过对大气污染和大气气象要素的变化过程进行模拟。但此类方法受不确定因素较多,在日常业务化预报中有较大的局限。在查阅陈亦君、毛宇清、郑峰等人做的相关实验的基础上,得出以下结论:气溶胶的浓度严重影响着霾程度的大小。但是,目前同时采用数值天气预报模式和环境模式的两类输出结果的相关试验研究还较少。因此,在本次研究中,为了更好地对霾等级进行预测,将数值天气预报模式和环境模式这样两种方法结合在一起,从而能够保证霾预报模型能够实时对霾进行动态预报,并采用KNN数据挖掘算法对霾等级进行分类。
为了保证研究结果真实可靠,在本次研究中将A地作为研究的对象,将2017年A地13个区的资料作为研究数据,其中包括这个13个区的温度、气压、湿度、风以及能见度、PM2.5含量等气象要素,要买数据采取的数据频为3h/次。
随着科技的发展,数据挖掘算法也广泛应用于气象学中。本文在调研黄颖等实验的基础上决定使用KNN数据挖掘算法。KNN是一种非参数化监督算法,又叫作“K近邻算法"。在KNN数据挖掘算法下,对不同对象的分类处理主要根据对象间不同特征值的距离进行划分,一直在这种算法下,能够保持挖掘结果的精准度高、受异常数值的影响。
当前数值天气预报解释仍广泛采用建立回归预报方程的方法,但由于大气运动具有混沌性和非线性特征,因此采用回归方程的方法较为复杂。KNN算法的思路是:根据客观性、规律性,其结果也应具有相似性。数值天气预报解释使用到KNN算法时,直接以历史天气个例样本做训练集,并将天气学预报思路和数值预报结果进行融合,就可避开建立回归预报方程带来的弊端。
1 实验分析
1.1 KNN中属性变量选取
根据上面的分析,充分证明了能见度变化的复杂性。通过每个因素分别于可见度进行了相关性分析可知,对能见度影响最大的因素是风速和风向,因此KNN分类集中将风分解u、v两个分量。除了湿度和能见度以外,气温和气压也是能够代表气候情况的两个因素,特别是对空气活动和天气系统的检测发挥非常重要的作用,因此也被选入到训练属性集中。
1.2 K参数的选取
KNN算法的准确度很大程度上受K值的影响。一般来讲,K值的选取一般为大小适中的奇数。交叉验证(Crossvalidation)又称为循环估计法,它的操作过程是将样本整体分化为较小的子集,对每一个自己进行分别验证。通常采用先分析一个子集,再用其他子集进行验证。交叉验证通常用来评估统计分析、训练数据的数据集的泛化能力。本文的K值由交叉验证方式来确定。表2给出了K分别取3、5和7时的分类准确率。结果表明:当K=3、5或7时,交叉检验准确率均在80%以上,且K=3时的分类准确率明显高于K=5或7时的结果。因此,本文中的KNN模型的K值选为3。
1.3 KNN分类器的准确率分析
在表3中,详细地展示了运用KNN分类器对霾进行分类交叉检验后的结果。由表可知:
(1)当无霾时,预报准确率高达91.8%;轻微霾漏报率为6.9%,其他霾概等级漏报率均<1%。
(2)当轻微霾时,空报率为16.1%,预报正确率达67.4%,轻度霾漏报率为11.2%,中、重度霾漏报率均<5%。
(3)当轻度霾时,空报率为4.7%,预报正确率为59.8%。中、重度霾漏报率分别为10.4%和3.7%。
(4)当中度霾时,空率仅为1.4%,预报正确率为53.4%,实况情况还要略低。
(5)当重度霾时,空报率为2.6%,预报正确率为60.4%。
结合以上观点可以看出,KNN分类器的使用可靠性更高,在有霾情况下的空报率和漏报率很低,对雾霾登记的预报相对准确。虽然对于相邻霾等级的区分仍存在误差,但是误差在可接受范围内。因此所构建的KNN分类器具有较强的实用性。
2 基于KNN算法的实际业务预报系统
本研究使用Python编写KNN算法来搭建霾等级预报系统。图2所展示的是A地区的三个基本站在72小时内,每间隔三小时进行一次实况数据收集和霾预报。图2a表示在25个观测时次中,霾等级程度均各不相同,在最终预报出的19个时次中,对雾霾的有无进行预报准确率高达76%。而在B站点和C站点中,虽然能够预测出有无霾,准确率分别为64%和84%,但实在对买等级进行化划分时,精准度略有欠缺。
3 结论
本文研究了基于KNN算法的霾等级预报分级的方法,得到如下结论:
(1)温度、气压、相对湿度、温度、U风、V风以及PM2.5浓度等7变量构成了霾预报的KNN分类器的特征属性,并且选霾的等级为标志项。
(2)根据KNN分类器分别K=3、5或7的实验结果证明A地地区13个站点的交叉检验准确率分别:88.2%、85.8%、84.7%,K=3时的分类准确率较高。在對无霾天气进行预报时准确率保持在91.8%,虽然存在漏报的概念,但是概率数据相对降低。
(3)由于监测资料的有限,训练样本集只选取了2017年的分析数据,在一定程度上影响了预报准确率。而且, 目前是将BREMPS的结果直接运用到了KNN霾分类算法预报中,预报的准确度存在一定风险,为了进一步提升KNN霾分类算法的预报准确度,会在日后的研究中通过对PM 2.5浓度资料不断积累,达到一定程度后,可以运用在BREMPS的预报结果修正上。因此,未来对KNN霾分类算法KNN霾分类算法的准确率仍然有进一步提升的空间。
参考文献:
[1] 温荣坤.基于偏微积分分类数学模型的关联挖掘改进技术[J/OL].现代电子技术,2018(13):95-99.
[2] 潘燕.关联规则下的数据挖掘算法分析[J].信息记录材料,2018(07):212-213.
[3] 米保全.数据挖掘技术在高职院校教学管理中的应用[J/OL].软件导刊,2018(8):1-4.
[4] 严嘉维,张琛,李成蹊,等.基于Hadoop的可信计算平台日志分析模型[J/OL].软件导刊,2018.
[5] 孙金鑫.数据挖掘中的关联规则的研究[J].智能计算机与应用,2018,8(03):132-135.
[6] 熊亚军,徐敬,孙兆彬,等.基于数据挖掘算法和数值模拟技术的大气污染减排效果评估[J/OL].环境科学学报,2019,39(1):116-125.
[7] 李博.APRIORI数据挖掘算法在商务智能中的应用[J].电脑迷,2018(07):155-156.
[8] 查道贵,许彩芳,杨秋菊.基于数据挖掘的民间艺术资料管理系统设计[J].长春师范大学学报,2018(06):101-106.
[9] 关翠玲.数据挖掘技术在高校思想政治教育中的运用[J].微型电脑应用,2018,34(06):50-52.
【通联编辑:代影】