本发明属于空气质量预测技术领域,特别是涉及一种基于多维度二次特征提取的多任务学习的空气质量预测方法。
背景技术:
近年来,由于能源消耗的增加,空气污染问题日益严重。空气质量预测是一项重要的建模任务,其对农业,水资源、运输等许多方面都具有重要影响,国家环保部门一直致力于解决空气质量问题。虽然在发现空气污染超标时,采取多种手段进行控制有一定的成效,但是目前的大气环境形势依然很严峻,污染物浓度预测对于严重污染事件的预警具有重要的意义和价值。
然而,由于空气中包含多种污染物气体,而且,这些气体会受到空间、时间相关性的影响。此外,空气质量还受到气象条件,如:是否刮风、是否下雨、当地温度等条件的影响。因此,结合多种因素对空气质量进行预测是一个十分值得研究的问题。
对空气质量预测已经提出了一些方法,可以将其分为三类,即确定性方法,统计学习方法和最近的深度学习方法。
确定性方法通常结合气象排放和化学模型,以建立空气质量预测的数值函数。但是,这些数值函数是由许多因素建立的,这些因素要么不完整,要么不准确,从而导致相对较差的预测准确性。另外,这些模型具有很高的复杂度,因此依赖于许多计算能力。
统计学习方法可分为参数方法和非参数方法。例如,基于分类、回归树(cart)和模糊逻辑提出了一些参数模型。尽管如此,问题仍然在于模型复杂性和计算可行性之间的权衡。
利用机器学习方法进行空气质量预测己成为研究领域的热点之一。由于空气中污染物数据演变过程的动态性和复杂性,这些数据又是训练预测模型非常重要的参数,不同污染物的浓度值变化存在着相似相关性,甚至相应变化趋势的相似相关性极大。目前都是将空间相关性和时间相关性作为分开独立的个体进行预测,并没有发现二者之间的相互联系同样影响着预测的准确性。
技术实现要素:
本发明目的是为了解决在预测空气质量时,一般考虑的空间相关性维度较低,且时间与空间二者的相关性考虑的不充分的问题,提出了一种基于多维度二次特征提取的多任务学习的空气质量预测方法。
本发明是通过以下技术方案实现的,本发明提出一种基于多维度二次特征提取的多任务学习的空气质量预测方法,具体包括以下步骤:
步骤1、获取所有被预测站点si的空气质量的数据集,其中,i=1,...,n,n表示站点个数;所述数据集包括气象数据集和污染物数据集;
步骤2、对获取到的数据集进行数据预处理,再按比例将预处理后的数据集分为训练集{tsi|i=1,...,n}和测试集{vsi|i=1,...,n};
步骤3、选取要预测的污染物p;
步骤4、依次对所有被预测站点si建立多维度二次特征提取的卷积神经网络模型和长短期记忆网络模型,所述卷积神经网络模型和长短期记忆网络模型的输入均为训练集{tsi|i=1,...,n},将污染物p在多维度二次特征提取的卷积神经网络模型上预测得到的预测值
步骤5、构建基于多维度二次特征提取的多任务学习模型,将所有站点的所述污染物p在多维度二次特征提取的卷积神经网络模型上预测得到的预测值和污染物p在长短期记忆网络模型上预测得到的预测值作为多任务学习模型的输入,输出即为污染物p的预测结果,从而得到了训练好的基于多维度二次特征提取的多任务学习模型;
步骤6、将测试集{vsi|i=1,...,n}输入到已经训练好的基于多维度二次特征提取的多任务学习模型中,输出为污染物p的预测值
进一步地,所述对获取到的数据集进行数据预处理具体为:
步骤2.1:将所述数据集中含有取值为空或取值为非法值的行删除;
步骤2.2:在连续的三个时间点内,对于同一特征,将特征值连续缺失数量大于二个的行删除,将特征值仅缺失一个的行用均值法进行补齐,将特征值仅缺失二个的行用线性插值法进行补齐。
进一步地,在步骤4中,依次对所有被预测站点si的污染物p进行污染物相关性分析,具体为:
步骤4.1:在横坐标为时间,纵坐标为污染物浓度值的同一平面直角坐标系中,对所述训练集{tsi|i=1,...,n}所对应的每个被预测站点{si|i=1,...,n}中的每列污染物特征
步骤4.2:计算步骤4.1中污染物特征与污染物p之间的皮尔逊相关系数,根据所求皮尔逊相关系数的值,对污染物特征与污染物p的相关性进行评级,得到对应六个等级{li|i=1,2,...,6}的污染物特征集{ui|i=1,2,...,6},相关性为:l1≥l2≥l3≥l4≥l5≥l6。
进一步地,所述多维度二次特征提取的卷积神经网络模型的学习过程为:
步骤4.3:将t时刻,被预测站点si的污染物p的浓度值
步骤4.4:将步骤4.2中相关性评级为l1的污染物特征集u1在t时刻的浓度值,放在最靠近a的位置;将相关性评级为l2的污染物特征集u2在t时刻的浓度值,放在第二靠近a的位置;以此类推,相关性评级为l6的污染物特征集u6在t时刻的浓度值,放在最远离a的位置;
步骤4.5:对于第一层卷积神经网络的每个位置污染物特征的浓度值
步骤4.6:根据b所在被预测站点的地理位置,获取离中心位置b所在被预测站点欧氏距离相对较小的八个被预测站点,所述八个被预测站点的各自的中心位置放置各自站点相同污染物特征p′的浓度值,将相同污染物特征p′在t时刻的风速
步骤4.7:训练第二层卷积神经网络,其中卷积核w=3x3,步长为3,进行二次卷积操作,得到位于中心位置的污染物特征浓度值
步骤4.8:将步骤4.7中训练得到的预测值
步骤4.9:t后移一个时间单位,重复步骤4.3至步骤4.8共h次,得到被预测站点si的污染物p的浓度值
进一步地,在长短期记忆网络模型学习过程中,通过输入前h小时的污染物p的浓度值,计算得到被预测站点si预测的第h+1小时的污染物p的浓度值的预测值。
进一步地,计算过程中使用的公式有:
计算长短期记忆网络模型lstm的遗忘门:
ftσ(wf·[ht-1,xt]+bf)
其中,ft为遗忘门,表示遗忘上一层细胞状态的概率;ht-1表示上一序列的隐藏状态,xt表示本序列数据,wf表示遗忘门的权重,bf表示遗忘门的偏差;σ表示sigmoid激活函数;
计算长短期记忆网络模型lstm的输入门:
it=σ(wi·[ht-1,xt]+bi)
其中,it表示输入门,wi表示输入门的权重,bi表示输入门的偏差;
计算长短期记忆网络模型lstm当前输入的单元状态:
其中,ct称为当前时刻细胞状态,
计算长短期记忆网络模型lstm的输出门:
ot=σ(wo·[ht-1,xt]+bo)
ht=ot·tanh(ct)
其中,ot表示输出门,wo表示输出门的权重,bo表示输出门的偏差,ht表示当前序列的隐藏状态;
通过以上公式的计算能够得到长短期记忆网络模型预测的预测值
进一步地,所述基于多维度二次特征提取的多任务学习模型进行迭代训练过程中使用的损失函数为:
其中,n表示站点个数,
本发明的有益效果为:
(1)本发明针对普通卷积神经网络没能多维度细化地考虑多维度气体流动相关性的问题,提出一种基于多维度二次特征提取的多任务学习的空气质量预测方法,相较于普通卷积神经网络,利用多维度二次特征提取卷积神经网络对空间气体的流动关系做出细致的建模,学习到的知识更多、更细化,可以提升预测精度。
(2)本发明针对传统时空数据建模时仅考虑时间内部相关性和空间内部相关性,未考虑到时空之间的相关性的问题。本发明从空间、时间和时空三个角度考虑与污染物值相关的影响信息,通过多任务学习对多个时间、空间任务间的相互影响的学习来降低预测偏差,使得时间、空间模型的预测精度更准确。
附图说明
图1是基于多维度二次特征提取的多任务学习的空气质量预测方法流程图。
图2是本发明的整体架构图。
图3是本发明关于污染物气体维度和时间维度的cnn单一特征提取示意图。
图4是本发明关于污染物气体维度和时间维度的cnn特征提取总体示意图。
图5是本发明单一站点关于气象数据维度、地理距离维度和污染物数据维度的cnn特征提取示意图。
图6是本发明多站点关于气象数据维度、地理距离维度和污染物数据维度的cnn特征提取示意图。
图7是本发明的lstm的单元示意图。
具体实施方式
下面将结合本发明实施例中的附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
结合图1-图2,本发明提出一种基于多维度二次特征提取的多任务学习的空气质量预测方法,具体包括以下步骤:
步骤1、获取所有被预测站点si的空气质量的数据集,其中,i=1,...,n,n表示站点个数;所述数据集包括气象数据集和污染物数据集等;
步骤2、对获取到的数据集进行数据预处理,再按比例将预处理后的数据集分为训练集{tsi|i=1,...,n}和测试集{vsi|i=1,...,n};
步骤3、选取要预测的污染物p;
步骤4、依次对所有被预测站点si建立多维度二次特征提取的卷积神经网络模型和长短期记忆网络模型,所述卷积神经网络模型和长短期记忆网络模型的输入均为训练集{tsi|i=1,...,n},将污染物p在多维度二次特征提取的卷积神经网络模型上预测得到的预测值
步骤5、构建基于多维度二次特征提取的多任务学习模型,将所有站点的所述污染物p在多维度二次特征提取的卷积神经网络模型上预测得到的预测值和污染物p在长短期记忆网络模型上预测得到的预测值作为多任务学习模型的输入,输出即为污染物p的预测结果,从而得到了训练好的基于多维度二次特征提取的多任务学习模型;
步骤6、将测试集{vsi|i=1,...,n}输入到已经训练好的基于多维度二次特征提取的多任务学习模型中,输出为污染物p的预测值
所述对获取到的数据集进行数据预处理具体为:
步骤2.1:将所述数据集中含有取值为空或取值为非法值的行删除;
步骤2.2:在连续的三个时间点内,对于同一特征,将特征值连续缺失数量大于二个的行删除,将特征值仅缺失一个的行用均值法进行补齐,将特征值仅缺失二个的行用线性插值法进行补齐。
在步骤4中,依次对所有被预测站点si的污染物p进行污染物相关性分析,具体为:
步骤4.1:在横坐标为时间,纵坐标为污染物浓度值的同一平面直角坐标系中,对所述训练集{tsi|i=1,...,n}所对应的每个被预测站点{si|i=1,...,n}中的每列污染物特征
步骤4.2:计算步骤4.1中污染物特征与污染物p之间的皮尔逊相关系数,根据所求皮尔逊相关系数的值,对污染物特征与污染物p的相关性进行评级,得到对应六个等级{li|i=1,2,...,6}的污染物特征集{ui|i=1,2,...,6},相关性为:l1≥l2≥l3≥l4≥l5≥l6。
所述多维度二次特征提取的卷积神经网络模型的学习过程为:
步骤4.3:将t时刻,被预测站点si的污染物p的浓度值
步骤4.4:将步骤4.2中相关性评级为l1的污染物特征集u1在t时刻的浓度值,放在最靠近a的位置;将相关性评级为l2的污染物特征集u2在t时刻的浓度值,放在第二靠近a的位置;以此类推,相关性评级为l6的污染物特征集u6在t时刻的浓度值,放在最远离a的位置;如图4所示;
步骤4.5:对于第一层卷积神经网络的每个位置污染物特征的浓度值
步骤4.6:根据b所在被预测站点的地理位置,获取离中心位置b所在被预测站点欧氏距离相对较小的八个被预测站点,所述八个被预测站点的各自的中心位置放置各自站点相同污染物特征p′的浓度值,将相同污染物特征p′在t时刻的风速
步骤4.7:训练第二层卷积神经网络,其中卷积核w=3x3,步长为3,进行二次卷积操作,得到位于中心位置的污染物特征浓度值
步骤4.8:将步骤4.7中训练得到的预测值
步骤4.9:t后移一个时间单位,重复步骤4.3至步骤4.8共h次,得到被预测站点si的污染物p的浓度值
结合图7,在长短期记忆网络模型学习过程中,通过输入前h小时的污染物p的浓度值,计算得到被预测站点si预测的第h+1小时的污染物p的浓度值的预测值。
计算过程中使用的公式有:
计算长短期记忆网络模型lstm的遗忘门:
ft=σ(wf·[ht-1,xt]+bf)
其中,ft为遗忘门,表示遗忘上一层细胞状态的概率;ht-1表示上一序列的隐藏状态,xt表示本序列数据,wf表示遗忘门的权重,bf表示遗忘门的偏差;σ表示sigmoid激活函数;
计算长短期记忆网络模型lstm的输入门:
it=σ(wi·[ht-1,xt]+bi)
其中,it表示输入门,wi表示输入门的权重,bi表示输入门的偏差;
计算长短期记忆网络模型lstm当前输入的单元状态:
其中,ct称为当前时刻细胞状态,
计算长短期记忆网络模型lstm的输出门:
ot=σ(wo·[ht-1,xt]+bo)
ht=ot·tanh(ct)
其中,ot表示输出门,wo表示输出门的权重,bo表示输出门的偏差,ht表示当前序列的隐藏状态;
通过以上公式的计算能够得到长短期记忆网络模型预测的预测值
所述基于多维度二次特征提取的多任务学习模型进行迭代训练过程中使用的损失函数为:
其中,n表示站点个数,
以上对本发明所提出的一种基于多维度二次特征提取的多任务学习的空气质量预测方法,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。