APP下载

基于随机森林和神经网络的空气质量预测研究

2018-09-10林开春邵峰晶

关键词:特征选择随机森林神经网络

林开春 邵峰晶

摘要: 为更好的监测空气质量和重点污染源的浓度,本文基于随机森林和神经网络优化,建立了预测空气质量指数的模型。通过随机森林算法进行特征选择,选取最优特征子集,用获取的最优特征子集训练神经网络模型,进行空气质量指数预测,最后利用2017年气象和污染物浓度数据验证模型。验证结果表明,预测结果与实际值的相关系数达到082,空气质量等级预报的准确率提高到8056%。与其他模型的预测效果比较结果表明,该模型可发现与青岛市空气质量密切相关的特征因子,并有较高的空气质量预测精度。该研究具有一定的实际应用价值。

关键词: 随机森林; 神经网络; 空气质量预测; 特征选择

中图分类号: TP18; X831文献标识码: A

随着社会经济的发展,大气污染问题日益严重,青岛市去年多次发生雾霾天气,给人们的生活与健康造成了极坏的影响,因而研究空气质量的预测方法,对大气污染进行预测与防治意义重大。近年来,随着大数据的兴起及空气质量和重点污染源实时在线监测系统的建立,监测数据日益完善,为使用数据挖掘方法建立空气质量预测模型提供了基础。人工神经网络模型是一种不同于回归模型的非线性智能统计模型,目前已将该类模型用于社会各领域的相关研究中。M.Boznark等人[1]通过建立多层感知器将人工神经网络引入城市空气质量预测模型中;李柞泳等人[2]首次使用BP神经网络模型预测城市污染物SO2浓度;白晓平等人[35]研究了人工神经网络模型比传统回归模型性能更好,但是传统的人工神经网络模型存在收敛速度慢、容易陷入局部最小值、网络泛化能力弱等缺点;王俭等人[6]通过将遗传算法与BP神经网络相结合,建立了SO2浓度预测模型,优化了收敛速度过慢的问题;LU W Z等人[7]使用主成分分析法和人工神经网络算法相结合,提升了网络的泛化能力和预报的准确率。由于空气质量数据中污染物因子和气象因子等维度的复杂多样性,会对空气质量预测模型的性能产生巨大的影响[8]。基于此,本文通过将随机森林与神经网络相结合的方法,建立了青岛市空气质量指数(air quality index,AQI)预测模型,解决了空气质量预测过程中因数据特征空间维度过大而产生的维度灾难问题以及不相关因子对模型预测精度的干扰问题,提升了空气质量预测模型的预测精度,为环境监测与治理提供实时准确的空气质量信息。

1基于RF_ANN的AQI预测方法

1.1基于RF_ANN的AQI预测模型

将随机森林算法与人工神经网络模型相结合,降低了输入因子的维度,减少了不相关维度对结果的干扰,实现对青岛市空气质量预测模型的优化。

空气质量指数是定量描述空气质量状况的指数,基于随机森林和神经网络优化的空气质量指数预测模型(RF_ANN)的具体操作流程如图1所示。首先通过随机森林算法对气象因子和污染物因子进行重要性度量,选取最优特征子集,随后用人工神经网络进行AQI指数的预测。

1.2随机森林算法选取最优特征子集

随机森林是一种集成机器学习算法,具有分析复杂相互作用特征变量重要性的能力,对存在噪声和缺失值的数据具有很好的鲁棒性[9],且学习速度较快,可作为高维数据的特征选择工具[1013]。

定义1袋外数据(outofbag,OOB):采用bootstrap方法[14]从数据集中随机抽取K个自助样本集,建立K个决策树,未被抽到的样本组成K个袋外数据。

定义2袋外数据误差errOOB:输入O个袋外数据,分类器会给出O个相应的分类结果。设随机森林分类器分类错误的数目为X,袋外数据误差=X/O。

定义3基于袋外数据分类准确率的变量重要性度量(mean decrease accuracy,MDA):假设随机森林中有Ntree棵树,袋外数据误差记为errOOB1,把一个变量的取值变为随机数,改变后的随机森林预测准确性为errOOB2,那么对于特征X的重要性度量为

MDA=∑(errOOB2-errOOB1)/Ntree

将某个特征的值加入随机噪声数据,袋外准确率降低越多,说明这个特征越重要。

随机森林算法筛选输入因子的步骤:

1)利用bootstrap采样方法,在原始训练数据集中随机生成K个样本集,在m个特征中选择一个最具分类能力的特征进行节点分裂,生成多个决策树[15]。

2)将生成的决策树组成随机森林,使用树分类器投票的方法对新数据进行分类。

3)基于袋外数据分类准确率的变量重要性度量,计算每个特征变量的重要性,并按降序排序。

4)确定删除比例,从当前特征变量中删除相应比例中不重要的指标,从而得到一个新的特征集。

