面向空气污染物的自相关误差Informer模型长时序预测方法及系统转让专利

申请号 : CN202210282721.0

文献号 : CN114662389B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 蔡坤张旭升李莘莘张静葛强

申请人 : 河南大学

摘要 :

本发明的一种面向空气污染物的自相关误差Informer模型长时序预测方法及系统,该方法包括:基于自相关误差对Informer模型进行改进,得到AE‑Informer模型;收集各站点的小时空气污染物数据并进行预处理,包括:缺失值补缺,统一编码;对AE‑Informer模型进行超参数的调节;基于处理后的各站点的小时空气污染物数据,采用近似求导反向误差传播算法训练AE‑Informer模型;对实时收集的各站点小时空气污染物数据进行预处理,之后输入训练好的AE‑Informer模型中,进行空气污染物的长时序预测。本发明在空气污染物浓度长时序预测方面取得了较高的预测精度。

权利要求 :

1.一种面向空气污染物的自相关误差Informer模型长时序预测方法,其特征在于,包括:步骤1:基于自相关误差对Informer模型进行改进,得到AE‑Informer模型;所述步骤1包括:基于KL散度策略对Informer模型的Self‑Attention机制进行改进:使用KL散度计算每个query的稀疏得分,选取稀疏得分较高的lnL个query与其他所有key做点积运算,作为注意力得分,剩下的query不再进行Attention运算,而是将输入的value取平均值作为输出;

基于自相关误差策略,将输入序列改变为每一时刻观测值与前一时刻观测值之间的误差;

步骤2:收集各站点的小时空气污染物数据并进行预处理,包括:缺失值补缺,统一编码;

步骤3:对AE‑Informer模型进行超参数的调节;

步骤4:基于处理后的各站点的小时空气污染物数据,采用近似求导反向误差传播算法训练AE‑Informer模型;

步骤5:对实时收集的各站点小时空气污染物数据进行预处理,之后输入训练好的AE‑Informer模型中,进行空气污染物的长时序预测。

2.根据权利要求1所述的面向空气污染物的自相关误差Informer模型长时序预测方法,其特征在于,所述AE‑Informer模型的基本组成部分为ProbSpare Self‑Attention层、Full Self‑Attention层、编码层、卷积层、归一化层和全连接层;其中ProbSpare Self‑Attention层是基于KL散度策略改进的Self‑Attention机制,Encoder部分的ProbSpare Self‑Attention层用于将输入的时序序列计算相应的权重系数并形成模型的内部序列,Decoder部分的Full Self‑Attention层用于将模型的内部序列转换为要预测的目标序列,编码层用于将输入的空气污染物的时序序列编码为新的序列,卷积层用于进行模型蒸馏操作,归一化层为LayerNorm,全连接层用于将模型生成的序列重新变成任务要求的空气污染物的时序序列的长度。

3.根据权利要求1所述的面向空气污染物的自相关误差Informer模型长时序预测方法,其特征在于,所述步骤2还包括:将缺失的样本量超过总样本量的10%的站点对应的小时空气污染物数据进行删除。

4.根据权利要求1所述的面向空气污染物的自相关误差Informer模型长时序预测方法,其特征在于,所述步骤2中,使用集成模型进行缺失值的补缺。

5.根据权利要求1所述的面向空气污染物的自相关误差Informer模型长时序预测方法,其特征在于,所述步骤2中,统一编码包括:t

将位置编码分为三个部分,分别为输入向量、局部时间戳和全局时间戳,假设X为t时刻输入的时序序列,p是全局时间戳的类型数,pos代表在时序序列中的位置,Lx为输入模型前t的X向量的长度,dmodel为输入模型后的向量长度,其中

局部时间戳使用位置编码的计算公式为:

其中PE(pos,2j)表示局部时间戳,即当前参数在整个序列当中的位置;

全局时间戳使用可学习嵌入表示SE(pos)实现,首先构建一个词汇表,使用Embedding层表示每一个词汇,然后使用Conv1d将输入标量 转为向量 最终的计算公式为:其中α是平衡标量投影和局部/全局嵌入之间大小的因子,α=1。

