首页> 中国专利> 融合空间和统计特征的CNN-GRU臭氧浓度预测模型建立方法、预测方法及模型

融合空间和统计特征的CNN-GRU臭氧浓度预测模型建立方法、预测方法及模型

摘要

本发明公开一种融合空间和统计特征的CNN‑GRU臭氧浓度预测模型,首先通过对时空因素以及其他气象因子与臭氧浓度进行相关性分析,利用统计学方法和克里金插值法对缺失值填充后的气象污染物数据进一步预处理并提取臭氧浓度数据的时空特征,同时融合其他气象因子,采用统计、CNN和GRU三分支并行的预测模型得到最终臭氧浓度预测结果。本发明预测模型在预测未来一小时、两小时臭氧浓度优于CNN、LSTM、GRU、Convlstm、CNN‑LSTM(parallel)和CNN‑GRU(parallel)预测模型。本发明预测模型融合了空间和统计特征,多角度抽取特征并采用并行网络分支结构,得到了较高预测精度。

著录项

  • 公开/公告号CN114897250A

    专利类型发明专利

  • 公开/公告日2022-08-12

    原文格式PDF

  • 申请/专利权人 浙江农林大学;

    申请/专利号CN202210559194.3

  • 发明设计人 曾松伟;杨雨佳;陈坤;

    申请日2022-05-22

  • 分类号G06Q10/04(2012.01);G06F16/2458(2019.01);G06N3/04(2006.01);G06N3/08(2006.01);G06Q50/26(2012.01);

  • 代理机构杭州奥创知识产权代理有限公司 33272;

  • 代理人赵梅

  • 地址 311300 浙江省杭州市临安区武肃街666号

  • 入库时间 2023-06-19 16:22:17

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-08-30

    实质审查的生效 IPC(主分类):G06Q10/04 专利申请号:2022105591943 申请日:20220522

    实质审查的生效

说明书

技术领域

本发明涉及臭氧浓度预测技术领域,具体涉及一种融合空间和统计特征的CNN-GRU臭氧浓度预测模型建立方法、预测方法及模型。

背景技术

近年来,我国大气污染问题备受关注,其中,近地面的臭氧是大气污染物的一种,同时也是光化学烟雾的组成之一,在大气中会发生光化学反应生成氮氧化物(NOx)和挥发性有机物(VOCs)等对生物有害的二次污染物。另外,暴露在一定臭氧浓度下会对人体心血管及呼吸系统有所影响,高浓度的臭氧不仅影响人体健康,导致多种疾病发生,还会阻碍农作物的生产,影响昆虫的发育和行为,甚至会对生态环境产生严重的危害。目前,大气环境监测站为臭氧相关研究提供了数据支持。通过监测数据,可以了解当前的空气质量,但无法直接观测未来空气质量的发展趋势。对未来臭氧浓度进行预测,可为受臭氧影响的户外工作者及政府决策提供科学支持,并可对生态环境起到进一步保护作用。因此,对臭氧浓度的精准预测具有重要意义。

当前对臭氧浓度预测的研究主要分为两类,一类是基于传统方法的预测模型,如吴莹等利用NAQPMS(嵌套空气质量预报模式系统)和CMAQ(通用多尺度空气质量模型)对臭氧进行预报,两种模型对O

发明内容

本发明的目的是提供一种融合空间和统计特征的CNN-GRU臭氧浓度预测模型建立方法、预测方法及模型,以解决现有技术的不足。

本发明采用以下技术方案:

一种融合空间和统计特征的CNN-GRU臭氧浓度预测模型建立方法,包括如下步骤:

步骤1、获取待预测大气环境监测站点及其周边多个大气环境监测站点气象污染物多年历史数据,所述气象污染物包括O

步骤2、对步骤1获取的气象污染物数据预处理,即将气象污染物数据的缺失值进行线性填充;预处理后的气象污染物数据根据时间划分为训练集数据和测试集数据;

