常州地区PM2.5浓度预测对比分析
2023-11-07孙雨,周杰,陈明
孙 雨,周 杰,陈 明
江苏省常州市气象局,江苏常州 213000
PM2.5浓度过高不仅会影响人体健康,造成的灰霾天气还会使得能见度下降,不利于车辆和飞机的正常行驶,易于引发交通事故。近年来,随着“蓝天保卫战”的防控治理,我国大气污染防治工作取得了显著成效。在此背景下,巩固治理成果、总结经验继续推动空气质量持续改善,打好新一轮“蓝天保卫战”成为各界关注的焦点[1]。
根据《2021中国环境状况公报》[2],2021年全国339个地级及以上城市中,扣除尘沙影响,空气污染指数超过标准值的城市有121个,占城市总数的35.7%。在所有的重度污染及以上天数中,以PM2.5为首要污染物的天数占总天数的39.7%,依然是影响我国空气质量的第一污染物。常州市生态环境局官网空气质量月度排名也显示PM2.5和臭氧是近5年常州地区月空气质量主要污染物。
目前,专家学者们已提出了多种研究角度,研究PM2.5浓度的预测方法,这些预测方法大致可以分为3种:基于统计学的预测方法、基于确定性模型的预测方法、基于机器学习的预测方法[3-5]。
近年来,机器学习在PM2.5浓度预测方面已经取得了一些成果[6-8],大多数学者专注于改进一种机器学习算法或融合多种机器学习方法,并没有过多地对多个机器学习算法进行对比分析。因此,基于非线性回归算法、KNN算法、RF算法、BPNN算法、Xgboost算法以及CNN算法,建立相应PM2.5浓度预测学习模型,选取相关气象因素预测PM2.5日均浓度,对预测结果进行对比,并分析各个学习模型的优劣。
1 数据来源与研究方法
1.1 数据来源与预处理
数据来自常州国家基本气象站,包括2016年4月—2020年11月共5年间的大气成分数据和A文件。大气成分数据包括气溶胶小时数据、反应性气体5 min数据、A文件小时数据,经过数据处理后的最终数据形式为日均数据,日均数据的计算方式是根据气象学上定义的一天,自前一日21:00至本日20:00。根据相关论文[9]和先验知识,选取与PM2.5浓度相关的15个气象要素和相关大气成分数据,分别为PM10、SO2、O3、NO、NO2、NOx、CO、温度、气压、相对湿度、能见度、降水量、蒸发量、2 min平均风速和0 cm地温。
通过相关图分析,选取的15种气象因素和PM2.5浓度的相关系数R2分布范围为0.3~0.86,PM10、SO2、NO、NO2、NOx、CO、气压与PM2.5呈现正相关,O3、气温、相对湿度、能见度、降水量、2 min平均风速、蒸发量和0 cm地温与PM2.5呈负相关关系,因此选取的这15个气象因素都是合理有效的。
与PM2.5正相关强度最高的3个气象因素及其正相关系数分别为PM100.87、CO 0.59、NO20.57,与PM2.5负相关强度最高的3个气象因素及其负相关系数分别为能见度0.52、2 min平均风速0.4、气温0.39。
提取的原始数据直接作为初始数据集不仅会造成学习模型精度变差,而且也会影响预测效果。此处的原始数据主要存在以下几个问题:(1)不同气象因素之间具有不同的量纲和单位,如气压单位为hPa,范围为987~10 407 hPa,降水单位为mm,范围为0~98 mm,2种数据差别过大,不利于后续样本训练,因此使用归一化处理此问题。(2)在数据采集和数据上传的过程中,有极大可能会受到设备故障、外在环境、人为活动等的影响,使得收集到的数据包含缺失数据、无效数据等。解决方法是各项数据对短时间内缺失值(表现为-999.99和1 000的值)和部分异常值采用牛顿插值法进行估算插值,长时间内缺失数据通过中国环境监测总站数据补全缺失日均数据。插值法的基本原理是利用缺失数据的前后已知值建立插值函数,缺失函数就可以利用插值函数求得,牛顿插值公式为:
针对异常值,借助箱形图进行分析(图略),箱形图不受异常值的影响,可以以一种相对稳定的方式描述数据的离散分布情况。箱形图上边缘线和下边缘线之间的值为正常值,PM2.5浓度正常值分布在33~70 μg/m3;其余部分为异常值,异常值的处理应具体问题具体分析,观察是否前后几天浓度有相同变化规律,是则保留,否则可以取前后5 d同时间的平均值替代。处理完缺失值和异常值之后分布规律正常了很多,但仍然存在长时间缺失数据的问题,牛顿插值法和箱形图并不能处理该问题,缺失部分经查找为2017年3月21日—4月14日的数据,通过中国环境监测总站数据补全该段时间日均数据。以PM2.5浓度数据为例,图1显示数据预处理前后对比,灰色部分为原始数据中待修改部分,黑色部分为修改无效值和异常值后PM2.5日均数据。
图1 PM2.5浓度数据预处理前后对比
1.2 研究方法
实验流程如下:首先,数据的预处理和数据集的构造;其次,预测模型的设计和训练;再次,模型测试、优化及保存;最后,预测并对结果进行评估与分析。数据预处理完成后,数据集共有1 684条日均数据,选取其中的80%作为训练集,20%作为测试集。在构建模型的过程中,需要选取一些指标数据衡量模型的性能,常用的回归预测模型评价指标有平均绝对误差MAE、均方根误差RMSE、相关系数R2、平均绝对百分比误差MAPRE。在以下评估公式中,x(i)表示第i个样本的预测值,yi表示第i个样本的实际值,y表示样本实际值的均值。R2值越接近1,RMSE、MAE和MAPRE越小,则表示模型拟合效果越好。
1.2.1 多元线性回归模型 该模型训练集直接决定了多元线性回归模型的精度,将15个影响PM2.5浓度的气象因子看作自变量,将PM2.5浓度看作因变量。通过最小二乘法计算出每个自变量前的回归系数,建立回归模型,用残差平方和表示误差函数。
1.2.2 KNN模型 训练样本查找测试样本中与该样本最近的K个样本值,PM2.5浓度值等权平均后即为该预测样本最终值。其中,可调节部分有3个,K值、样本最近计算方式、最终预测值计算方式。经过调参,K值取3,即找与预测样本最近的3个样本进行计算,样本最近计算方式为欧氏距离计算方法,最终预测值计算方式为等权平均。
1.2.3 RF模型 每次随机有放回地从样本中抽取m个样本建立决策树,建立达到预先设置的决策树个数k则停止,最后将所有决策树结果求平均,即为预测样本的预测值。其中,可以调节的参数为树的数量k=100,设置叶子数防止过拟合,最佳叶子数量n=5。
1.2.4 BP神经网络模型 信号正向传输时,每次正向信号传播完成后会自动判定是否符合预定的训练次数和预设的误差,反向传播时,根据输出值和真实值存在的误差,从后往前调整每层神经元上的权值,使得输出值不断逼近真实值。
此处构造了15个节点的输入层,m个神经元的一个隐藏层,最后一个神经元的输出层。m根据经验公式a取1~10,分别计算这10个隐藏层情况下模型的MSE。MSE最小时,对应的m=5,即为所求隐藏层中神经元的个数。隐藏层激活函数为tansig函数,输出层激活函数为purelin函数。训练次数预设1 000次,学习率设置0.005,误差预设为10-5。
1.2.5 Xgboost极限梯度提升树模型Xgboost中的决策树会根据前面所有树相加之和(预测值)与实际值之间的误差,以及树的复杂度之和作为目标,建立下一棵树,不断缩小预测值和实际值之间的误差,最终的预测结果为所有树的值相加计算获得。该模型可以调节的参数为预设树的数量和学习率,通过调参本实验,设置树的数量为110棵,学习率为0.2。
1.2.6 卷积神经网络模型 CNN结构包含输入层,多个卷积层和池化层,全连接层和输出层。卷积层的卷积作用是提取特征,计算一般使用3×3卷积核,在输入数据方面,根据步长进行滑动计算,多个卷积核则生成多个计算结果;池化层为降采样层,目的是减少参数,方便计算但又不会丢失数据重要信息。该模型可以调节的参数为神经网络卷积层、池化层数、窗口滑动步长和卷积核数。通过调参,本实验设置4层卷积层,卷积核分别为3×1、3×1、2×1、2×1,步长均为1;4层池化层,1层全连接层。
2 结果与分析
在6种算法模型的预测结果对比图中(图2),横坐标为预测值,纵坐标为实际值,单位均为μg/m3,将预测值和实际值对应数值画成点图形式,图中虚线是预测值等于真实值的情况,因此,点越收敛于虚线,则表示模型效果越好,点偏离虚线位置较远,则表示该点为异常值。
图2 6种学习模型预测结果对比
多元线性回归模型RSME为12.499 0,MAE为9.038 1,R2为0.797 3,MAPE为34.87%;KNN模型RSME为11.847 6,MAE为8.672 4,R2为0.817 9,MAPE为18.84%;RF模型RSME为9.722 1,MAE为7.070 7,R2为0.877 4,MAPE为15.93%;BPNN模型RSME为10.629 5,MAE为7.361 4,R2为0.853 4,MAPE为16.33%;Xgboost模型RSME为9.679 2,MAE为6.985 8,R2为0.878 4,MAPE为15.00%;CNN模型RSME为10.355 7,MAE为7.696 4,R2为0.860 9,MAPE为17.39%。
图中多元线性回归和BP神经网络有明显预测异常值,相比于CNN模型,RF模型和Xgboost模型点图收敛于虚线的效果更好,KNN算法的点图较发散。结合各项指标数据,表明整体上RF模型和Xgboost模型2种算法的模型预测效果最好,并且Xgboost模型效果略优于RF模型。
通过分析Xgboost模型预测与PM2.5浓度相关的气象因子的重要性可知,PM10浓度、相对湿度、气温与PM2.5浓度的相关性最高;其次是BPNN模型和CNN模型,CNN模型作为一种强大的模型,没有达到预想中的效果,考虑到卷积更注重空间特征关联与图像的识别方面,而训练数据是一维数据,且无空间关联信息;多元线性回归模型和KNN模型效果最差。
图3为Xgboost模型拟合效果,分别为测试集PM2.5浓度实际值与预测值数值直接对比,以及将测试集数据升序后实际值与预测值的对比,预测值大多落入实际值正负平均绝对误差范围(虚线)内。当PM2.5浓度大于180 μg/m3时,较多预测值在虚线范围外,结合其他模型对应拟合效果图,当PM2.5浓度低于30 μg/m3、高于60 μg/m3时,拟合效果明显较差。
图3 Xgboost模型拟合效果
3 结论
使用6种机器学习模型对常州地区2016—2020年间的PM2.5浓度进行训练和预测分析。PM2.5实际值主要分布在30~60 μg/m3范围内,在此范围内,6种模型拟合效果大都在实际值的正负平均绝对误差范围内,但当PM2.5浓度低于30 μg/m3或高于60 μg/m3时,多元线性回归模型和KM模型不够理想;从6个模型的对比来看,Xgboost、RF模型拟合效果较好,相关系数可达87.84%;PM10浓度、相对湿度、气温与PM2.5浓度相关性最高,表明在缺少PM2.5浓度数据的情况下,仍然可以通过其他气象因子估算出PM2.5的浓度值。