6.一种面向空气污染物的自相关误差Informer模型长时序预测系统,其特征在于,包括:模型构建模块,用于基于自相关误差对Informer模型进行改进,得到AE‑Informer模型;所述模型构建模块具体用于:基于KL散度策略对Informer模型的Self‑Attention机制进行改进:使用KL散度计算每个query的稀疏得分,选取稀疏得分较高的lnL个query与其他所有key做点积运算,作为注意力得分,剩下的query不再进行Attention运算,而是将输入的value取平均值作为输出;

基于自相关误差策略,将输入序列改变为每一时刻观测值与前一时刻观测值之间的误差;

数据收集及处理模块,用于收集各站点的小时空气污染物数据并进行预处理,包括:缺失值补缺,统一编码;

模型调节模块,用于对AE‑Informer模型进行超参数的调节;

模型训练模块,用于基于处理后的各站点的小时空气污染物数据,采用近似求导反向误差传播算法训练AE‑Informer模型;

长时序预测模块,用于对实时收集的各站点小时空气污染物数据进行预处理,之后输入训练好的AE‑Informer模型中,进行空气污染物的长时序预测。

7.根据权利要求6所述的面向空气污染物的自相关误差Informer模型长时序预测系统,其特征在于,所述AE‑Informer模型的基本组成部分为ProbSpare Self‑Attention层、Full Self‑Attention层、编码层、卷积层、归一化层和全连接层;其中ProbSpare Self‑Attention层是基于KL散度策略改进的Self‑Attention机制,Encoder部分的ProbSpare Self‑Attention层用于将输入的时序序列计算相应的权重系数并形成模型的内部序列,Decoder部分的Full Self‑Attention层用于将模型的内部序列转换为要预测的目标序列,编码层用于将输入的空气污染物的时序序列编码为新的序列,卷积层用于进行模型蒸馏操作,归一化层为LayerNorm,全连接层用于将模型生成的序列重新变成任务要求的空气污染物的时序序列的长度。

8.根据权利要求6所述的面向空气污染物的自相关误差Informer模型长时序预测系统,其特征在于,所述数据收集及处理模块还包括:将缺失的样本量超过总样本量的10%的站点对应的小时空气污染物数据进行删除;

所述数据收集及处理模块中,使用集成模型进行缺失值的补缺;

所述数据收集及处理模块中,统一编码包括:

t

将位置编码分为三个部分,分别为输入向量、局部时间戳和全局时间戳,假设X为t时刻输入的时序序列,p是全局时间戳的类型数,pos代表在时序序列中的位置,Lx为输入模型前t的X向量的长度,dmodel为输入模型后的向量长度,其中

局部时间戳使用位置编码的计算公式为:

其中PE(pos,2j)表示局部时间戳,即当前参数在整个序列当中的位置;

全局时间戳使用可学习嵌入表示SE(pos)实现,首先构建一个词汇表,使用Embedding层表示每一个词汇,然后使用Conv1d将输入标量 转为向量 最终的计算公式为:其中α是平衡标量投影和局部/全局嵌入之间大小的因子,α=1。

说明书 :

面向空气污染物的自相关误差Informer模型长时序预测方法

及系统

技术领域

[0001] 本发明属于空气污染物应用技术领域,尤其涉及一种面向空气污染物的自相关误差Informer模型长时序预测方法及系统。

背景技术

