一种智慧城市的空气质量大数据管理方法及***
技术领域
本发明涉及大数据及云计算领域,特别是一种智慧城市的空气质量大数据管理方法及***。
背景技术
空气质量的问题成为近几年来各国关注的焦点问题。由于废料、尾气产生的有害细颗粒物造成大气环境的污染,也就是广为人知的PM2.5及PM10。空气质量的问题不仅会对人体的身体健康造成永久性的危害,也会对生态***及社会生产造成不利影响。因此,采用对空气质量进行监测和管理的方法可以在一定程度上解决空气污染造成的影响。
现阶段的研究主要针对与局部室内或区域室外的空气质量监测,通常由监测***、主控处理***和终端***构成,例如公开号为CN109187873A的专利提出一种区域空气质量实时感知***,包括信息采集子***、信息处理设备和智能终端;公开号为CN10972511A的专利提出一种包括检测装置、云端服务器和用户终端的空气质量检测***。这些方法只能做到监测当下的实时空气质量,并尽可能及时地做出反应,并且在数据量过大时计算和处理缓慢,无法对未来做出有效地预测和预警。
伴随着大数据和云计算技术的发展,对广泛地区的大量空气质量数据的处理成为可能,同时结合人工智能算法,挖掘这些数据中的有效信息,预测出未来的空气质量数据,可以对未来的空气质量进行预警。
发明内容
本发明所要解决的技术问题是,针对现有技术不足,提供一种空气质量管理方法及***,进行高精度的空气质量数据预测。
为解决上述技术问题,本发明所采用的技术方案是:一种智慧城市的空气质量大数据管理方法,包括以下步骤:
1)智慧城市的空气质量大数据管理主***工作,采集每个监测点的监测指标数据,并将采集的空气质量数据通过实时大数据传输模块传输给Hadoop大数据云端存储模块;
2)在Hadoop大数据云端存储模块中,按照HDFS分布式文件管理框架将传输来的空气质量大数据进行写入。所述HDFS分布式文件管理框架按照地点-指标-时间三个维度来建立检索标签;
3)在各监测点的各指标空气质量数据量达到5000时,启动各监测点的空气质量预警分***,从Hadoop大数据云端存储模块中获取预测所需要的数据;
4)基于Spark分布式计算平台,建立空气质量多指标输入集成模型A和空气质量空间集成模型B,模型的训练和预测过程可以在Spark平台中进行并行计算,适用于空气质量的大数据环境;
5)预测某个监测点未来某个监测指标的变化时,以6组监测指标的N个历史监测数据作为输入,未来M个监测指标空气质量指数作为输出,使用经验小波分解-正则化极限学习机作为预测器,为每组指标训练一个预测器,使用灰狼优化算法优化每个预测器的加权分配,得到空气质量多指标输入集成模型A;
以所有周边监测点历史L个同一监测指标的数据作为输入,当前监测点的未来M个监测指标的数据作为输出,使用经验小波分解-长短期记忆神经网络作为预测器,为每个周边监测点训练一个预测器,计算每个预测器的加权分配,得到空气质量空间集成模型B;所述每个周边监测点的权重设置如下:其中,li为第i个周边监测点与当前监测点的距离,为所有周边监测点到当前监测点距离之和,lp为其余周边监测点与当前监测点的距离;P为监测点的数量;
6)将空气质量多指标输入集成模型A和空气质量空间集成模型B的输出结果进一步进行加权运算,得到未来M个时间点的监测指标数据。
步骤3)之后,还执行如下操作:对输出模块输出的未来T分钟的监测指标进行分级处理:
当预测未来T分钟AQI指数均小于或等于100时,不采取处理措施,继续空气质量监控及预测;
当未来T分钟AQI指数大于100但均小于或等于200时,采取一级应急措施,提交记录、向管理人员发出警报、向当前监测点管辖范围发布信息;
当未来T分钟AQI指数大于200时,采取二级应急措施,提交记录、向管理人员发出警报、向当前监测点管辖范围发布信息,通过互联网发布信息。
步骤3)中,将模型A与模型B的输出结果按照75%和20%的权重进行求和,得到M个时间点的监测指标数据。
一种智慧城市的空气质量大数据管理***,包括:
Hadoop大数据云端存储模块,用于存储数据获取模块采集的每个监测点的监测指标数据;
Spark大数据分布式预测模型,用于执行如下操作:预测某个监测点未来某个监测指标的变化时,以6组监测指标的N个历史监测数据作为输入,未来M个监测指标空气质量指数作为输出,使用经验小波分解-正则化极限学习机作为预测器,为每组指标训练一个预测器,使用灰狼优化算法优化每个预测器的加权分配,得到空气质量多指标输入集成模型A;
以所有周边监测点历史L个同一监测指标的数据作为输入,当前监测点的未来M个该监测指标的数据作为输出,使用经验小波分解-长短期记忆神经网络作为预测器,为每个周边监测点训练一个预测器,计算每个预测器的加权分配,得到空气质量空间集成模型B;
输出模块,用于将空气质量多指标输入集成模型A和空气质量空间集成模型B的输出结果进行求和运算,得到未来M个时间点的监测指标数据,即未来T分钟的监测指标。
还包括:
预警信息播报模块,用于对输出模块输出的未来T分钟的监测指标进行分级处理:
当预测未来T分钟AQI指数均小于或等于100时,不采取处理措施,继续空气质量监控及预测;
当未来T分钟AQI指数大于100但均小于或等于200时,采取一级应急措施,提交记录、向管理人员发出警报、向当前监测点管辖范围发布信息;
当未来T分钟AQI指数大于200时,采取二级应急措施,提交记录、向管理人员发出警报、向当前监测点管辖范围发布信息,通过互联网发布信息。
所述数据获取模块获取的数据包括:每个监测点所有监测指标的5000个历史数据点,以及以该监测点为圆心,半径10KM以内的相邻监测点所有监测指标的3000个历史数据点的地理位置信息。
与现有技术相比,本发明所具有的有益效果为:
1、本发明可以提供精度更高的空气质量数据;除在各监测点使用高精度颗粒物浓度传感器和气体成分浓度分析传感器外,建立空气质量多指标输入集成模型A和空气质量空间集成模型B,通过大量数据的训练,可以进行高精度的空气质量数据预测;使用预测的空气质量数据可以进一步判断实际监测数据是否异常,排查故障传感器。
2、提供更大数据量的管理方式。使用Hadoop大数据平台存储各监测点的空气质量数据,建立完善的文件存储体系,读取和写入速度更快、数据量更大,将空气质量的管理带入大数据时代。
3、提供更快的计算速度。在Hadoop大数据平台的基础上,使用Spark分布式计算平台建立分布式的并行计算预测模型,提供更快的计算速度,满足空气质量大数据***工作的时间要求。
附图说明
图1为基于Hadoop的HDFS空气质量大数据存储框架;
图2为***工作流程图。
具体实施方式
本发明提出的空气质量大数据的管理***,可以多个智慧城市的空气质量数据进行管理和预警。首先建立一个互联的多维空气质量大数据库,该数据库为云端数据库,提供存储和检索的功能,基于Hadoop平台搭建智慧城市的空气质量大数据管理主***。云端主***的数据来源于各个分***的监测点,监测点本地仅储存少量历史数据,空气质量预警分***从主***获取所需数据,结合多种影响因素和其相应的数据特征,使用基于Spark的分布式预测模型对当地空气质量数据进行预测,对可能出现的严重情况进行预警,并采取处理措施。
智慧城市的空气质量大数据管理主***包括的功能模块:
1.监测点数据采集模块:
智慧城市内设有多个空气质量监测点,每个监测点安装有多种空气质量传感器,这些传感器包括:
颗粒物浓度检测传感器:PM2.5浓度、PM10浓度。
气体成分浓度分析传感器:连续监测空气中的SO2、NO2、O3、CO等。
同时,监测点还应提供的信息包括:监测点地地理坐标,即其经纬度信息,监测点地海拔信息,监测点记录空气质量数据的相应时间,特别地,监测点采样时间间隔为5分钟。
2.实时大数据传输模块:
监测点传感器采集的空气质量数据,具有数据量大、维度高、时效性高等特点,因此这些空气质量数据从监测点传输至附近工作站时,和从工作站传输至云端平台时,需要高速度、高质量光纤作为传输介质,保证空气质量数据采集和上传过程的时效性。
特别地,空气质量数据在采集和上传时,均需要按照索引标签分类上传。
3.Hadoop大数据云端存储模块:
Hadoop是一种针对大数据开发的一种分布式存储和处理软件框架,Hadoop平台中包括分布式文件管理***HDFS,HDFS具有高可靠性、高扩展性、高效性、高容错性等优点,基于HDFS大数据文件管理***,Spark可以采取针对于大数据的分布式计算,Hadoop/Spark平台非常适合空气质量大数据的管理和处理操作,因此本发明选用这两个平台作为***搭建的基础。本发明的大数据云端存储模块基于Hadoop平台开发,使用Hadoop的HDFS文件管理***在云端存储多维的空气质量大数据。
HDFS支持多种存储格式,由于本***的大数据传输为实时的流式输入,并且在读取时通常为获取大量数据进行处理,因此采用SequenceFile格式、采取不压缩的<Key、Value>方式进行行存储,其中Key设为相应Value的采集时间编号,相邻时间编号间隔为采集时间间隔5分钟。
特别地,本发明提出的Hadoop大数据云端存储模块可对在云端存储的空气质量大数据进行检索。在HDFS文件管理***中,对不同地点、不同指标的空气质量数据进行分类存储,即检索层级为:地点-指标-时间(例:监测点1-PM10指标-数据点1050),这样就可以实现对地点、指标、时间的检索。
基于Hadoop的HDFS空气质量大数据存储框架如图1。
空气质量预警分***包括的功能模块:
1.数据获取模块:
每个监测点的空气质量预警分析***负责本监测点周边地区的空气污染预警及处理工作。监测点的数据获取模块从云端空气质量大数据平台获取数据,这些数据是Spark大数据分布式预测模型进行训练和预测所需的数据。
获取的数据包括:本监测点所有监测指标的5000个历史数据点,方圆半径10KM以内相邻监测点所有指标的3000个历史数据点其地理位置信息。
2.Spark大数据分布式预测模型:
基于本监测点数据获取模块读取的数据,Spark大数据分布式预测模型进行学习和预测。模型从两个方面进行考虑:多种历史监测指标变化对未来空气质量指数的影响、多个周边地区当前空气质量状况对该地区的影响。
空气质量多指标输入集成模型A:预测未来某个指标的变化时,以50个各指标的历史监测数据作为输入,未来6个该指标空气质量指数作为输出,使用经验小波分解-正则化极限学习机(EWT-RELM)作为预测器,为每组指标训练一个预测器,进一步使用灰狼优化算法(GWO)优化每个预测器的加权分配,对模型A进行训练。
空气质量空间集成模型B:预测未来某个指标的变化时,以所有周边监测点历史30个同一指标的数据作为输入,本监测点的未来6个该指标的数据作为输出,使用经验小波分解-长短期记忆神经网络(EWT-LSTM)作为预测器,为每个周边监测点训练一个预测器,每个周边监测点的权重如下设置:
其中,li为第i个周边监测点与本监测点的距离,为所有周边监测点到本监测点距离之和,lp为其余周边监测点到本监测点距离,对模型B进行训练。
模型A与模型B的输出结果按照75%与25%的权重进行求和得到未来6个时间点的该指标数据,也就是未来30分钟的该指标数据。
3.预警信息播报模块
本模块负责对预测出的未来30分钟所有指标数据计算空气质量指数(AQI),采取合理的处理措施。采用分级的处理方法,如下:
当预测未来30分钟AQI指数均小于或等于100,则不采取处理措施,继续空气质量监控及预测;
当未来30分钟AQI指数存在大于100但均小于或等于200时,采取一级应急措施:向主***提交记录、向管理人员发出警报、通过互联网及短信方式向本监测点管辖范围发布信息;
当未来30分钟AQI指数存在大于200的情况时,采取二级应急措施:向主***提交记录、向管理人员发出警报、通过互联网及短信方式向本监测点管辖范围发布信息、通过互联网向全市发布信息。
(1)详细步骤
步骤1:智慧城市的空气质量大数据管理主***初次启动,各监测点的检测传感器组开始工作,收集初始的空气质量数据,空气质量数据的采集基于现存的颗粒物浓度检测传感器和气体成分浓度分析传感器即可,采样间隔5分钟。
所述空气质量数据包括:PM2.5浓度、PM10浓度、SO2浓度、NO2浓度、O3浓度及CO浓度。特别地,初次启动工作人员需采集本监测点的地理位置信息,即本站点的精确经纬度坐标。
步骤2:各监测点将采集的空气质量数据通过实时大数据传输模块传输给Hadoop大数据云端存储模块。传输过程要求光纤介质传输以保证传输速度,传输时各空气质量指标并行传输,初次传输还应传输本监测点的地理位置信息。
步骤3:在Hadoop大数据云端存储模块中,按照HDFS分布式文件管理框架将传输来的空气质量大数据进行写入。所述HDFS分布式文件管理框架按照地点-指标-时间三个维度来建立检索标签,具体管理框架如图一。
特别地,由于本***的大数据传输为实时的流式输入,并且在读取时通常为获取大量数据进行处理,因此HDFS中的存储格式采用SequenceFile格式、采取不压缩的<Key、Value>方式进行行存储,其中Key设为相应Value的采集时间编号,相邻时间编号间隔为采集时间间隔5分钟。在初次传输时,对各个监测点的地理位置信息单独存储。
步骤4:Hadoop大数据云端存储模块按照步骤3的方式进行空气质量数据的写入,在各监测点的各指标空气质量数据量达到5000时,启动各监测点的空气质量预警分***。
步骤5:各个监测点的数据获取模块从Hadoop大数据云端存储模块中获取模型训练所需要的数据。获取的数据包括:本监测点所有指标的5000个历史数据点,方圆半径10KM以内相邻监测点的所有指标的3000个历史数据点及其地理位置信息。
步骤6:基于Spark平台建立分布式数据预测空气质量多指标输入集成模型A和空气质量空间集成模型B,模型的训练和预测过程可以在Spark平台中进行并行计算,适用于空气质量的大数据环境,根据获取的数据对模型A和模型B进行训练,预测未来30分钟所有指标的数据变化,以预测某监测点未来PM2.5数据变化为例,假设该监测点有3个周边监测点,则模型的具体训练步骤如下:
空气质量多指标输入集成模型A建模步骤如下:
1.训练集划分:模型A训练集为该监测点6组指标的5000个历史数据点,共6*5000个数据,每组指标训练一个预测器。即5000个PM2.5数据训练第1个PM2.5预测器、5000个PM10数据训练第2个PM2.5预测器、5000个SO2数据训练第3个PM2.5预测器、5000个NO2数据训练第4个PM2.5预测器、5000个O3数据训练第5个PM2.5预测器、5000个CO数据训练第6个PM2.5预测器。特别地,这些数据需要被转化为弹性分布式数据集格式(RDD),以便在Spark平台中并行计算。
2.预测器:每组指标所用的预测器相同,由于数据量较大,均采用在时间序列预测效果较好、训练速度快的经验小波分解-正则化极限学***台搭建,在训练和预测过程中进行分布式并行计算。以第1个PM2.5预测器为例,该预测器结构及训练过程如下:
2A.5000个一维PM2.5数据首先经过EWT进行信号分解,降低原始PM2.5序列的复杂程度,使得RELM可以更好地拟合每个子序列。EWT使用经验小波函数和经验尺度函数处理原始PM2.5序列,将原始PM2.5序列自适应地分解为多个子序列,每个PM2.5子序列包括5000个数据。
2B.对每个PM2.5子序列,使用正则化极限学习机训练和预测,RELM的输入神经元数量为50,输出神经元数量为6,设定其隐含层神经元数量为L,训练过程求解经验风险最小化和结构风险最小化,求解方程如下:
其中T为输出目标向量,H为输入向量经过分线性映射后地输出矩阵,β即为隐含层与输出层之间的矩阵,使用拉格朗日函数求解此过程,得到输出矩阵如下:
2C.一个PM2.5子序列训练完成后,重复步骤2B进行其它子序列的训练,即一个PM2.5预测器需要n个正则化极限学习机,n为子序列的数目。
2D.训练完成后的正则化极限学习机对PM2.5子序列进行预测,得到每组子序列的预测结果,将这些预测结果进行重构后得到该PM2.5预测器的预测结果。
3.其它PM2.5预测器的训练及预测步骤同2。特别地,这些预测器的数据分解、训练及预测过程在Spark分布式框架中并行进行。
4.当所有PM2.5预测器预测完成后,将得到6组输出结果,每组6个输出数据点,6组输出结果应当按合适的比例加权得到最终的PM2.5预测结果。
5由于灰狼优化算法(GWO)可以实现多个参数的寻优过程,使用灰狼优化算法优化每个预测器的权重,将6组输出结果按照优化后的权重加权,得到最终模型A的输出结果,该优化过程如下:
5A.确定优化变量,使用GWO优化6个预测器的输出结果权重,分别设其为Wi,i=1,2,...,6。
5B.确定搜索空间,由于优化6个参数,所以GWO的搜索空间为六维,设初始每个预测器的权重为Wi0=0.1667,则每个维度搜索空间的上界和下界按下式求得:
其中和分别为每个权重的搜索空间上界和下界,a1=0,a2=6为控制搜索空间大小的系数,特别地,这里需要限制条件
5C.生成初始化种群,种群中每个个体狼的位置有6个维度,分别对应于6个预测器的权重,狼群中第p头狼的位置记为posp,则有:
其中i=1,2,...,6,r∈[0,1]为随机数。
5D.确定优化目标函数,目标函数明确GWO的优化方向,选取预测结果与真实值的平均绝对误差作为当前权重的评价指标,目标函数如下:
其中x(i)为PM2.5序列的真实值,为预测出的PM2.5值,n为样本数。
6.得到优化后的各预测器权重,按照该权重得到模型A的最终输出结果。
空气质量空间集成模型B建模步骤如下:
7.训练集划分:模型B训练集为3个周边监测点的PM2.5指标的3000个历史数据点,共3*3000个数据,每个周边监测点训练一个预测器。即第1个周边监测点的3000个PM2.5数据训练第1个PM2.5预测器、第2个周边监测点的3000个PM2.5数据训练第2个PM2.5预测器、第3个周边监测点的3000个PM2.5数据训练第3个PM2.5预测器。特别地,这些数据需要被转化为弹性分布式数据集格式(RDD),以便在Spark平台中并行计算。
8.预测器:对3个周边监测点建立的PM2.5预测器相同,由于数据量相比较少,所以均采用在时间序列预测效果更好的深度学***台搭建,在训练和预测过程中进行分布式并行计算。以第1个周边监测点的PM2.5预测器为例,该预测器结构及训练过程如下:
8A.第1个周边监测点的3000个一维PM2.5数据首先经过EWT进行信号分解,分解方式与2A相同,降低原始PM2.5序列的复杂程度,使得LSTM可以更好地拟合每个子序列。
8B.对每个分解得到的PM2.5子序列,使用LSTM训练和预测,LSTM网络结构中具有三种独特的门限结构:输入门、遗忘门和输出门,LSTM的输入门个数M=25,输出门个数为N=6。定az,ai,af,ao∈RN×M是LSTM的输入权重;rz,ri,rf,ro∈RN×M是LSTM的输出权重;LSTM状态的权重设为ωi,ωf,ωo∈RN;偏置设为bz,bi,bf,bo∈RN,则LSTM预测器的建模过程如下:
zt=g(azxt+rzyt-1+bz) (7)
其中zt为输入门的激励,xt为输入向量,t为迭代次数,g(x)为输入门的激励函数。遗忘的过程如下:
其中it为输出门的激励,ft为遗忘门的激励,ct=ztit+ct-1f为单元状态,f(x)为遗忘门的激励函数。输出的过程如下:
ot=f(aoxt+royt-1+ωoct-1+bo) (9)
其中ot为输出门,则当前单元的输出如下:
yt=h(ct)ot (10)
其中h(x)为输出门的激励函数。
在本发明中,所述输入门和输出门的激励函数设为双曲正切函数,遗忘门的激励函数设为Sigmoid函数,公式如下:
进一步地,采用反向误差传播算法(BP)对LSTM网络进行多次迭代,完成对一个子序列的LSTM网络。
8C.一个PM2.5子序列LSTM网络训练完成后,重复步骤8B进行其它子序列的训练,即一个PM2.5预测器需要n个LSTM神经网络,n为子序列的数目。
8D.所有训练完成后的LSTM网络对PM2.5子序列进行预测,得到每组子序列的预测结果,将这些预测结果进行重构后得到该周边监测点的PM2.5预测器的预测结果。
9.其它2个周边监测点的PM2.5预测器的训练及预测步骤同8。特别地,这些预测器的数据分解、训练及预测过程在Spark分布式框架中并行进行。
10.当所有PM2.5预测器预测完成后,将得到3组输出结果,每组6个输出数据点。
11.由于不同周边监测点空气污染物的扩散会对该监测点的空气质量造成影响,且扩散主要与距离有关,所以不同周边监测点对本监测点未来空气质量数据的影响权重应该由距离决定。
因此,每个周边监测点的权重通过以下公式计算:
其中,li为第i个周边监测点与本监测点的距离,为所有周边监测点到本监测点距离之和,lp为其余周边监测点到本监测点距离,对模型B进行训练,在本例中i=3。
12.计算得到各预测器的权重,按照该权重得到模型B的最终输出结果。
13.由于在模型A中多个影响因素均为自身监测点的数据,所以模A的预测结果更能反映未来的变化情况,但同时周边监测点也会对该监测点的未来空气质量产生影响,所以,模型A与模型B的预测结果按照75%与25%的比例加权,得到最终未来30分钟PM2.5的变化情况。
步骤7:其它指标的预测过程同步骤6,均使用空气质量多指标输入集成模型A和空气质量空间集成模型B在Spark平台中进行训练和预测。
步骤8:预警信息播报模块负责对预测出的未来30分钟各指标空气质量数据进行评定,使用国家标准的空气质量指数(AQI)进行评定,针对不同的未来AQI采取分级的处理方法,处理方法如下:
当预测未来30分钟AQI指数均小于或等于100,则不采取处理措施,继续空气质量监控及预测;
当未来30分钟AQI指数存在大于100但均小于或等于200时,采取一级应急措施:向主***提交记录、向管理人员发出警报、通过互联网及短信方式向本监测点管辖范围发布信息;
当未来30分钟AQI指数存在大于200的情况时,采取二级应急措施:向主***提交记录、向管理人员发出警报、通过互联网及短信方式向本监测点管辖范围发布信息、通过互联网向全市发布信息。
步骤9:各监测点持续对空气质量进行检测并上传,Hadoop大数据云端存储模块实时更新全部空气质量数据,Spark分布式预测模型则根据更新后的数据持续进行预测。特别地,空气质量数据的采集和更新的时间间隔均为5分钟,上传和预测均有充足时间进行,且在第一次训练完成后的一段时间内,所述Spark分布式预测模型不需要再次进行训练,只加入更新后的数据进行预测。
进一步地,预警信息播报模块根据Spark分布式预测模型的未来30分钟空气质量变化预测结果,每5分钟进行一次判断、预警或处理的工作。
步骤10:所述Spark分布式预测模型需要定期进行重新训练,重新训练的时间间隔设定为9小时,或在预测结果与实际值偏差较大时进行重新训练。