5)用新的特征集建立新的随机森林,计算特征集中每个特征的重要性,并排序。

6)重复步骤2)~4),直到剩下m个特征。

7)根据得到的每个特征集和随机森林,计算对应的袋外误差errOOB,将袋外误差最低的特征集作為最后选定的特征集。

1.3人工神经网络预测模型

人工神经网络(artificial neural networks,ANN)是从输入空间到输出空间的一个非线性映射[16]。BP神经网络是近年应用较多的一种前馈神经网络,结构简洁,稳定性好,BP神经网络结构示意图如图2所示。BP学习算法主要通过训练输入和输出样本集使网络达到给定的映射函数关系[17],网络中含有R个神经元节点,隐含层神经元通常采用sigmoid激活函数。a1i为隐含层节点i的输出,a2k为输出层节点k的输出,节点之间存在权值w。BP神经网络模型的预测过程如下:

1)输入样本正向传播。将选取的最优特征子集对应的数据作为输入数据输入模型进行传播。

2)输出误差逆向传播。用通过模型正向传播得到的实际输出值与真实值进行对比,通过误差逆向传播对网络模型进行校正。

3)循环训练。对BP神经网络模型的输入样本进行反复循环训练,使模型输出误差尽可能小。

4)模型验证。检查输出误差是否已经满足结束学习的要求。如果符合,就结束整个学习过程,否则继续循环训练。

5)预测结果。输入测试集数据,对目标结果进行预测。

2建模过程与方法

2.1数据选择

选择青岛市2013—2017年的6个气象因子监测值,其中包括日均气温、日均风速、日均气压、日均可见度、日均相对湿度、日均总降雨量或融雪,同时选择同期PM25,PM10,NO2,SO2,CO,O3浓度的日均值。使用2013—2016年4年的气象和污染物浓度数据作为训练空气质量预测模型的训练集,将2017年的气象和污染物浓度数据作为验证模型的测试集。空气质量预测模型的输入特征为预测日当天的气象因子值和前一天的污染物浓度,把预测日当天空气质量指数作为模型的输出值。

2.2建模方法

利用随机森林算法进行特征选择,输入数据为预测日前一天的污染物浓度值和当天的气象因子值,采用R语言中的randomForest程序包,设置100棵决策树,即函数参数Ntree=100,importance=true用基于袋外数据分类准确率的变量重要性度量对特征的重要性进行排序,依次去掉重要性最小的特征,将选取的特征子集作为神经网络预测模型的输入。以预测值和真实值的平均绝对误差作为评价标准和特征选择的依据,重复迭代,最终选取平均绝对误差最低的特征子集作为模型的最优特征子集。

将选出的最优特征子集中的特征去脏[18]并消除具有共线性的特征[19],作为BP神经网络预测模型的输入,输入数据为预测日前一天的污染物浓度值和当天的气象因子值,神经网络参数:设置隐层单元个数为10,即参数size=10;权重调整速度为001,即参数decay=001,最大迭代次数为1 000次,即参数maxit=1 000,以2013—2016年的数据用Nnet函数训练预测模型,并预测2017年1月2日~10月1日的AQI和空气质量等级。

3预测及结果分析

3.1AQI指数预测

随机森林对因子变量重要性的排序情况如图3所示。通过序列向后搜索的方法,根据特征集合中特征的重要性进行排序,依次去掉重要性最小的特征,将选出的特征子集输入BP神经网络预测模型。各个特征子集输出的真实值与预测值的平均绝对误差如图4所示。由图4可以看出,将不重要的特征依次删除之后,预测值与真实值的平均绝对误差先逐步降低,当达到最低值后又开始逐步升高。这是因为开始时,随着冗余特征的删除,模型分类性能提升,随后将重要性高的特征删除后,降低了分类器的性能,这说明本算法可以有效地识别和删除冗余特征,达到特征选择的目的。采用RF_ANN模型消除的冗余特征为PM10、O3浓度、SO2浓度、日均气温和日均气压;筛选出的最优特征子集为日均风速、NO2浓度、日均总降雨量和/或融雪、PM25、日均相对湿度、日均可见度及CO浓度。

筛选出模型输入因子的同时,用2013—2016年的青岛市空气质量与气象数据为AQI指数建立了预测模型,使用该模型对青岛市2017年的AQI指数进行预测,预测值与实测值的相关系数为082,AQI预测值与实测值相关性分析如图5所示。青岛市2017年前100 d部分空气质量指数的预测值与实测值进行对比,AQI预测值与实测值比较如图6所示,AQI的平均绝对误差为1273。

3.2与一般神经网络预测模型对比

空气质量指数范围为0~500,分为6级,分别是:1级优、2级良、3级轻度污染、4级中度污染、5级重度污染、6级严重污染[20]。选用准确率、空报率和漏报率3个指标与传统BP神经网络模型进行比较,3个指标定义如下:

A=D/C×100%

B=H/C×100%