[0002] 随着经济的快速发展和城镇化进程的日益加快,空气污染物的浓度急剧上升。根据医学与大气污染的相关研究显示,空气污染对于人体的健康有着很大的影响。空气中的主要污染物包括SO2,NO2,CO,O3,PM2.5和PM10六种,不但会诱发,加重人体中枢神经系统,呼吸系统等多个人体系统的疾病,例如:O3可诱发慢性阻塞性肺病,鼻窦炎等呼吸系统疾病,对我们人类的健康有负面的影响。还对人民的幸福度,人口迁移等民生问题有一定的影响,根据相关研究报告显示,我国城市的外来人口准备留在当前城市的比例与当前城市的空气质量存在相关关系,城市的空气质量越好,外来人口的居住意愿也就越强,而且空气污染对人口的迁入与迁出也有着明显的负面影响。
[0003] 对于空气污染物不断增长,各个国家致力于制定有效的控制政策,以用来预防空气污染所带来的影响。为此,已经建立多个空气监测站,监测和收集空气污染数据,以便进一步研究。利用常规的观测方法,可以预测短时间内的空气污染物浓度。根据预测结果,提前做好预防大气污染的准备,从而减轻大气污染对人体健康和经济的影响。确定性方法、统计方法和机器学习方法是目前常用的三种空气污染物浓度预测方法。确定性方法通过模拟大气化学扩散和输送过程来进行空气质量预报,虽然有一定的预测效果,但是计算代价昂贵,且由于缺少实际上的观测,导致预测结果可能不准确。统计方法解决了确定性方法中缺少实际数据的问题,但是大多数统计方法假设变量与标签之间呈线性关系,这显然与现实世界的非线性不一致。为了解决这个问题,研究人员开始使用非线性机器学习模型支持向量机、Artificial Neural Networks(ANNs)、RF和GBDT等来进行空气污染物的预测,但是这些模型也忽略了空气污染物在时序上的时序变化趋势。
[0004] 随着人工智能和深度学习技术的迅速发展,传统的机器学习和浅层神经网络的模型性能已不再是最先进的。提出了不同类型的深度学习模型,以改善空气质量的预测性能。例如,在RNN中加入了门控状态后提出了BiLSTM模型,解决了RNN中梯度消失和梯度爆炸的问题,使用CNN结构,并在预测中加入了线性成分之后提出了LSTNet模型。但是这些模型局限于短时序的预测,对长时序的预测效果并不好。近两年,Transformer模型被引入了时序预测的预测领域,其中的Attention机制为获取长期宏观信息提供了一种不错的方法。与此同时,也提出了许多基于Transformer改进的模型,例如,LogTrans模型令Attention运算中的每个query只与固定位置的key做点积,从而降低了计算成本;Reformer模型将Attention与局部哈希算法相结合,改变了Attention的计算方式,提高了模型的性能。除此之外,还有Longformer、Linformer、Transformer‑XL和Compressive Transformer等改进模型,但这些模型在时序预测方面的增益是比较有限的。

发明内容