步骤3、对步骤2预处理后的气象污染物数据进行数据分析,包括从时间特征、空间特征和其他气象因子对臭氧浓度的影响进行特征分析,所述其他气象因子包括CO、NO

步骤4、根据步骤3,利用统计学方法和克里金插值法对步骤2训练集数据进一步预处理提取数据的时空相关特征,具体包括:

(1)提取空间特征:采用克里金插值法对训练集数据进行网格化处理,即根据各监测站点的经纬度,进行坐标平移,以待预测监测站点为原点,将多个监测站点构成m×n的网格,m、n为自然数,得到网格化数据;将网格化数据采用卷积神经网络进行空间特征提取,作为GRU分支和CNN分支的输入;

(2)提取统计特征:就训练集数据,遍历每一个时间点,计算统计历史预测时间点前一小时臭氧浓度值、前三小时平均臭氧浓度值、24小时前同一时间点与下一小时的差值和24小时前下一小时与下二小时的差值,遍历每一个时间点,将计算得到的统计特征加入列表,将数据转换为二维矩阵,再通过全连接神经网络提取后作为统计分支的输出;

步骤5、步骤4(1)中提取空间特征后的数据作为GRU分支和CNN分支的输入分别通过GRU模型、CNN模型得到GRU分支的输出、CNN分支的输出,结合步骤4(2)中的统计分支的输出,将三个输出并行拼接作为全连接神经网络的输入,得到最终的输出,由此构建得到融合空间和统计特征的CNN-GRU臭氧浓度预测模型;

步骤6、通过测试集数据对步骤5构建好的融合空间和统计特征的CNN-GRU臭氧浓度预测模型进行模型测试,利用模型测试的结果对所述融合空间和统计特征的CNN-GRU臭氧浓度预测模型的预测精度进行评价。

进一步地,步骤1所述待预测大气环境监测站点及其周边多个大气环境监测站点气候环境条件相近,地理位置相对较密集集中。

进一步地,步骤4(1)中采用二维CNN进行空间特征提取;步骤5CNN模型采用一维CNN,GRU模型采用双层GRU。

进一步地,步骤6使用平均绝对误差MAE、均方根误差RMSE、可决定系数R

表达式如下:

其中,

一种臭氧浓度预测方法,包括如下步骤:

步骤1、获取待预测大气环境监测站点及其周边多个大气环境监测站点气象污染物多年历史数据,所述气象污染物包括O

步骤2、对步骤1获取的气象污染物数据预处理,即将气象污染物数据的缺失值进行线性填充;预处理后的气象污染物数据根据时间划分为训练集数据和测试集数据;

步骤3、对步骤2预处理后的气象污染物数据进行数据分析,包括从时间特征、空间特征和其他气象因子对臭氧浓度的影响进行特征分析,所述其他气象因子包括CO、NO

步骤4、根据步骤3,利用统计学方法和克里金插值法对步骤2训练集数据进一步预处理提取数据的时空相关特征,具体包括:

(1)提取空间特征:采用克里金插值法对训练集数据进行网格化处理,即根据各监测站点的经纬度,进行坐标平移,以待预测监测站点为原点,将多个监测站点构成m×n的网格,m、n为自然数,得到网格化数据;将网格化数据采用卷积神经网络进行空间特征提取,作为GRU分支和CNN分支的输入;

(2)提取统计特征:就训练集数据,遍历每一个时间点,计算统计历史预测时间点前一小时臭氧浓度值、前三小时平均臭氧浓度值、24小时前同一时间点与下一小时的差值和24小时前下一小时与下二小时的差值,遍历每一个时间点,将计算得到的统计特征加入列表,将数据转换为二维矩阵,再通过全连接神经网络提取后作为统计分支的输出;