D=L/C×100%

式中,A为准确率;D为预报结果正确的天数;C为总天数;B為空报率;H为预报结果偏高的天数;D为漏报率;L为预报结果偏低的天数。

4结束语

本文基于随机森林算法与人工神经网络算法,提出了一种空气质量预测模型。通过随机森林算法对气象因子和空气质量污染物因子等多个特征进行特征选择,并对神经网络预测模型进行训练。测试结果表明,该模型能发现与空气质量密切相关的特征因子,具有较准确的空气质量预测效果。该研究为通过大数据解决大气环境问题提供了新的思路和方法。而探索其他与空气质量密切相关的特征因子及提高更高维度特征数据集预测的稳定性是下一步的研究内容。

参考文献:

[1]Boznar M, Lesjak M, Mlakar P. A Neural NetworkBased Method for the ShortTerm Predictions of Ambient SO2 Concentrations in Highly Polluted Industrial Areas of Complex Terrain[J]. Atmospheric Environment, Part B, Urban Atmosphere, 1993, 27(2): 221230.

[2]李柞泳, 邓新民. 环境污染预测的人工神经网络模型[J]. 成都气象学院学报, 1997, 12(4): 279283.

[3]白晓平, 李红, 张启明, 等. 人工神经网络在空气污染预报中的研究进展[J]. 科技导报, 2006, 24(12): 7781.

[4]周秀杰, 苏小红, 袁美英. 基于BP网络的空气污染指数预报研究[J]. 哈尔滨工业大学学报, 2004, 36(5): 582585.

[5]JIANG D H, ZHANG Y, HU X, et al. Progress in Developing an ANN Model for an Air Pollution Index Forecast[J]. Atmospheric Environment, 2004, 38(40): 70557064.

[6]王俭, 刘振山. BP模型的改进及其在大气污染预报中的应用[J]. 城市环境与城市生态, 2002, 15(5): 1719.

[7]Lu W Z, Wang W J. Potential Assessment of the “Support Vector Machine” Method in Forecasting Ambient Air Pollutant Trends[J]. Chemosphere, 2005, 59(5): 693701.

[8]Nunnari G, Doring S, Schlink U, et al. Modeling SO2 Concentration at a Point with Statistical Approaches[J]. Environmental Modeling & Software, 2004, 19(10): 887905.

[9]蒋胜利. 高维数据的特征选择与特征提取研究[D]. 西安: 西安电子科技大学, 2011.

[10]尹华, 胡玉平. 基于随机森林的不平衡特征选择算法[J]. 中山大学学报: 自然科学版, 2014, 53(5): 5965.

[11]蒋盛益, 郑琪, 张倩生. 基于聚类的特征选择方法[J]. 电子学报, 2008, 36(12): 157160.

[12]刘元宁, 王刚, 朱晓冬, 等. 基于自适应多种群遗传算法的特征选择[J]. 吉林大学学报: 工学版, 2011, 41(6): 16901693.

[13]杨帆, 林琛, 周绮凤, 等. 基于随机森林的潜在k近邻算法及其在基因表达数据分类中的应用[J]. 系统工程理论与实践, 2012, 32(4): 815825.

[14]李欣海. 随机森林模型在分类与回归分析中的应用[J]. 应用昆虫学报, 2013, 50(4): 11901197.

[15]姚登举, 杨静, 詹晓娟. 基于随机森林的特征選择算法[J]. 吉林大学学报: 工学版, 2014, 44(1): 137141.

[16]祝翠玲, 蒋志方, 王强. 基于BP神经网络的环境空气质量预测模型[J]. 计算机工程与应用, 2007, 43(22): 223227.

[17]万显列, 杨凤林, 王慧卿. 利用人工神经网络对空气中的O3浓度进行预测[J]. 中国环境科学, 2003, 23(1): 110112.

[18]吴小红, 康海燕, 任德官. 基于神经网络中小城市空气污染指数预估器的设计[J]. 数学的实践与认识, 2005, 35(2): 8791.

[19]黄海洪, 孙崇智, 金龙. 基于主分量的神经网络水位预报模型应用研究[J]. 大气科学学报, 2005, 28(1): 5863.

[20]赵宏, 刘爱霞, 王恺, 等. 基于GA_ANN改进的空气质量预测模型[J]. 环境科学研究, 2009, 22(11): 12761281.

猜你喜欢

特征选择随机森林神经网络
基于人工智能LSTM循环神经网络的学习成绩预测
基于图像处理与卷积神经网络的零件识别
MIV-PSO-BP神经网络用户热负荷预测
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
随机森林在棉蚜虫害等级预测中的应用
基于二次随机森林的不平衡数据分类算法
基于智能优化算法选择特征的网络入侵检测
拱坝变形监测预报的随机森林模型及应用
故障诊断中的数据建模与特征选择
基于随机森林算法的飞机发动机故障诊断方法的研究