1. 引言
随着中国乃至世界经济的高速发展,城市化进程也在急剧加快,人们对于生活品质的要求也越来越高。其中空气质量的高低直接或者间接的影响着人们的生活,因此,空气质量的预测可以及时地提醒相关部门调整,对进一步提高人们的生活品质有重要的意义。
在过去对空气质量的预测中,研究者们常用的预测方法主要:张叶娥 [1] 等采用ARIMA模型预测大同市空气质量,但该模型向前预测的时期越长,预测的误差将会越大,不适合于长期预测;宋雨辰等 [2] 采用BP神经网络和时间序列模型预测包头市空气质量,但BP神经网络需要大量训练且时间序列适于短时期;王先行、方彦等 [3] [4] 采用GM-RBF组合模型预测空气质量,灰色系统能减少RBF神经网络建模精度容易受数据随机性影响的问题,但灰色预测有小样本数据的局限性,组合预测确实提高了预测精度;卢彬、刘君 [5] [6] 采用因子分析与径向基神经网络结合进行空气质量预测,结果有效提高了收敛速度和预报准确度;胡邦辉等 [7] 采用最小二乘支持向量机模型云量预测,表明最小二乘支持向量机回归方法的预报效果要优于神经网络,预报准确率也不会因为训练样本的减少而降低,预测前景较好;付莲莲等 [8] 采用梯度提升回归模型的生猪价格预测,表明,梯度提升回归模型具有较高的预测精度;Shivang Agarwal等 [9] 基于实时动态误差修正的人工神经网络预测高污染地区空气质量表明模型在多个评价指标上对所有污染物都有很好的评价效果;谷艳昌等 [10] 基于遗传算法优化支持向量机对大坝安全性态预测,表明GA-SVM模型渗压预测值与实测值最接近,预测精度较SVM模型和逐步回归模型提高了约3倍。
前面的研究者们对于空气质量的预测都是在原有的细颗粒物(PM2.5)、可吸入颗粒物(PM10)、二氧化硫(SO2)、二氧化氮(NO2)、臭氧(O3)、一氧化碳(CO)这6个指标的基础上进行一系列的改进预测算法,却不曾想过对这6个指标进行精确化,以提升预测精度。本次采用梯度提升回归树(GBRT)进行变量选择来进一步提高预测精度,再结合遗传算法优化的最小二乘支持向量机模型进行预测,其预测误差显著降低。
2. 数据来源与研究方法
2.1. 数据来源
本次论文研究的数据来自于网络爬虫获取的重庆市2020年1月到2020年8月这8个月每天的空气质量指数(AQI)、空气中细颗粒物(PM2.5)、可吸入颗粒(PM10)、二氧化硫(SO2)、一氧化碳(CO)、二氧化氮(CO2)和臭氧(O3)这6种主要的污染物浓度数据指标。
2.2. 研究方法
本次研究针对重庆市天时数据空气质量预测主要分以下三步进行:1) 先对6个影响空气质量主要污染物指标进行GBRT变量选择,筛选出更精确的主要污染物指标;2) 运用最小二乘支持向量机模型对变量选择前与变量选择后的数据进行预测,比较其预测精度;3) 对于最小二乘支持向量机模型运用遗传算法对参数进行优化,得到优化后的遗传算法最小二乘支持向量机模型,比较优化后的模型的精度,得到最优的组合预测模型。实际上就是一个串联式进化的预测过程,具体流程如下图1。
2.2.1. 梯度提升回归树(GBRT)
GBRT,Gradient Boosting Regression Tree,梯度提升回归树,由多棵树组成,所有树的结论累加得最后结果的迭代回归树算法,其泛化能力较强 [11] [12]。具体算法如下:
输入:训练数据集
。
输出:回归树
。
第一步:初始化
(1)
用来估计使损失函数最小化的常数值,这时它是只有一个根节点的树。
第二步:设
,
,
(2)
即计算损失函数的负梯度在当前模型的值,亦是残差的估计值。
由
学习一颗回归树,得到第m棵树的叶节点区域
,以拟合残差的近似值,对每个j计算
(3)
用线性搜索估计叶节点区域的值,使损失函数最小化,更新回归树
(4)
第三步:得到最终的回归树模型
(5)
为避免过拟合,引入一个参数
,
,则可得到对应的回归树更新公式
(6)
2.2.2. 最小二乘支持向量机模型(LS-SVMR)
LS-SVMR,即最小二乘支持向量机模型,由J. A. K. Suykens提出。相较标准SVM,它用等式约束代替不等式约束,解一组等式方程,避免了求解耗时的弊端,且求解速度相对加快 [12] [13]。线性情况下的LS-SVMR的算法步骤如下:
输入:给定训练样本集
,
。
输出:估计函数
。
第一步:首先定义线性回归方程:
(7)
其中,
,I为n维单位列向量。
第二步:找寻最优超平面,此时的优化目标函数为:
(8)
构造Lagrange函数:
(9)
再对上面的Lagrange函数分别求
的偏导,并令其为0,即可得到最小二乘支持向量机的估计函数:
(10)
同理针对非线性情况其估计函数为:
(11)
2.2.3. 遗传算法
遗传算法是常见的随机优化搜索方法,它有J. Holland提出,遗传算法是模拟自然界遗传选择与生物进化计算的模型。遗传算法将多个个体集合解进行编码、选择、交叉、变异后,逐代进化,从子代找出求解问题的全局最优解 [12]。遗传算法的步骤如下图2。
3. 模型的建立
3.1. GBRT变量选择
对于本次研究重庆市空气质量AQI指数,其有6个主影响因子,分别是空气中细颗粒物(PM2.5)、可吸入颗粒(PM10)、二氧化硫(SO2)、一氧化碳(CO)、二氧化氮(NO2)和臭氧(O3)。这些因素之间可能存在相关性、冗余性等,为提升建模效率和更好的特征表示,对数据进行降维处理会对预测精度有显著提升。应用GBRT进行6个特征变量的筛选,由图示,变量在6个指标中的影响作用基本可忽略不计,且由图4也可以看出与y无显著线性相关性,故特征选择进行后面的建模,如下图3和图4。
Figure 4. Marginal graph of
图4.
边际图
3.2. 建立GBRT-最小支持向量机模型
考虑到预测所涉及数据具有维数低和样本量少的特征。应用最小二乘支持向量机模型相对于支持向量机模型能够对数据预测有较好的准确性以及预测精度的提升,对比于神经网络又可以克服训练时间长,训练结果存在随机性以及学习的不足。在前文GBRT变量选择的基础上,再进行LS-SVMR预测,对比预测误差见下表1,GBRT改进后的LS-SVMR预测效果更好。
Table 1. Comparison of prediction errors between least square support vector machine and GBRT
表1. 最小二乘支持向量机与GBRT组合预测误差对比
3.3. 建立GBRT-遗传算法优化最小二乘支持向量机模型
对于最小二乘支持向量机模型本身而言,其中的关键性参数一般是经验取值,不一定能得到最佳预测值。于是本小节采用了遗传算法优化参数,得到最适合重庆市空气质量数据的参数。遗传算法的目标就是找到合适参数使得在测试集上的误差error最小。遗产算法确定最优参数如下表2。
Table 2. Optimization parameters of genetic algorithm
表2. 遗传算法优化参数
最后将优化后的参数代入到之前的最小二乘支持向量机模型中去,可以看出在本身不用遗传算法优化的前提下,其误差也有显著的降低。最后在前面的基础上构造GBRT-遗传算法优化LS-SVMR模型,可以看出其误差降低的更多,如下表3。
Table 3. Comparison of model errors
表3. 模型误差对比
由上表可以看出,由循环式串联进化算法,在基于GBRT变量选择的情况下,再在遗传算法优化后的最小二乘支持向量机里进行预测,其预测误差由最初的1.5329164降到了仅仅只有0.1993641,其误差降低87%,所以该GBRT遗传算法优化的最小支持二乘向量机模型是更适合重庆市空气质量指数AQI的预测,其预测精度有显著的提升。
3.4. 最终预测模型预测图
根据上文最后得到的GBRT结合遗传算法优化的最小二乘支持向量机模型,产生重庆市空气质量AQI值预测模型。
本文结合预测模型,对重庆市2020年1月到2020年8月每天的空气质量AQI进行预测,并结合实际的数据进行比对,结果如下图5所示蓝色(y)与红色(ypred)基本重合:
Figure 5. Comparison between true value and predicted value
图5. 真实值与预测值对比
4. 结语
本文采用串联式循环进化算法模型,进行算法的改进提升预测的精度,减少预测的误差,得到了最终的GBRT遗传算法优化的最小二乘支持向量机模型对重庆市空气质量AQI进行预测,其预测误差显著降低,因此该模型应用于空气质量预测是更优的。