[0005] 本发明针对现有技术中存在的可预测时序序列较短、分析程序复杂和费用昂贵,而且预测精度不佳的问题,提出一种面向空气污染物的自相关误差Informer模型长时序预测方法及系统。
[0006] 为了实现上述目的,本发明采用以下技术方案:
[0007] 本发明一方面提出一种面向空气污染物的自相关误差Informer模型长时序预测方法,包括:
[0008] 步骤1:基于自相关误差对Informer模型进行改进,得到AE‑Informer模型;
[0009] 步骤2:收集各站点的小时空气污染物数据并进行预处理,包括:缺失值补缺,统一编码;
[0010] 步骤3:对AE‑Informer模型进行超参数的调节;
[0011] 步骤4:基于处理后的各站点的小时空气污染物数据,采用近似求导反向误差传播算法训练AE‑Informer模型;
[0012] 步骤5:对实时收集的各站点小时空气污染物数据进行预处理,之后输入训练好的AE‑Informer模型中,进行空气污染物的长时序预测。
[0013] 进一步地,所述步骤1包括:
[0014] 基于KL散度策略对Informer模型的Self‑Attention机制进行改进:使用KL散度计算每个query的稀疏得分,选取稀疏得分较高的lnL个query与其他所有key做点积运算,作为注意力得分,剩下的query不再进行Attention运算,而是将输入的value取平均值作为输出;
[0015] 基于自相关误差策略,将输入序列改变为每一时刻观测值与前一时刻观测值之间的误差。
[0016] 进一步地,所述AE‑Informer模型的基本组成部分为ProbSpare Self‑Attention层、Full Self‑Attention层、编码层、卷积层、归一化层和全连接层;其中ProbSpare Self‑Attention层是基于KL散度策略改进的Self‑Attention机制,Encoder部分的ProbSpare Self‑Attention层用于将输入的时序序列计算相应的权重系数并形成模型的内部序列,Decoder部分的Full Self‑Attention层用于将模型的内部序列转换为要预测的目标序列,编码层用于将输入的空气污染物的时序序列编码为新的序列,卷积层用于进行模型蒸馏操作,归一化层为LayerNorm,全连接层用于将模型生成的序列重新变成任务要求的空气污染物的时序序列的长度。
[0017] 进一步地,所述步骤2还包括:
[0018] 将缺失的样本量超过总样本量的10%的站点对应的小时空气污染物数据进行删除。
[0019] 进一步地,所述步骤2中,使用集成模型进行缺失值的补缺。
[0020] 进一步地,所述步骤2中,统一编码包括:
[0021] 将位置编码分为三个部分,分别为输入向量、局部时间戳和全局时间戳,假设Xt为t时刻输入的时序序列,p是全局时间戳的类型数,pos代表在时序序列中的位置,Lx为输入t模型前的X向量的长度,dmodel为输入模型后的向量长度,其中
[0022] 局部时间戳使用位置编码的计算公式为:
[0023]
[0024]
[0025] 其中PE(pos,2j)表示局部时间戳,即当前参数在整个序列当中的位置;
[0026] 全局时间戳使用可学习嵌入表示SE(pos)实现,首先构建一个词汇表,使用Embedding层表示每一个词汇,然后使用Conv1d将输入标量 转为向量 最终的计算公式为:
[0027]
[0028] 其中α是平衡标量投影和局部/全局嵌入之间大小的因子,α=1。
[0029] 本发明另一方面提出一种面向空气污染物的自相关误差Informer模型长时序预测系统,包括:
[0030] 模型构建模块,用于基于自相关误差对Informer模型进行改进,得到AE‑Informer模型;
[0031] 数据收集及处理模块,用于收集各站点的小时空气污染物数据并进行预处理,包括:缺失值补缺,统一编码;
[0032] 模型调节模块,用于对AE‑Informer模型进行超参数的调节;
[0033] 模型训练模块,用于基于处理后的各站点的小时空气污染物数据,采用近似求导反向误差传播算法训练AE‑Informer模型;
[0034] 长时序预测模块,用于对实时收集的各站点小时空气污染物数据进行预处理,之后输入训练好的AE‑Informer模型中,进行空气污染物的长时序预测。
[0035] 进一步地,所述模型构建模块具体用于:
[0036] 基于KL散度策略对Informer模型的Self‑Attention机制进行改进:使用KL散度计算每个query的稀疏得分,选取稀疏得分较高的lnL个query与其他所有key做点积运算,作为注意力得分,剩下的query不再进行Attention运算,而是将输入的value取平均值作为输出;
[0037] 基于自相关误差策略,将输入序列改变为每一时刻观测值与前一时刻观测值之间的误差。
[0038] 进一步地,所述AE‑Informer模型的基本组成部分为ProbSpare Self‑Attention层、Full Self‑Attention层、编码层、卷积层、归一化层和全连接层;其中ProbSpare Self‑Attention层是基于KL散度策略改进的Self‑Attention机制,Encoder部分的ProbSpare Self‑Attention层用于将输入的时序序列计算相应的权重系数并形成模型的内部序列,Decoder部分的Full Self‑Attention层用于将模型的内部序列转换为要预测的目标序列,编码层用于将输入的空气污染物的时序序列编码为新的序列,卷积层用于进行模型蒸馏操作,归一化层为LayerNorm,全连接层用于将模型生成的序列重新变成任务要求的空气污染物的时序序列的长度。
[0039] 进一步地,所述数据收集及处理模块还包括:
[0040] 将缺失的样本量超过总样本量的10%的站点对应的小时空气污染物数据进行删除;
[0041] 所述数据收集及处理模块中,使用集成模型进行缺失值的补缺;
[0042] 所述数据收集及处理模块中,统一编码包括:
[0043] 将位置编码分为三个部分,分别为输入向量、局部时间戳和全局时间戳,假设Xt为t时刻输入的时序序列,p是全局时间戳的类型数,pos代表在时序序列中的位置,Lx为输入t模型前的X向量的长度,dmodel为输入模型后的向量长度,其中
[0044] 局部时间戳使用位置编码的计算公式为:
[0045]
[0046]
[0047] 其中PE(pos,2j)表示局部时间戳,即当前参数在整个序列当中的位置;
[0048] 全局时间戳使用可学习嵌入表示SE(pos)实现,首先构建一个词汇表,使用Embedding层表示每一个词汇,然后使用Conv1d将输入标量 转为向量 最终的计算公式为:
[0049]
[0050] 其中α是平衡标量投影和局部/全局嵌入之间大小的因子,α=1。
[0051] 与现有技术相比,本发明具有的有益效果:
[0052] 本发明针对空气污染物浓度的长时序预测,实现了基于自相关误差的Informer(AE‑Informer)模型。网络使用了自注意力机制(Self‑Attention)的思想获取历史中的空气污染物信息,使得该网络能够获取更长时序的信息。此外在该网络还使用了自相关误差思想,作为一种建立每一时刻误差之间关系的策略,弥补了预测长时序序列中误差较大的问题。本发明在空气污染物浓度长时序预测方面取得了较高的预测精度。

