1.一种基于混合CNN‑Transformer模型的大气臭氧浓度预测方法,其特征在于,包括模型训练阶段和模型推理预测阶段:模型训练阶段包括下列步骤:
步骤S1.1、获取臭氧数据、其他大气污染物数据及气象数据作为训练数据,处理缺失和异常值,将处理后的多元数据进行归一化,消除量纲差异带来的影响;所述其他大气污染物数据包含二氧化氮、一氧化氮、二氧化硫、一氧化碳,所述气象数据包含风速、风向、气压、最高最低气温;
步骤S1.2、采用滑动窗口技术将数据序列化,构成时间序列数据;
步骤S1.3、构建CNN‑Transformer模型,将时间序列数据送入CNN‑Transformer模型中,开始模型训练过程;
所述步骤S1.3中,CNN‑Transformer模型由卷积神经网络CNN、Transformer及深度线性神经网络DNN三部分构成,具体架构如下:CNN模型包含2个一维卷积层,每个卷积层有32个卷积核,即可以提取32个维度的潜在特征;Transformer模型由编码器和解码器组成,每个编码器中有1个输入映射层、1个位置编码层、3个编码层以及1个“编码器到编码器”的交叉多头注意力层;每个解码器中有1个输入映射层,3个解码层以及1个基于序列的全连接层;
所述3个编码层,每个编码层由1个输出维度为64的多头自注意力层和1个相同输出维度的前向全连接层组成;所述3个解码层,每个解码层的结构与编码层的结构一致,但解码层中多头自注意力层之后附加有“编码器到解码器”的交叉多头注意力层;所述多头注意力层中的头数均为8;DNN模型有2个隐含层,第一层的神经元数量为256,第二层的神经元数量为
128,使用ReLU函数作为激活函数;在每个隐含层后都加入了Dropout层,比率分别为0.4和
0.3,输出层的神经元个数为1;
所述步骤S1.3中,模型训练过程为:设置模型的迭代次数为500,训练批次大小为64,使用Adam作为优化器,学习率为0.001;在训练阶段,采用HuberLoss作为损失函数,其表达式如下:其中,n为训练集或验证集的样本总数,Oi为第i个样本臭氧的真实值,Pi为第i个样本臭氧的预测值;
对于每一次迭代过程,首先进入CNN模型,2个一维卷积层在训练样本的特征维度上提取有用信息,输出的时序序列送入Transformer模型,通过位置编码层提取并保存时序信息,将带有时序信息的序列送入编码器进行编码,编码的结果送入解码器,得到解码数据,将解码数据送入DNN层,压缩其维度至目标维度1,将结果反归一化得到最终预测值,将预测值与标签值比对并计算HuberLoss值,继续迭代直至模型达到最优,即HuberLoss值最小;
模型推理预测阶段包括下列步骤:
步骤S1.4、从环境监测站实时获取臭氧数据、其他大气污染物数据及气象台实时获取的气象数据作为历史数据,处理缺失和异常值,将处理后的数据进行归一化,消除量纲差异带来的影响;
步骤S1.5、将数据送入训练好的CNN‑Transformer模型中,经过运算后给出预测结果。
2.根据权利要求1中所述的一种基于混合CNN‑Transformer模型的大气臭氧浓度预测方法,其特征在于:所述步骤S1.1中,将处理后的数据进行归一化处理,具体包括:使用最大最小值归一化函数对获取的数据在特征维度上进行归一化,将数据的范围限定在[0,1]之间;
所述最大最小值归一化函数,其公式表达如下:
其中,x为原始数据且x∈X,X表示原始数据集,包含臭氧数据、其他大气污染物数据及*气象数据,x 表示归一化后数据,xmin为原始数据集中的最小值,xmax为原始数据集中的最大值。