步骤5、步骤4(1)中提取空间特征后的数据作为GRU分支和CNN分支的输入分别通过GRU模型、CNN模型得到GRU分支的输出、CNN分支的输出,结合步骤4(2)中的统计分支的输出,将三个输出并行拼接作为全连接神经网络的输入,得到最终的输出,由此构建得到融合空间和统计特征的CNN-GRU臭氧浓度预测模型;

步骤6、通过测试集数据对步骤5构建好的融合空间和统计特征的CNN-GRU臭氧浓度预测模型进行模型测试,利用模型测试的结果对所述融合空间和统计特征的CNN-GRU臭氧浓度预测模型的预测精度进行评价;

步骤7、利用融合空间和统计特征的CNN-GRU臭氧浓度预测模型,将前24小时至当前的臭氧浓度数据作为模型输入,得到预测时刻臭氧浓度。

进一步地,步骤1所述待预测大气环境监测站点及其周边多个大气环境监测站点气候环境条件相近,地理位置相对较密集集中。

进一步地,步骤4(1)中采用二维CNN进行空间特征提取;步骤5CNN模型采用一维CNN,GRU模型采用双层GRU。

进一步地,步骤6使用平均绝对误差MAE、均方根误差RMSE、可决定系数R

表达式如下:

其中,

进一步地,步骤7预测时刻为未来一小时或未来两小时。

一种融合空间和统计特征的CNN-GRU臭氧浓度预测模型,由上述任一种方法构建得到。

本发明的有益效果:

为进一步提高臭氧浓度预测的精度,本发明构建了一种融合空间和统计特征的CNN-GRU臭氧浓度预测模型,首先通过对时空因素以及其他气象因子(包括CO、NO

附图说明

图1为杭州市9个大气环境监测国控站点。

图2为2017~2019年杭州市浙江农大站点臭氧浓度变化可视图。

图3为杭州市各站点臭氧浓度日平均变化。

图4为各站点间臭氧浓度相关性的热力图(XS代表杭州市下沙站点,LP代表杭州市临平镇站点,YX代表杭州市云栖站点,HWB代表杭州市卧龙桥站点,HM代表杭州市和睦小学站点,CX代表杭州市城厢镇站点,ZAU代表杭州市浙江农大站点,BJ代表杭州市滨江站点,XX代表杭州市西溪站点)。

图5为臭氧与其他气象污染物浓度相关性的热力图。

图6为融合空间和统计特征的CNN-GRU臭氧浓度预测模型结构图。

图7为GRU模型结构图。

图8为不同模型预测准确率。

图9为不同模型未来一小时实测值与预测值(从左到右,从上到下依次为Statical_last3、Statical_last1、Spa-Convlstm、NSpa-LSTM、NSpa-GRU、NSpa-CNN、Spa-CNN-LSTM、Spa-CNN-GRU、Spa-sta-CNN-GRU)。

图10为不同模型未来二小时实测值与预测值(从左到右,从上到下依次为Statical_last3、Statical_last1、Spa-Convlstm、NSpa-GRU、NSpa-LSTM、NSpa-CNN、Spa-CNN-LSTM、Spa-CNN-GRU、Spa-sta-CNN-GRU)。

图11为各模型对未来一小时臭氧浓度预测和实测结果对比。

图12为各模型对未来二小时臭氧浓度预测和实测结果对比。

具体实施方式

下面结合实施例和附图对本发明做更进一步地解释。下列实施例仅用于说明本发明,但并不用来限定本发明的实施范围。

一种融合空间和统计特征的CNN-GRU臭氧浓度预测模型建立方法,包括如下步骤:

步骤1、获取待预测大气环境监测站点及其周边多个大气环境监测站点气象污染物多年历史数据,所述气象污染物包括O

步骤2、对步骤1获取的气象污染物数据预处理,即将气象污染物数据的缺失值进行线性填充;预处理后的气象污染物数据根据时间划分为训练集数据和测试集数据;

步骤3、对步骤2预处理后的气象污染物数据进行数据分析,包括从时间特征、空间特征和其他气象因子对臭氧浓度的影响进行特征分析,所述其他气象因子包括CO、NO

步骤4、根据步骤3,利用统计学方法和克里金插值法对步骤2训练集数据进一步预处理提取数据的时空相关特征,具体包括:

(1)提取空间特征:采用克里金插值法对训练集数据进行网格化处理,即根据各监测站点的经纬度,进行坐标平移,以待预测监测站点为原点,将多个监测站点构成m×n的网格,m、n为自然数,得到网格化数据;将网格化数据采用卷积神经网络进行空间特征提取,作为GRU分支和CNN分支的输入;其中,卷积神经网络为二维CNN;

(2)提取统计特征:就训练集数据,遍历每一个时间点,计算统计历史预测时间点前一小时臭氧浓度值、前三小时平均臭氧浓度值、24小时前同一时间点与下一小时的差值和24小时前下一小时与下二小时的差值,遍历每一个时间点,将计算得到的统计特征加入列表,将数据转换为二维矩阵,再通过全连接神经网络提取后作为统计分支的输出;

步骤5、步骤4(1)中提取空间特征后的数据作为GRU分支和CNN分支的输入分别通过GRU模型、CNN模型得到GRU分支的输出、CNN分支的输出,结合步骤4(2)中的统计分支的输出,将三个输出并行拼接作为全连接神经网络的输入,得到最终的输出,由此构建得到融合空间和统计特征的CNN-GRU臭氧浓度预测模型;其中,CNN模型采用一维CNN,GRU模型采用双层GRU;

步骤6、通过测试集数据对步骤5构建好的融合空间和统计特征的CNN-GRU臭氧浓度预测模型进行模型测试,利用模型测试的结果对所述融合空间和统计特征的CNN-GRU臭氧浓度预测模型的预测精度进行评价;

其中,使用平均绝对误差MAE、均方根误差RMSE、可决定系数R

表达式如下:

其中,

一种臭氧浓度预测方法,包括如下步骤:

步骤1、获取待预测大气环境监测站点及其周边多个大气环境监测站点气象污染物多年历史数据,所述气象污染物包括O

步骤2、对步骤1获取的气象污染物数据预处理,即将气象污染物数据的缺失值进行线性填充;预处理后的气象污染物数据根据时间划分为训练集数据和测试集数据;

步骤3、对步骤2预处理后的气象污染物数据进行数据分析,包括从时间特征、空间特征和其他气象因子对臭氧浓度的影响进行特征分析,所述其他气象因子包括CO、NO

步骤4、根据步骤3,利用统计学方法和克里金插值法对步骤2训练集数据进一步预处理提取数据的时空相关特征,具体包括:

(1)提取空间特征:采用克里金插值法对训练集数据进行网格化处理,即根据各监测站点的经纬度,进行坐标平移,以待预测监测站点为原点,将多个监测站点构成m×n的网格,m、n为自然数,得到网格化数据;将网格化数据采用卷积神经网络进行空间特征提取,作为GRU分支和CNN分支的输入;其中,卷积神经网络为二维CNN;

(2)提取统计特征:就训练集数据,遍历每一个时间点,计算统计历史预测时间点前一小时臭氧浓度值、前三小时平均臭氧浓度值、24小时前同一时间点与下一小时的差值和24小时前下一小时与下二小时的差值,遍历每一个时间点,将计算得到的统计特征加入列表,将数据转换为二维矩阵,再通过全连接神经网络提取后作为统计分支的输出;

步骤5、步骤4(1)中提取空间特征后的数据作为GRU分支和CNN分支的输入分别通过GRU模型、CNN模型得到GRU分支的输出、CNN分支的输出,结合步骤4(2)中的统计分支的输出,将三个输出并行拼接作为全连接神经网络的输入,得到最终的输出,由此构建得到融合空间和统计特征的CNN-GRU臭氧浓度预测模型;其中,CNN模型采用一维CNN,GRU模型采用双层GRU;

步骤6、通过测试集数据对步骤5构建好的融合空间和统计特征的CNN-GRU臭氧浓度预测模型进行模型测试,利用模型测试的结果对所述融合空间和统计特征的CNN-GRU臭氧浓度预测模型的预测精度进行评价;

其中,使用平均绝对误差MAE、均方根误差RMSE、可决定系数R

表达式如下:

其中,

步骤7、利用融合空间和统计特征的CNN-GRU臭氧浓度预测模型,将前24小时至当前的臭氧浓度数据作为模型输入,得到预测时刻臭氧浓度,所述预测时刻优选为未来一小时或未来两小时。

实施例1融合空间和统计特征的CNN-GRU臭氧浓度预测模型的构建

本实施例构建融合空间和统计特征的CNN-GRU臭氧浓度预测模型,采用adam优化器,初始学习率为0.01,迭代次数为30,批次为128。

步骤1、获取浙江省杭州市9个大气环境监测国控站点(如图1所示,分别为杭州市下沙站点、杭州市临平镇站点、杭州市云栖站点、杭州市卧龙桥站点、杭州市和睦小学站点、杭州市城厢镇站点、杭州市浙江农大站点(地理位置为今浙江大学华家池校区)、杭州市滨江站点、杭州市西溪站点)气象污染物多年历史数据,具体为2017年5月1日至2019年6月29日的逐小时监测数据,所述气象污染物包括O

步骤2、因气象污染物数据存在着部分缺测,使用Pandas库中的isnull函数进行查看,发现站点数据中,各气象污染物数据均有不同程度的缺失。因此,对步骤1获取的气象污染物数据预处理,即将气象污染物数据的缺失值进行线性填充。由于数据是时间序列数据,因此在针对缺失值的预处理中,将日期变成索引,利用集合差运算使用线性插值的方法进行数据填充,并把每一个站点的数据拿出来单独处理,存储在一个字典里。最后将预处理完的数据合成训练集和测试集。训练集数据和测试集数据根据时间划分,具体是将2017年5月1日~2018年4月30日共8735条数据作为训练集,2018年5月1日~2019年6月29日共10175条数据作为测试集。

步骤3、对步骤2预处理后的气象污染物数据进行数据分析,包括从时间特征、空间特征和其他气象因子对臭氧浓度的影响进行特征分析,所述其他气象因子包括CO、NO

(1)时间特征分析

分析时间序列数据的自相关性,能够更好地掌握目标因子的变化规律。图2为2017~2019年杭州市浙江农大站点臭氧浓度变化可视图,臭氧浓度变化呈现出明显的季节性特征,浓度整体呈现夏季高,冬季低,有着很强的时间相关性。

分析单个站点臭氧浓度日平均变化,如图3所示,各站点臭氧浓度大致在早晨8点至下午3点持续升高,在下午3时左右浓度达到最高值,下午6点后浓度呈下降趋势。

(2)空间特征分析

由于大气环境监测国控站点分布不均,稀疏的监测站点以及监测空白地区无法满足人们对臭氧浓度值的日常监测需求。为探究臭氧浓度的空间特性,本发明对杭州市的9个大气环境监测国控站点范围进行臭氧研究。由图3可知9个临近的站点基于时间序列的臭氧浓度日趋势基本保持一致,表现出较高的空间相关性。

由于污染物分散在不同的站点之间,分析相邻站点的数据可以对臭氧浓度的空间相关性进行补充。通过计算各站点间臭氧浓度的皮尔逊相关系数,热力图如图4所示。由图4可知各站点之间的臭氧浓度相关性各不相同,相关系数在0.86~0.96,由此可见,在一定程度上,各站点间的臭氧浓度会对彼此产生影响。因此,将空间特征作为模型的输入,预计可以提高模型的预测精度。

(3)臭氧与其他气象因子相关性分析

空气颗粒物之间存在着物理化学层面的相互转化,同时在运输过程中也会相互产生影响,它们之间存在着较为复杂的线性关系。图5为臭氧与其他气象污染物浓度相关性的热力图,由图5可以看出臭氧与其他气象污染物呈现较为明显的负相关关系,其中与NO

步骤4、根据步骤3,利用统计学方法和克里金插值法对步骤2训练集数据进一步预处理提取数据的时空相关特征,具体包括:

(1)提取空间特征:由于站点臭氧数据存在分布密度不均匀问题,为利用站点臭氧浓度的空间相关特征,采用克里金插值法对训练集数据进行网格化处理。克里金插值法是一种以变异函数理论和区域结构分析为基础,考虑样本点的空间位置关系,对区域化变量进行最优无偏估计的方法。其表达式为:

式中,

根据各监测站点的经纬度,进行坐标平移,以待预测监测站点为原点,将多个监测站点构成m×n的网格,m、n为自然数,得到网格化数据。克里金插值法根据输入的站点数据进行网格化处理,网格化的同时考虑数据的空间性质。

本实施例中,以浙江农大站点为原点,9个站点构成7×7的网格,得到网格化数据,能够更好地观测到区域内数据的空间分布状况。克里金插值法将已有站点数据转为网格化数据后便于采用卷积神经网络(CNN)进行空间特征的提取。

为保证预测效果的稳定性并降低网络模型的复杂度,本发明采用二维CNN进行空间特征的提取。二维CNN的特征表达能力有利于自动提取高维时间序列数据在不同级别的共同特征。具体的步骤为:通过克里金插值法后,数据的形式为样本总数×7×7×6(6为O

(2)提取统计特征:时间序列存在自相关性,其某一时刻的值会受到另一时刻值的影响,本发明使用基于统计域的时间特征作为预测模型的一个分支,具体为:就训练集数据,遍历每一个时间点,计算统计历史预测时间点前一小时臭氧浓度值、前三小时平均臭氧浓度值、24小时前同一时间点与下一小时的差值和24小时前下一小时与下二小时的差值,遍历每一个时间点,将计算得到的统计特征加入列表,将数据转换为二维矩阵,再通过全连接神经网络提取后作为统计分支的输出。

步骤5、步骤4(1)中提取空间特征后的数据作为GRU分支和CNN分支的输入分别通过GRU模型、CNN模型得到GRU分支的输出、CNN分支的输出,结合步骤4(2)中的统计分支的输出,将三个输出并行拼接作为全连接神经网络的输入,得到最终的输出,由此构建得到融合空间和统计特征的CNN-GRU臭氧浓度预测模型,如图6所示。本发明预测模型结构共有三个分支,分别为GRU分支、CNN分支和统计分支,三个分支为并行的网络结构。

在CNN分支的网络架构设计上,本发明使用一维CNN将有空间特征的数据输入到两层重复的卷积层,以较少的网络层尽可能多地提取特征,避免了在经过池化层后丢失重要的特征,选用卷积核为3×3,池化层大小为2×2,卷积池化后将数据输入到Dense层,第一层隐藏层的神经元个数设置为32,第二层隐藏层的神经元个数设置为2,得到CNN分支的输出。

本发明使用的GRU模型采用双层GRU结构,采用一对一和多对一两种递归单元展开形式,使得模型在每一个时间步对输入的时间序列数据产生新的记忆状态,并且能够在最后的一个时间步对记忆进行更新。GRU的计算公式如下:

z

r

y

式中,x

全连接神经网络使用线性整流函数(Relu激活函数)作为激活函数,其具有稀疏激活特性,避免了过拟合现象。其表达式如下:

f(x)=max(0,x)

x表示输入值,在全连接神经网络中代表输入向量x。

步骤6、通过测试集数据对步骤5构建好的融合空间和统计特征的CNN-GRU臭氧浓度预测模型进行模型测试,利用模型测试的结果对所述融合空间和统计特征的CNN-GRU臭氧浓度预测模型的预测精度进行评价;

其中,为了更加直观地评价模型的预测精度,使用平均绝对误差MAE、均方根误差RMSE、可决定系数R

表达式如下:

其中,

实施例2构建的融合空间和统计特征的CNN-GRU臭氧浓度预测模型的预测效果评价

(1)空间特征对预测结果的影响

通过空间特征分析可知,在一定程度上,站点所在的区域会对周围站点有不同程度的影响,因此可以提取预测站点周围站点的空间特征以提高臭氧浓度预测的准确率。浙江农大站点处于杭州市9个站点分布的偏中心位置,实验模型预测采用浙江农大站点的臭氧数据为代表。使用不基于空间特征的CNN(NSpa-CNN)、LSTM(NSpa–LSTM)、GRU(NSpa-GRU)和基于空间特征的CNN-LSTM(Spa-CNN-LSTM)、CNN-GRU(Spa-CNN-GRU)模型对未来一小时和两小时臭氧浓度进行预测,并将实验结果分析对比,结果如表1所示。观察实验结果,在预测未来一小时的臭氧浓度上,基于空间特征的CNN-GRU(Spa-CNN-GRU)模型效果最佳,R

表1空间特征对臭氧浓度预测结果的对比

(2)统计特征对预测结果的影响

通过时间特征分析可知,时间序列存在着强自相关性,其某一时刻的值会受到另一时刻值的影响。由表2所示,实验统计前一小时臭氧浓度值对于未来一小时臭氧浓度的模型R

表2统计特征对臭氧浓度预测结果的对比

(3)网络模型结构对预测结果的影响

为探究不同网络模型结构对精度的影响,将CNN-GRU并行模型(即本实施例(1)中的Spa-CNN-GRU)、CNN-LSTM并行模型(即本实施例(1)中的Spa-CNN-LSTM)和Convlstm串行模型进行对比,结果如表3所示。预测结果精度由高到低分别为CNN-GRU并行模型、CNN-LSTM并行模型、Convlstm串行模型。CNN-GRU并行模型预测未来一小时臭氧浓度的R

表3网络模型结构对臭氧浓度预测结果的对比

(4)不同模型对臭氧浓度预测的影响

为了验证基于空间特征和统计特征的CNN-GRU(Spa-sta-CNN-GRU)模型即实施例1构建的融合空间和统计特征的CNN-GRU臭氧浓度预测模型的精度,选择统计前一小时的臭氧浓度、统计前三小时平均臭氧浓度、无空间特征的CNN(NSpa-CNN)、无空间特征的LSTM(NSpa-LSTM)、无空间特征的GRU(NSpa-GRU)、基于空间特征的Convlstm(Spa-Convlstm,即本实施例(3)中的Convlstm串行模型)、基于空间特征的CNN-LSTM(Spa-CNN-LSTM)和基于空间特征的CNN-GRU(Spa-CNN-GRU)模型进行对比实验。不同模型未来一小时和未来二小时的预测值与实际值的对比如图8~12所示。

由图8可知,基于空间特征和统计特征的CNN-GRU(Spa-sta-CNN-GRU)模型即实施例1构建的融合空间和统计特征的CNN-GRU臭氧浓度预测模型的精度相比于其他模型有所提高,预测未来两小时臭氧浓度效果更为明显,R

实施例2涉及的模型参数设置代码分别如下:

NSpa-CNN:

model.add(Conv1D(input_shape=(time_step,6),filters=32,kernel_size=3,padding='same'))

model.add(Conv1D(input_shape=(time_step,6),filters=32,kernel_size=3,padding='same'))

model.add(MaxPooling1D())

model.add(Flatten())

model.add(Dense(units=2,activation='linear'))

NSpa-LSTM:

model=Sequential()

model.add(LSTM(input_shape=(time_step,6),units=32,return_sequences=True))

model.add(LSTM(units=8))

model.add(Flatten())

model.add(Dense(units=2,activation='linear'))

NSpa-GRU:

model=Sequential()

model.add(GRU(input_shape=(time_step,6),units=32,return_sequences=True))

model.add(GRU(units=8))

model.add(Flatten())

model.add(Dense(units=2,activation='linear'))

Spa-CNN-LSTM:

#CNN分支

x1=Conv1D(filters=32,kernel_size=3,activation='relu')(out)

x1=Conv1D(filters=32,kernel_size=3,activation='relu')(x1)

x1=MaxPooling1D()(x1)

x1=Flatten()(x1)

x1=Dense(32,activation='relu')(x1)

x1=Dense(pre_step,activation='linear')(x1)

#LSTM分支

x2=LSTM(units=32,return_sequences=True)(out)

x2=LSTM(units=16,return_sequences=False)(x2)

x2=Dense(32,activation='relu')(x2)

x2=Dense(pre_step,activation='linear')(x2)

#连接

x3=Concatenate()([x1,x2])

x3=Dense(32,activation='relu')(x3)

x3=Dense(pre_step,activation='linear')(x3)

model=Model(inputs,x3)

Spa-CNN-GRU:

#CNN分支

x1=Conv1D(filters=32,kernel_size=3,activation='relu')(out)

x1=Conv1D(filters=32,kernel_size=3,activation='relu')(x1)

x1=MaxPooling1D()(x1)

x1=Flatten()(x1)

x1=Dense(32,activation='relu')(x1)

x1=Dense(pre_step,activation='linear')(x1)

#GRU分支

x2=GRU(units=32,return_sequences=True)(out)

x2=GRU(units=16,return_sequences=False)(x2)

x2=Dense(32,activation='relu')(x2)

x2=Dense(pre_step,activation='linear')(x2)

#连接

x3=Concatenate()([x1,x2])

x3=Dense(32,activation='relu')(x3)

x3=Dense(pre_step,activation='linear')(x3)

model=Model(inputs,x3)

Spa-Convlstm:

model.add(ConvLSTM2D(input_shape=(time_step,7,7,6),filters=32,kernel_size=(3,3),padding='same',return_sequences=False))

model.add(Flatten())

model.add(Dense(units=32,activation='relu'))

model.add(Dense(units=2,activation='linear'))

Spa-sta-CNN-GRU:

#统计特征分支

inputs1=Input(shape=(df_static_train.shape[1]-1,))

x0=Dense(units=64,activation='relu')(inputs1)

x0=Dense(units=32,activation='relu')(x0)

x0=Dense(units=pre_step,activation='linear')(x0)

#CNN输入和GRU输入

inputs2=Input(shape=(time_step,7,7,6))

out=Conv2D(filters=filters_num,kernel_size=(7,7),activation='relu')(inputs2)

out=Reshape((time_step,filters_num))(out)

#CNN分支

x1=Conv1D(filters=32,kernel_size=3,activation='relu')(out)

x1=Conv1D(filters=32,kernel_size=3,activation='relu')(x1)

x1=MaxPooling1D()(x1)

x1=Flatten()(x1)

x1=Dense(32,activation='relu')(x1)

x1=Dense(pre_step,activation='linear')(x1)

#GRU分支

x2=GRU(units=32,return_sequences=True)(out)

x2=GRU(units=32,return_sequences=False)(x2)

x2=Dense(32,activation='relu')(x2)

x2=Dense(pre_step,activation='linear')(x2)

#连接

x3=Concatenate()([x0,x1,x2])

x3=Dense(32,activation='relu')(x3)

x3=Dense(pre_step,activation='linear')(x3)

model=Model([inputs1,inputs2],x3)

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号