本发明涉及数据库补全技术,特别是指一种空气质量检测数据缺失的补全方法及补全装置。
背景技术:
数据缺失是空气质量检测数据经常面临的问题,出现缺失的主要原因可以包括:
(a)检测传感器工作状态不稳定:现场环境因素或人为原因导致空气质量检测传感器在某些时间段内没有正常工作,从而造成数据缺失;
(b)异常监测数据:检测过程中,由于传感器精准度、生产异常波动等原因,常常存在异常监测数据,此类“坏数据”与实际生产状况不符,需要剔除,而剔除的过程相当于引入了数据缺失。
空气质量检测数据的缺失会造成数据信息不完全,直接影响到后期的数据分析。因此,需要对空气质量检测数据中的缺失数据进行补全以提高数据的完整性,从而提高后期空气质量检测数据分析的质量。
众所周知,针对存在数据缺失问题的空气质量检测数据进行数据补全是提高数据完整性的有效途径。但数据缺失的缺失程度的不同和缺失模式的不同,使得数据缺失情况呈现多样化,使得传统补全方法无法有效的补全缺失数据。目前针对缺失数据补全问题,国内外学者已经做出了一些工作,但这些工作还存在局限性:(1)数据补全方法补全效果有限;(2)数据补全方法无法有效补全缺失情况多样化下的缺失数据。
技术实现要素:
本发明的目的是提供一种空气质量检测数据缺失的补全方法及补全装置,以解决传统补全方法难以处理数据缺失情况呈现多样化的问题,针对存在数据缺失问题的空气质量检测数据进行有效的补全,尽可能地提高数据完整性。
为了达到上述目的,本发明采用如下技术方案:
第一方面,本发明实施例提供一种空气质量检测数据缺失的补全方法,包括:
获取存在数据缺失问题的原始数据,其中,所述原始数据为存在数据缺失的空气质量检测数据集;
根据所获取的原始数据,分别构建基于变分自编码器的生成器模型和构建特征判别器模型;
将构建好的基于变分自编码器的生成器模型和特征判别器模型进行结合,利用原始数据对结合后的模型进行优化训练,并通过生成器模型中变分自编码器的重构矩阵对输入原始数据进行数据补全,得到完整数据。
进一步地,所述获取原始数据集包括:
获取由空气质量检测传感器检测到的空气质量数据集,其中,空气质量数据出现数据缺失是由于传感器检测出现故障使得检测数据存在遗漏的现象。
进一步地,模型构建完成后,利用批量训练方法重复训练基于变分自编码器的生成器模型和特征判别器模型,直到达到模型的最大迭代次数。
进一步地,所述生成器模型和判别器模型均为多种激活函数组成的深层神经网络结构。
进一步地,将原始数据对应的缺失矩阵作为提示矩阵,利用提示矩阵为特征判别器模型提供部分缺失状态信息,驱使特征判别器模型更加关注于部分缺失数据的补全效果。
进一步地,依据生成器模型中的变分自编码器损失函数以及判别器模型对生成器模型生成数据的判别结果反馈,训练生成器模型,生成器模型的训练过程如下:
1)首先,基于原始数据矩阵大小生成随机高斯噪声矩阵,并利用随机高斯噪声矩阵初始化原始数据矩阵,得到噪声补全矩阵;
2)其次,将噪声补全矩阵输入到基于变分自编码器的生成器模型中;
3)最终,生成器模型通过最小化生成器损失函数进行模型训练,得到当前生成器模型的最优模型参数,并通过变分自编码器的重构矩阵对输入原始数据进行数据补全。
进一步地,所述生成器模型的损失函数包括:判别器模型的判别结果反馈函数、变分自编码器损失函数中的重构损失函数以及变分自编码器中对编码器模块的噪声正则项。
进一步地,所述特征判别器模型依据补全矩阵和提示矩阵作为输入,预测对应的缺失矩阵。判别器模型通过最小化预测缺失矩阵误差的损失函数进行模型训练,得到当前最优特征判别器模型。
第二方面,本发明实施例提供一种空气质量检测数据缺失的补全装置,包括:
获取模块,用于获取存在数据缺失问题的原始数据,其中,所述原始数据为存在数据缺失的空气质量检测数据集;
构建模块,用于根据所获取的原始数据,分别构建基于变分自编码器的生成器模型和构建特征判别器模型;
生成模块,用于将构建好的基于变分自编码器的生成器模型和特征判别器模型进行结合,利用原始数据对结合后的模型进行优化训练,并通过生成器模型中变分自编码器的重构矩阵对输入原始数据进行数据补全,得到完整数据。
第三方面,本发明实施例提供一种设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的方法。
第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如第一方面所述的方法。
根据以上技术方案,本发明实施例是一个空气质量检测数据缺失的补全框架。在基于变分自编码器的生成器模型中,本发明将变分自编码器作为变分生成对抗网络中的生成器模型,利用变分自编码器优质的生成效果以及对噪声数据的鲁棒性,进一步增强生成器模型面对不同程度数据缺失情况下的缺失数据的补全效果和补全鲁棒性;在特征判别器模型中,本发明将生成器补全缺失数据后的完整数据作为输入,并输出预测补全数据中所有样本的每个特征属于真实特征的概率;在训练过程中,本发明采用批量训练方法对变分生成对抗网络进行网络训练,使得变分生成对抗网络可以有效的补全缺失数据。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种空气质量检测数据缺失的补全方法的流程图;
图2是本发明的模型系统框图;
图3是基于变分自编码器的生成器模型的模型框架图;
图4是本发明实施例的一种空气质量检测数据缺失的补全装置的框图。
具体实施方式
现结合附图和具体实施对本发明的技术方案作进一步说明。
实施例一
图1是本发明实施例的一种空气质量检测数据缺失的补全方法的流程图,图2是本发明的模型系统框图,该方法包括如下步骤:
步骤s100:获取存在数据缺失问题的原始数据,其中,所述原始数据为存在数据缺失的空气质量检测数据集;具体包括一下步骤:
步骤s101:获取存在数据缺失问题的原始数据x,其中,所述原始数据集为存在数据缺失的空气质量检测数据集;空气质量数据出现数据缺失是由于传感器检测出现故障使得检测数据存在遗漏的现象。
步骤s102:根据获取的原始数据x,计算得到对应数据x中数据缺失状态的缺失矩阵m,其中若数据矩阵x的特征存在则其在缺失矩阵m中对应位置的缺失状态为1,若数据矩阵x的特征缺失则其在缺失矩阵m中对应位置的缺失状态为0;
步骤s103:根据获取的缺失矩阵m,随机选取缺失矩阵m中p%的缺失状态,并将被选取的缺失状态值设置为0.5,最终将隐含p%缺失状态信息的缺失矩阵m作为提示矩阵h输入特征判别器模型d;
步骤s200:根据获取的原始数据,分别构建包括基于变分自编码器的生成器模型g和特征判别器模型d的变分生成对抗网络补全模型。
步骤s201:基于变分自编码器的生成器模型g的基本模型框架如图3所示。固定当前特征判别器模型d的模型参数,依据生成器模型g中的变分自编码器损失函数以及特征判别器模型d对生成器模型g生成数据的判别结果反馈,训练生成器模型g,因此生成器模型g的训练过程描述如下:
步骤s20101,首先,基于原始数据矩阵大小生成随机高斯噪声矩阵z,并利用随机高斯噪声矩阵z初始化原始数据矩阵x,得到噪声补全矩阵x(z):
其中
步骤s20102,其次,将噪声补全矩阵x(z)输入到基于变分自编码器的生成器模型g中,生成器模型的损失函数lg包括:变分自编码器损失函数lvae和特征判别器模型的判别结果反馈函数lpro,如下所示。
lg=lpro+λlvae=lpro+λ(lrec+lprior)(2)
其中超参数λ用以权衡生成器模型g中判别器模型的判别结果反馈函数lpro和变分自编码器损失函数lvae之间的权重,lrec表示变分自编码器损失函数中的重构损失函数,lprior表示变分自编码器中对编码器模块的噪声正则损失函数,这三个损失函数的详细定义如下所示:
特征判别器模型d的判别结果反馈函数lpro的计算公式:
其中
重构损失函数lrec表示在缺失矩阵m中缺失状态为1的特征在重构矩阵
噪声正则损失函数lprior表示在生成器模型中变分自编码器的编码器噪声正则项函数,即:
其中dkl表示kl散度,q(rl|x)表示变分自编码器中编码器的输出。
步骤s20103最终,生成器模型g通过最小化其损失函数lg进行模型训练,得到当前最优生成器模型参数。
步骤s202,固定当前生成器模型g的模型参数,将步骤s300中生成器模型g补全原始数据后输出的补全矩阵
特征判别器模型d通过最小化其损失函数ld进行模型的训练,得到当前最优特征判别器模型参数。
步骤s300,利用批量训练方法重复步骤s300和步骤s400中生成器模型和判别器模型的训练策略,直到达到模型的最大迭代次数;
还包括步骤s400,当模型训练达到最大模型迭代次数时,返回最后一次迭代中步骤s300的生成器模型g补全缺失数据后的完整数据作为针对空气质量检测数据缺失的补全方法的补全输出,完成数据完整性优化。
实施例二
本发明还提供一种空气质量检测数据缺失的补全装置的实施例,由于本发明提供的空气质量检测数据缺失的补全装置与前述空气质量检测数据缺失的补全方法的实施例相对应,该空气质量检测数据缺失的补全装置可以通过执行上述方法具体实施方式中的流程步骤来实现本发明的目的,因此上述空气质量检测数据缺失的补全方法的实施例中的解释说明,也适用于本发明提供的空气质量检测数据缺失的补全装置的实施例,在本发明以下的实施例中将不再赘述。
如图4所示,本发明实施例还提供一种空气质量检测数据缺失的补全装置,包括:
获取模块91,用于获取存在数据缺失问题的原始数据,其中,所述原始数据为存在数据缺失的空气质量检测数据集;
构建模块92,用于根据所获取的原始数据,构建基于变分自编码器的生成器模型和构建特征判别器模型;
生成模块93,用于将构建好的基于变分自编码器的生成器模型和特征判别器模型进行结合,利用原始数据对结合后的模型进行优化训练,并通过生成器模型中变分自编码器的重构矩阵对输入原始数据进行数据补全,得到完整数据。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的设备实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。