朱宗玖,赵艺伟
(安徽理工大学 电气与信息工程学院,安徽 淮南 232001)
伴随着工业的发展及城市化进程地不断加快,中国城市空气污染问题日趋严重。高浓度的道路扬尘等在人口密集地区可增加慢性阻塞性肺疾病、肺癌等疾病引起的过早死亡人数。探索高效率、高准确率的城市空气质量预测模型对推进城市空气污染防治意义重大[1]。空气质量主要受CO、SO2、NO2、O3、PM2.5和PM10这6种因素影响,将其与空气质量指数(Air Quality Index,AQI)结合可以直观地反应出空气质量。在预测模型中,长短期记忆神经网络的使用较为广泛。
因此,文献[2]采用LSTM模型对Covid-19阳性病例数进行预测;文献[3]采用CNN进行特征提取,再将特征数据以时序方式作为LSTM的输入数据,建立CNN-LSTM模型对高速铁路在地震时的响应进行预测;文献[4]通过量子粒子群算法对CNN-LSTM模型的关键参数进行寻优,建立QPSC-CNN-LSTM模型,对水质进行预测;文献[5]和文献[6]都是通过麻雀搜索算法(SSA)对LSTM的超参数进行寻优,建立SSA-LSTM模型来进行预测。虽然各模型都能实现预测,但精度不高,不利于寻找最优解。综上,提出麻雀搜索算法优化卷积神经网络-长短期记忆网络预测模型。利用麻雀算法来优化参数,建立了基于SSA-CNN-LSTM的空气质量指数预测模型。最后,进行仿真实验验证,证实了SSA-CNN-LSTM模型的优越性。
麻雀搜索算法(Sparrow Search Algorithm,SSA)于2020年提出,是通过麻雀的觅食和反哺食行为发现的。该算法较为新颖,并且具有寻优能力强,收敛速度快的优点[7]。
算法流程如下:
(1)初始化种群、迭代次数、捕食者和加入者的比例。
(2)计算适应度值,并排序。
(3)利用式
(1)
更新捕食者位置。ST为安全值,R2为预警值,当R2 (4)利用式 (2) 更新加入者位置。此处n为加入者数量并不是种群数量。 (5)利用式 (3) 更新警戒者位置。 (6)计算适应度值并更新麻雀位置。此处i为遍历意识到危险的麻雀数量,不是整个种群。 (7)是否满足停止条件,满足则退出,输出结果,否则,返回第二步。 卷积神经网络,简称CNN,可以非常有效地从一维序列数据,如单变量时间序列数据中自动提取和学习特征,其结构图如图1所示,主要分为如下几个层: 图1 CNN结构图 (1)输入层(Input layer):该层要做的处理主要是对数据进行预处理。 (2)卷积层(Convolutional layer):通过卷积核的过滤提取出数据中局部的特征。 (3)池化层(Pooling layer):池化即下采样,目的是为了减少特征图。池化层夹在连续的卷积层中间,用于压缩数据和参数的量,减小过度拟合。 (4)全连接层(Fully-Connected layer):把所有局部特征结合变成全局特征。经过卷积层和池化层降维过的数据,全连接层才能“跑得动”,不然数据量太大,计算成本高,效率低下。 (5)输出层就是对处理后的数据进行输出[8]。 卷积神经网络的实质就是一种输入到输出的映射[9]。CNN相较于传统神经网络具有参数共享、局部连接两大优势,使网络需要训练的参数大大减少,却不会降低准确率[10]。但其在应用中生物学基础支持不足,没有记忆功能;全连接模式过于冗余而低效。CNN的最大优点就在于特征检测,但是其特征理解不足。 综上,众多研究者们考虑到将CNN模型与LSTM模型结合使用,这种混合模型称为CNN-LSTM[11]。此模型中卷积神经网络对输入的子序列进行解释,然后将这些子序列一起作为序列提供给LSTM模型进行解释[12]。 Long Short-Term Memory网络一般被称为LSTM,是由循环神经网络(RNN)改进后所得到的,主要用来解决反复使用权重所带来的梯度爆炸和梯度消失问题[13]。与原始的循环神经网络的隐层相比,LSTM增加了一个细胞状态(cell state),同时,LSTM“门”的数量更多结构也更复杂。它拥有输入门、遗忘门和输出门,以及与隐藏状态形状相同的记忆细胞[14-15],具体结构如图2所示。LSTM的核心是细胞状态,以及其中的各种门结构[16-17]。 图2 LSTM结构图 如图2,细胞状态Ct-1,隐层状态ht-1,t时刻输入向量Xt为LSTM在t时刻的输入,细胞状态Ct和隐层状态ht为两个输出,其中,ht还作为t时刻的输出。LSTM的进行步骤大致为:细胞状态Ct-1的信息一直在上面那条线上传递,t时刻的隐层状态ht与输入xt会对Ct进行适当修改,然后传到下一时刻。此外,Ct-1会参与t时刻输出ht的计算。最后,隐层状态ht-1的信息,通过LSTM的“门”结构,对细胞状态进行修改,并且参与输出的计算。 选用基于麻雀算法优化卷积神经网络-长短期记忆网络的模型来进行回归预测。通过SSA算法对CNN-LSTM模型的参数进行优化,主要是为了避免CNN-LSTM模型依据经验选取参数会使精度降低这一问题,采用的组合模型结构如图3所示。 图3 SSA-CNN-LSTM模型结构图 实验数据来自中国环境监测总站的全国城市空气质量实时发布平台发布的成都市公开数据,包括PM2.5、PM10、SO2、NO2、CO、O3和AQI指数等指标。在此基础上采用成都市2017年1月—2022年3月间每天的数据作为数据集,按照7∶3来划分训练集和测试集在MATLAB2022b软件上进行仿真实验。 基于SSA-CNN-LSTM模型对空气质量指数预测仿真实验流程如图4所示。对数据进行预处理后分类,模型构建结合麻雀算法优化后的参数,将训练集、测试集放在优化后的模型中进行模拟,若误差较小,则输出空气质量指数预测、计算各类指标结果。反之,重新对参数进行优化。 图4 仿真实验流程图 使用平均绝对误差MAE(mean absolute error)、决定系数R2(coefficient of determination)、和均方误差MSE(mean square error)4种评估指标来更好的对模型的预测效果进行评估。其公式如下: (4) (5) (6) 将处理后的数据输入模型以7∶3来划分训练集和测试集,对SSA-CNN-LSTM模型进行训练,如图5所示。可以看出:不论训练集还是测试集,曲线波动走向近乎一致,空气质量指数的预测值和真实值都非常贴近。说明此模型对空气质量指数的预测误差小且精确度较高。 图5 SSA-CNN-LSTM模型预测效果图 为验证对于空气质量指数的预测,SSA-CNN-LSTM模型是否相对具有优势。将提出的模型和CNN-LSTM模型、WOA-LSTM模型进行对照实验,对模型进行训练时,隐藏层中的激活函数都使用Tanh函数。CNN-LSTM模型、WOA-LSTM模型对空气质量指数预测的结果如图6、7所示。表明模型的训练精度均低于SSA-CNN-LSTM模型。 图6 CNN-LSTM模型预测效果图 图7 WOA-LSTM模型预测效果图 如表1和图8所示,分别将CNN-LSTM、WOA-LSTM和SSA-CNN-LSTM模型在测试集上的预测评价指标进行了记录。 表1 模型评价指标 图8 评价指标对比图 从图表中得出,SSA-CNN-LSTM模型的MSE、MAE值分别为4.994 9、1.320 7。较CNN-LSTM模型降低了3.706 1、0.518 1;较WOA-LSTM模型降低了10.212 3、1.320 5;此外,R2值也为最高,相对于CNN-LSTM模型提高了0.31%,相对于WOA-LSTM模型提高了0.84%。综上可得,SSA-CNN-LSTM模型通过麻雀搜索算法帮助CNN-LSTM模型寻找最优参数,最终得到了更为精准的AQI预测效果。 以成都市数据为例进行仿真实验,得到了以下结论。 (1)空气质量指数进行预测时,长短期记忆网络的参数需要依据经验而得,消耗大量的时间,且精度也不太理想。 (2)麻雀搜索算法不仅减小了调参对精度的影响,而且时效性也得到了改善。同时,更加注意到LSTM所遗漏的信息,进而最大限度地保护结果的精确性。 (3)提出的SSA-CNN-LSTM模型与其他两种模型进行比较。结果显示,此模型的评价指标值皆为最佳。综上,此模型对空气质量指数可以提供更为精确的预测。1.2 卷积神经网络
1.3 长短期记忆网络
2 SSA-CNN-LSTM模型
3 实验与结果分析
3.1 数据来源
3.2 实验流程
3.3 评价指标
3.4 模型性能比较
4 结语