附图说明

[0053] 图1为本发明实施例一种面向空气污染物的自相关误差Informer模型长时序预测方法的基本流程图;
[0054] 图2为AE‑Informer结构图;
[0055] 图3为自相关误差概念图;
[0056] 图4为AE‑Informer与普通Informer对臭氧进行长时序预测的效果图;
[0057] 图5为本发明实施例一种面向空气污染物的自相关误差Informer模型长时序预测系统的架构示意图。

具体实施方式

[0058] 下面结合附图和具体的实施例对本发明做进一步的解释说明:
[0059] 如图1所示,一种面向空气污染物的自相关误差Informer模型长时序预测方法,包括:
[0060] 步骤1:基于自相关误差的Informer模型设计。根据自相关误差概念和Informer模型的输入,设计基于自相关误差的Informer模型(AE‑Informer)。
[0061] 具体地,Informer模型是基于Transformer模型所改进的适用于时序领域的预测模型。Transformer中的Attention机制为获取上下文信息带了一种全新的方法,所以大量研究用这种方法去获取历史时序信息,然后去预测未来的时序信息。
[0062] 注意力可以产生更具可解释性的模型,我们可以从模型中检查注意力分布。对于注意力的计算如下:
[0063]
[0064] 其中 dk为输入向量的维度。从矩阵的维度信息来看,可以认为Attention把一个n×dk的序列Q编码成一个n×dv的新序列。记Q=[q1,T T T
q2,…,qn] ,K=[k1,k2,…,km] ,V=[v1,v2,…,vm] ,可以看到k和v是一一对应的。单看Q中的每一个向量,有
[0065]
[0066] 其中Z是SoftMax函数的归一化因子。从上式可以看出,每一个qt都被编码成了v1,v2,…,vm的加权和,vs所占的权重取决于qt与ks的内积。缩放因子 起到一定的调节作用,避免内积很大时SoftMax的梯度很小。
[0067] 在Attention的基础上,又提出了Mutil‑Head Attention,其公式如下:
[0068] MutilHead(Q,K,V)=Concat(head1,head2,…,headh)
[0069] headi=Attention(Qi,Ki,Vi)
[0070] Qi=QWiQ
[0071] Ki=KWiK
[0072] Vi=VWiV
[0073] 其中 简单来说,就是把Q,K和V通过线性变换映射到不同的表示空间,然后计算Attention,重复h次,把得到的h个Attention的结果拼接起来,最后输出一个 的序列。
[0074] 其中大部分Attention都是Self‑Attention,就是一个序列内部做Attention,亦即Attention(X,X,X),更准确地说,是Multi‑Head Self Attention,即MutilHead(X,X,X)。Self‑Attention可以理解为寻找序列X内部不同位置之间的联系。
[0075] 若如输入长度为L,传统Transformer的缺点是它每一次Self‑Attention运算中的2
点积运算复杂度都达到了O(L),导致计算成本过高。通过使用KL散度评估Attention分布与均匀分布之间的差异,发现差异较大,也就是Attention分布呈单峰分布,即稀疏性较高。
所以只有少数点积贡献了主要的注意力得分,其他点积只有非常微弱的作用,可以忽略。根据稀疏性的思想,提出了ProbSpare Self‑Attention。它先使用KL散度计算每个query的稀疏得分,稀疏得分计算如下:
[0076]
[0077] 其中qi为query序列当中第i个参数,d为输入向量的维度,LK为key的序列长度。如果qi的M值较大,说明它的注意力概率p相较其他部分差异性较大,比较大可能性是重要性部分。选取稀疏得分较高的lnL个query与其他所有key做点积运算,作为注意力得分。剩下的query不再进行Attention运算,而是将输入的value取平均值作为输出。这样既保证了输入和输出的长度为L,又可以将复杂度降为O(LlnL)。
[0078] Informer由Encoder和Decoder两部分组成,Encoder通过Self‑Attention运算将输入序列映射为特征图谱,Decoder将要预测的序列也通过Self‑Attention运算形成特征序列,与特征图谱对比以获得最终要预测的结果。
[0079] 自相关误差(Autocorrelated Errors)是本发明用于提升Informer模型精度的一种重要的技术。在时序数据采集和建模的过程当中,由于数据交互的时间性,错误实际上通常是自相关的。
[0080] 由自相关误差的概念可知,当前时刻误差可由前一步长中每一时刻的误差所表示,表达式如下:
[0081]
[0082] 为了计算方便,将其降为一阶形式et=ρ1et‑1。现假设 将两式结合后可构建新的模型。输入由前一步长中每一时刻的观测值变为每一时刻的误差值,输出变为当前时刻误差的预测值,其中ρ作为模型参数与模型一起训练。最后通过便可得到当前时刻的预测值。
[0083] 将自相关误差思想运用到Informer模型当中,完成对模型的初步设计,以完成对长时序空气污染物浓度的预测。
[0084] 具体地,AE‑Informer模型的基本组成部分为ProbSpare Self‑Attention层、Full Self‑Attention层、编码层、卷积层,归一化层和全连接层。
[0085] 其中ProbSpare Self‑Attention层是基于KL散度策略改进的Self‑Attention机制。Encoder部分的ProbSpare Self‑Attention层用于将输入的时序序列计算相应的权重系数,系数越高说明相关性越强,并形成模型的内部序列,更容易的表达时序序列的长期宏观信息和短期局部信息。Decoder部分的Full Self‑Attention层为传统的Self‑Attention,用于将模型的内部序列转换为要预测的目标序列,由于Full Self‑Attention需要逐个计算,所以会减少更多的误差。卷积层实现的是AE‑Informer中的Distilling(蒸馏)操作,本质上就是一个1维卷积+ELU激活函数+最大池化。归一化层用的是LayerNorm,归一化层的作用是解决训练过程中出现的梯度消失和梯度爆炸问题。全连接层是为了将模型生成的序列重新变成任务要求的时序序列的长度。
[0086] 步骤2:实验数据的处理。具体地,收集国控站点的小时污染物浓度数据并对数据进行预处理。
[0087] 由于传感器损坏、人为错误等因素,导致收集到的数据存在缺失值,所以对收集到的数据进行缺失值补缺。首先对各个国控站点的样本量进行统计,如果缺失的样本量超过总样本量的10%,则可认为缺失数据较多,即使进行缺失值的补充,对后续空气污染物的预测和分析也会带来巨大的困难,所以将这些国控站点剔除掉。
[0088] 删除和补充是处理缺失数据常用的两种方法,但是删除法只适用于缺失数据极少的情况下,而填补法使用均值或者上一时刻值去填补缺失值又忽略了数据的变化趋势。近年来,随着机器学习领域的蓬勃发展,也有很多文章将机器学习模型应用到缺失数据填补的领域,而集成方法(Boosting、Bagging、Stacking)可以将这些基础的机器学习模型进行集成从而提升性能,所以使用集成模型进行数据的补缺。
[0089] 要想预测更长时序上的空气污染物,不仅需要局部时序信息还需要层次时序信息,如星期、月和年等,以及突发时间戳信息(事件或某些节假日等)。常规自注意力机制很难直接适配,可能会带来编码器和解码器之间的query和key的错误匹配问题,最终影响预测效果,所以进行统一的重新编码。
[0090] 位置编码被分为了三个部分,分别为输入向量、局部时间戳和全局时间戳,假设Xt为t时刻输入的时序序列,p是全局时间戳的类型数,pos代表在时序序列中的位置,Lx为输t入模型前的X向量的长度,dmodel为输入模型后的向量长度,其中
[0091] 局部时间戳(Position Embeding)使用位置编码的计算公式为:
[0092]
[0093]
[0094] 其中PE(pos,2j)表示局部时间戳,即当前参数在整个序列当中的位置。
[0095] 全局时间戳使用可学习嵌入表示SE(pos)实现。具体实现时,构建一个词汇表,使用Embedding层表示每一个“词汇”,为对齐维度,使用Conv1d将输入标量 转为向量 最终的计算公式为:
[0096]
[0097] 其中α是平衡标量投影和局部/全局嵌入之间大小的因子,作为一种可实施方式,由于本文序列输入已经标准化,所以本实施例中设α=1。
[0098] 步骤3:对AE‑Informer模型进行超参数的调节,分别需要对24、48、168、336和720的预测时序长度序列选择不同的输入序列长度以及需要选择计算Attention得分的query数量。
[0099] 步骤4:AE‑Informer模型的训练。采用近似求导反向误差传播算法训练AE‑Informer模型,保存训练完成的网络参数权重。将自相关误差的参数ρ作为网络参数一起训练,选用Adam进行调参,优化网络的权重参数,并将训练后的参数权重保存。其中还加入了早退机制,可以大量节约训练的时间。
[0100] 步骤5:基于AE‑Informer的空气污染物长时序预测。对实时收集到的国控站点小时空气污染物数据进行预处理,之后传入模型当中,通过AE‑Informer模型完成空气污染物的长时序预测。
[0101] 作为本发明的一种具体可实施方式,本发明未来主要应用于空气污染物预测,针对国控站点监测得到的空气污染物数据可以实现实时地、高效地预测工作。我们选用河南省漯河大学国控站点的2019‑2020两年的小时臭氧数据,对其预处理之后作为数据集验证基于自相关误差改进的Informer模型(AE‑Informer)的有效性,具体过程如下:
[0102] 步骤S1:选取漯河大学国控站点2019‑2020的小时臭氧浓度数据经过补缺之后作为数据集,第一年的数据作为训练集,训练模型参数,第二年的数据作为测试集,测试训练效果。
[0103] 具体地,对臭氧时序数据进行补缺,使用Stacking集成方法,将ET、RF、GBDT、LGBM和XGBoost五种基础回归器作为集成模型的第一层,令回归模型组为集成模型的第二层,以预测缺失的数据。
[0104] 步骤S2:将不同长度的输入时序序列转化为统一的序列表达方式,并传入模型当中。
[0105] 具体地,序列转换方式为输入向量、局部时间戳和全局时间戳三者相加。输入向量为输入的标量通过一维卷积形成的矢量,局部时间戳用来表示时序序列的变化趋势,全局时间戳用来表示时间的层次(年、月、假期等)。
[0106] 步骤S3:将处理好的时序序列传入到基于自相关误差策略改进的Informer模型(AE‑Informer)当中进行训练。
[0107] 具体地,AE‑Informer模型的基本组成部分为ProbSpare Self‑Attention层、Full Self‑Attention层、编码层、卷积层,归一化层和全连接层(图2)。其中ProbSpare Self‑Attention层是基于KL散度策略改进的Self‑Attention机制,选取合适的query与所有key做点积作为Attention得分,如果第i个query的M值较大,说明它的注意力概率p相较其他部分差异性较大,比较大可能性是重要性部分。选取公式如下:
[0108]
[0109] 具体地,此外基于自相关误差策略,将输入序列改变为每一时刻观测值与前一时刻观测值之间的误差。自相关误差策略将输入和预测都变为了误差值,这降低了预测的偏差,将预测后的结果再加上上一时刻的观测值便可得到当前时刻的预测值(图3),其计算公式如下:
[0110]
[0111]
[0112] 其中 为当前时刻预测值,f为模型,ρ为自相关误差策略当中的rho系数。
[0113] 具体地,在训练过程中加入了蒸馏机制,蒸馏机制由1维卷积+ELU激活函数+最大池化所组成,这个操作使得对每个输入时序序列长度的数据在其长度维度上减半,减少了训练时间并增加了自注意力机制。
[0114] 最后在Encoder部分中,在经过Attention计算后,通过自动学习的方式,形成特征图谱。在Decoder部分中,通过自动学习的方式,输出经过与特征图谱对比过后的预测序列,便可实现AE‑Informer模型。
[0115] 步骤S4:经过Attention计算之后输出的预测序列,再通过全连接层可变为要指定输出的序列的长度,便可获得预测结果。
[0116] 步骤S5:所用的评价指标为RMSE和MAE,平均绝对误差MAE是绝对误差的平均值,能够更好的反映出预测值与真实值的误差实际情况,其中yi为真实值, 为预测值,具体公式如下:
[0117]
[0118] 均方根误差RMSE主要衡量预测值和真实值之间的偏差,其中yi为真实值, 为预测值,具体公式如下:
[0119]
[0120] 结果如表1,可以看出相对于其他对比模型AE‑Informer在不同长度的时序序列上有着不错的效果。
[0121] 表1 AE‑Informer与其他对比模型性能指标的对比
[0122]
[0123] AE‑Informer与普通Informer对臭氧进行长时序预测的效果图如图4所示。如图4所示,AE‑Informer的预测值相对于Informer的预测值在框内的部分与真实值的拟合度更高,显然预测的效果更好。
[0124] 在上述实施例的基础上,如图5所示,本发明另一方面提出一种面向空气污染物的自相关误差Informer模型长时序预测系统,包括:
[0125] 模型构建模块,用于基于自相关误差对Informer模型进行改进,得到AE‑Informer模型;
[0126] 数据收集及处理模块,用于收集各站点的小时空气污染物数据并进行预处理,包括:缺失值补缺,统一编码;
[0127] 模型调节模块,用于对AE‑Informer模型进行超参数的调节;
[0128] 模型训练模块,用于基于处理后的各站点的小时空气污染物数据,采用近似求导反向误差传播算法训练AE‑Informer模型;
[0129] 长时序预测模块,用于对实时收集的各站点小时空气污染物数据进行预处理,之后输入训练好的AE‑Informer模型中,进行空气污染物的长时序预测。
[0130] 进一步地,所述模型构建模块具体用于:
[0131] 基于KL散度策略对Informer模型的Self‑Attention机制进行改进:使用KL散度计算每个query的稀疏得分,选取稀疏得分较高的lnL个query与其他所有key做点积运算,作为注意力得分,剩下的query不再进行Attention运算,而是将输入的value取平均值作为输出;
[0132] 基于自相关误差策略,将输入序列改变为每一时刻观测值与前一时刻观测值之间的误差。
[0133] 进一步地,所述AE‑Informer模型的基本组成部分为ProbSpare Self‑Attention层、Full Self‑Attention层、编码层、卷积层、归一化层和全连接层;其中ProbSpare Self‑Attention层是基于KL散度策略改进的Self‑Attention机制,Encoder部分的ProbSpare Self‑Attention层用于将输入的时序序列计算相应的权重系数并形成模型的内部序列,Decoder部分的Full Self‑Attention层用于将模型的内部序列转换为要预测的目标序列,编码层用于将输入的空气污染物的时序序列编码为新的序列,卷积层用于进行模型蒸馏操作,归一化层为LayerNorm,全连接层用于将模型生成的序列重新变成任务要求的空气污染物的时序序列的长度。
[0134] 进一步地,所述数据收集及处理模块还包括:
[0135] 将缺失的样本量超过总样本量的10%的站点对应的小时空气污染物数据进行删除;
[0136] 所述数据收集及处理模块中,使用集成模型进行缺失值的补缺;
[0137] 所述数据收集及处理模块中,统一编码包括:
[0138] 将位置编码分为三个部分,分别为输入向量、局部时间戳和全局时间戳,假设Xt为t时刻输入的时序序列,p是全局时间戳的类型数,pos代表在时序序列中的位置,Lx为输入t模型前的X向量的长度,dmodel为输入模型后的向量长度,其中
[0139] 局部时间戳使用位置编码的计算公式为:
[0140]
[0141]
[0142] 其中PE(pos,2j)表示局部时间戳,即当前参数在整个序列当中的位置;
[0143] 全局时间戳使用可学习嵌入表示SE(pos)实现,首先构建一个词汇表,使用Embedding层表示每一个词汇,然后使用Conv1d将输入标量 转为向量 最终的计算公式为:
[0144]
[0145] 其中α是平衡标量投影和局部/全局嵌入之间大小的因子,α=1。
[0146] 综上,本发明针对空气污染物浓度的长时序预测,实现了基于自相关误差的Informer(AE‑Informer)模型。网络使用了自注意力机制(Self‑Attention)的思想获取历史中的空气污染物信息,使得该网络更能够获取更长时序的信息。此外在该网络还使用了自相关误差思想,作为一种建立每一时刻误差之间关系的策略,弥补了预测长时序序列中误差较大的问题。本发明在空气污染物浓度长时序预测方面取得了较高的预测精度。
[0147] 以上所示仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。