CN112465150A - 基于真实数据增强的多元时序数据填充方法 - Google Patents

基于真实数据增强的多元时序数据填充方法 Download PDF

Info

Publication number
CN112465150A
CN112465150A CN202011402595.5A CN202011402595A CN112465150A CN 112465150 A CN112465150 A CN 112465150A CN 202011402595 A CN202011402595 A CN 202011402595A CN 112465150 A CN112465150 A CN 112465150A
Authority
CN
China
Prior art keywords
data
matrix
generator
real
generated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011402595.5A
Other languages
English (en)
Inventor
袁晓洁
欧阳嘉伟
周宝航
张莹
蔡祥睿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nankai University
Original Assignee
Nankai University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nankai University filed Critical Nankai University
Priority to CN202011402595.5A priority Critical patent/CN112465150A/zh
Publication of CN112465150A publication Critical patent/CN112465150A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于真实数据增强的多元时序数据缺失值填充方法,通过编码器压缩真实数据为数据表征向量,之后通过生成器结合真实数据增强从数据表征向量从生成完整的数据向量,最后通过判别器分辨真实数据与生成数据。整个模型通过生成对抗式训练优化编码器、生成器与判别器的损失,从而使生成器生成的数据足够接近真实数据以迷惑判别器,最后用生成器的生成数据填充多元时序数据中的缺失值。该方法以带编码器的生成对抗网络为框架,在模型的编码器、生成器、判别器中都运用了真实数据,使模型生成的数据更加真实可靠,可有效用于缺失值的填充。

Description

基于真实数据增强的多元时序数据填充方法
技术领域
本发明属于人工智能技术领域,具体涉及一种基于真实数据增强的多元时序数据填充方法。
背景技术
多元时序数据普遍存在于现实世界的各类实际场景中,如医院定期归档的电子医疗记录、股票市场每日发生变动的股票价格、气象局时时监测的气候因素等等。这些数据都是在多个时刻记录,并且每个时刻的记录都包含多个元素的多元时序数据,全面保存了对应场景中数据的整体变化规律。分析相应场景的多元时序数据可以对场景问题进行全方位分析,并对事物发展趋势做出预测。
由于数据收集方式不规范、采集设备不稳定、传输媒介易丢失等问题,多元时序数据往往存在大量缺失值。这些缺失值的存在会影响多元时序数据的各类研究,并且许多分析模型受限于数据维度不规则的问题,难以直接对数据建模。同时缺失值的存在会导致数值信息不完整,同时存在信息有偏性,从而降低模型分析结果的准确性,严重的甚至造成分析结果的误判。因此解决多元时序数据中存在缺失值的问题是数据分析的必要前提。
填充是解决缺失值的有效方法,一般有推断和生成两种方式:推断是通过挖掘数据特征之间的关联关系,利用未缺失的数值综合推断出缺失部分的数值;生成是挖掘数据整体的分布规律,利用生成模型生成出符合原数据规律的数据用于填充。相比于推断的方式,生成更适用于含有大量缺失值的多元时序数据填充问题。并且生成模型可进一步用于生成新的未出现的数据以扩充数据集,帮助下游任务分析。
近些年来,许多深度学习的方法基于生成对抗网络,构造生成模型用于多元时序数据填充。这些方法通过生成对抗训练的方式不断提高生成器的性能,以实现准确有效的数据生成。发表于NeurIPS2018的工作“Multivariate Time Series ImputationwithGenerative Adversarial Networks”通过引入生成对抗网络WGAN实现对多元时序数据的填充。发表于IJCAI2019的工作“End-to-End Generative Adversarial NetworkforMultivariate Time Series Imputation”在NeurIPS2018工作的基础上加入编码器,优化了生成器生成数据的复杂度,原本需要长时间训练的噪声变量由编码器压缩真实数据得到,大量减少了训练时间。这两篇工作都在“基于生成对抗网络的时序数据缺失值填充算法研究”一文中有详细介绍。但这些方法都未考虑在生成器中引入真实数据,从而限制了生成模型的性能。生成器生成数据过程中,每一步的输入是由生成器自身生成的,不接收其他输入,这样会导致错误的输入持续影响后续数据的生成。
发明内容
本发明的目的在于克服现有技术的不足,提供了一种基于真实数据增强的多元时序数据填充方法。该方法以带编码器的生成对抗网络为框架,在模型的编码器、生成器、判别器中都运用了真实数据,使模型生成的数据更加真实可靠,可有效用于缺失值的填充。
本发明是通过以下技术方案实现的:
一种基于真实数据增强的多元时序数据缺失值填充方法,包括以下步骤:
步骤1、对含有缺失值的多元时序数据做预处理操作,进行数据划分与正则化,进而生成真实数据矩阵与时间间隔矩阵;
步骤2、构造门循环填充单元对多元时序数据建模,并引入时间衰减机制应对时间间隔不规则的问题;
步骤3、基于第2步的门循环填充单元实现编码器,通过编码器压缩真实数据为低维数据表征向量;
步骤4、基于第2步的门循环填充单元实现生成器,用于从第3步生成的数据表征向量中生成完整数据,并且在数据生成过程中通过真实数据增强提升生成数据的质量,该步骤包括;
4.1、生成器的初始的输入方程为:
Figure BDA0002812939500000021
其中
Figure BDA0002812939500000022
为参数,之后每一步传递的信息包括两部分:
Figure BDA0002812939500000023
Figure BDA0002812939500000024
其中generatori为基于门循环填充单元实现的生成器,初始输入为数据表征向量z,之后每一步输入的数据向量由生成器上一步生成的数据向量
Figure BDA0002812939500000031
代替,
Figure BDA0002812939500000032
由上一步隐单元
Figure BDA0002812939500000033
生成;
4.2、扩展生成器输入,使生成器能够同时接收生成数据
Figure BDA0002812939500000034
与对应的真实数据
Figure BDA0002812939500000035
过串联处理联合这两部分数据并且扩展参数的维度:
Figure BDA0002812939500000036
W2n×n=k2n×n·Wn×n
b2n×1=k2n×n·bn×1
其中W,b为生成器中的参数,k为扩展因子用于扩展参数的维度与输入一致;
从而在生成器内部得到生成数据
Figure BDA0002812939500000037
与对应的真实数据
Figure BDA0002812939500000038
相应的数据切片处理为:
Figure BDA0002812939500000039
真实数据传入生成器后,通过非门与生成数据结合;
4.3、通过掩码矩阵实现权重门机制;
在生成器中引入门机制用于决定两部分数据的权重以生成更加合理真实的数据,基于标明数据是否缺失的掩码矩阵构建一个权重门机制,用于结合真实数据与生成数据,相应掩码矩阵每个元素的定义为:
Figure BDA00028129395000000310
基于每个时刻掩码矩阵的向量
Figure BDA00028129395000000311
可以推导得到权重门机制,通过Sigmoid激活函数映射
Figure BDA00028129395000000312
的取值范围为[0,1]的权重门机制:
Figure BDA00028129395000000321
其中Wλ,bλ为权重门机制中的参数,由此得到的权重门平衡数λi用于控制真实数据
Figure BDA00028129395000000320
与生成数据
Figure BDA00028129395000000313
相对比例;
4.4、基于权重门机制结合真实数据;
在每一步把生成数据
Figure BDA00028129395000000314
与对应的真实数据
Figure BDA00028129395000000315
通过门机制决定相应的权重,并且权重和为1:
Figure BDA00028129395000000316
Figure BDA00028129395000000317
其中
Figure BDA00028129395000000318
是真实数据经过权重门过滤后得到的信息,
Figure BDA00028129395000000319
是生成数据经过权重门过滤后得到的信息;
最后得到的新的生成数据为:
Figure BDA0002812939500000041
新的生成数据
Figure BDA0002812939500000042
会替代
Figure BDA0002812939500000043
成为第4.2步中生成器的新输入:
Figure BDA0002812939500000044
步骤5、基于第2步的门循环填充单元实现判别器,用于分辨步骤1的真实数据矩阵与步骤4的生成数据矩阵,并且通过生成对抗式的训练不断优化判别器与生成器,使生成器生成的数据足以迷惑判别器,从而生成接近真实的数据;
步骤6、用生成器生成的数据填充缺失值。
在上述技术方案中,步骤1中:
根据数据数值与未缺失值的时间间隔构造真实数据矩阵与时间间隔矩阵;
定义1:真实数据矩阵X,定义如下:
真实数据矩阵是多元时序数据的数值信息,矩阵代表了元素
Figure BDA0002812939500000045
在不同时刻t1,…,ti…,tn记录到的数值:
Figure BDA0002812939500000046
矩阵X记录了d个变量在n个时刻的数值;对于ti时刻的变量j,可标记为
Figure BDA0002812939500000047
若值未缺失,
Figure BDA0002812939500000048
为实数;若值缺失,
Figure BDA0002812939500000049
为0;
定义2:时间间隔矩阵δ,定义如下:
时间间隔矩阵记录当前时刻与变量上一个未缺失时刻的时间跨度,代表了变量出现的频率,可帮助模型确定上一个未缺失值对此刻的影响程度:
Figure BDA00028129395000000410
对于时间间隔矩阵δ中ti时刻的变量j,矩阵元素
Figure BDA00028129395000000411
的赋值规则如下:
Figure BDA00028129395000000412
在上述技术方案中,步骤2构造门循环填充单元对多元时序数据建模的具体方法是:
门循环填充单元在每时刻输入当前时刻真实数据矩阵的向量
Figure BDA00028129395000000413
与门循环填充单元上一时刻生成的隐变量
Figure BDA00028129395000000414
通过Sigmoid激活函数和tanh激活函数实现的门机制更新、过滤数据信息,得到当前时刻的隐变量
Figure BDA0002812939500000051
作为输出;相应的推导过程为:
Figure BDA0002812939500000052
Figure BDA0002812939500000053
Figure BDA0002812939500000054
Figure BDA0002812939500000055
其中Wμ、Wr
Figure BDA0002812939500000056
bμ、br
Figure BDA0002812939500000057
是模型的参数,σ是Sigmoid激活函数,tanh是tanh激活函数;为了进一步解决不同变量时间间隔不一致的问题,在门循环填充单元中引入时间衰减机制,由变量当前时刻与上一个未缺失时刻的时间间隔
Figure BDA0002812939500000058
推导出一个衰减因子
Figure BDA0002812939500000059
Figure BDA00028129395000000510
其中Wβ、bβ是参数;通过这个衰减因子过滤隐单元
Figure BDA00028129395000000511
可以得到最终输出的隐单元
Figure BDA00028129395000000512
Figure BDA00028129395000000513
在上述技术方案中,步骤3通过编码器压缩真实数据的方法是:
编码器每一步输入真实数据矩阵当前时刻的数据向量,得到对应的隐单元传递给下一步;最后一步输出的隐单元保留了整个真实数据矩阵的信息:
Figure BDA00028129395000000521
其中encoderi为基于门循环填充单元实现的编码器。最后一步得到的隐单元为
Figure BDA00028129395000000514
通过全连接层可以得到最后的数据表征向量z:
Figure BDA00028129395000000515
其中Wz和bz为参数;这个数据表征向量是真实数据矩阵的低维表示。
在上述技术方案中,步骤5通过判别器分辨数据真伪的方法是:
5.1、判断数据是真实数据还是生成数据;
在得到最后一步的隐单元后通过全连接映射成一个取值区间为[0,1]的输出变量
Figure BDA00028129395000000516
变量
Figure BDA00028129395000000517
越接近1,判别器判断输入的数据越可能是真实数据;
Figure BDA00028129395000000518
越接近0,判别器判断输入的数据越可能是生成数据,相应的判别函数为:
Figure BDA00028129395000000519
Figure BDA00028129395000000520
其中
Figure BDA0002812939500000061
可以代表真实数据
Figure BDA0002812939500000062
或者生成数据
Figure BDA0002812939500000063
discriminatori是基于门循环填充单元实现的判别器,Wy和by是参数,经过映射得到的
Figure BDA0002812939500000064
为判别器对输入数据的判断;
5.2、根据判别损失与填充损失实现生成对抗训练。
在上述技术方案中,第6步用生成器生成的数据填充缺失值的方法是:
把生成器每一步输出的生成数据向量
Figure BDA0002812939500000065
连接起来,得到完整的生成数据矩阵
Figure BDA0002812939500000066
Figure BDA0002812939500000067
之后通过矩阵M标明含有真实数据矩阵X中的缺失值部分,并用生成数据矩阵
Figure BDA0002812939500000068
填充缺失值,最终得到经填充的完整数据矩阵Ximputed
Figure BDA0002812939500000069
本发明的优点和有益效果为:
本发明创新性地提出一个基于真实数据增强的多元时序数据填充方法,通过编码器压缩真实数据为数据表征向量,之后通过生成器结合真实数据增强从数据表征向量从生成完整的数据向量,最后通过判别器分辨真实数据与生成数据。整个模型通过生成对抗式训练优化编码器、生成器与判别器的损失,从而使生成器生成的数据足够接近真实数据以迷惑判别器,最后用生成器的生成数据填充多元时序数据中的缺失值。
本发明对生成器结构进行创新性设计,通过扩展生成器输入使生成器能从外部接收真实数据作为额外输入;并且通过掩码矩阵推导出与数据缺失情况相关的权重门机制,用于控制结合的真实数据发挥的效用。首先,通过在生成器中引入真实数据可以提高生成对抗式训练的效率、减少训练花费的时间,原本生成器需要长时间的训练才能使生成数据的分布与真实数据拟合,而本发明在生成器中引入真实数据,可以在每次训练时都给生成器提供充足的真实信息,从而促进生成数据的分布可以更快接近真实数据分布,最终快速实现拟合并完成训练。并且在生成过程中引入真实数据可以提高生成数据的与真实数据的拟合程度、降低生成误差、突破生成准确率的上限阈值,原本生成器在生成数据过程中只从编码器得到的表征向量中解码生成数据,生成效果有一定的局限性,并且随着数据维度的增大,生成准确率会遇到瓶颈,而引入真实数据后,可以在生成过程中提供与数据维度一致的真实数据,这样可确保每部分生成的数据都有充足的真实信息支持,从而促进生成数据更接近真实数据,最终实现真实有效且高准确率的填充。
附图说明
图1为基于真实数据增强的多元时序数据填充方法的流程图。
图2为门循环填充单元示意图。
图3为基于真实数据增强生成器示意图。
图4为现实场景的多元时序数据集统计信息示意图。
图5为填充Physionet、KDD、AQNT数据集的填充误差结果示意图。
图6为填充Physionet数据集后预测任务准确率结果示意图。
对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,可以根据以上附图获得其他的相关附图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合具体实施例进一步说明本发明的技术方案。
一种基于真实数据增强的多元时序数据缺失值填充方法,该方法构造了一个带编码器的生成对抗网络,引入真实数据增强提升了模型各部分的性能。首先编码器压缩真实数据为一个低维数据表征向量,之后生成器从数据表征向量生成完整数据,同时结合真实数据以减少生成数据与真实数据的差异性,最后判别器通过分辨数据是真实数据还是生成数据确定生成器的生成效果,并且通过生成对抗训练降低模型各部分的损失。最终用生成器生成的完整数据填充多元时序数据的缺失值。该填充方法的具体步骤如下:
步骤1、数据预处理
多元时序数据存在于各种的现实场景中,由于现实世界的复杂性,多元时序数据往往数据量大、结构复杂、格式不规则,并且会存在大量的噪声值与异常点。为了使数据更易于问题建模,本发明对多元时序数据进行预处理,在进行数据分割与正则化处理后,构建表征数值的真实数据矩阵与表征时序关系的时间间隔矩阵。
1.1、数据划分与正则化;
多元时序数据是按时间顺序采集的,并且每次采集多个变量。但不同变量的采集时间、采集间隔都不一定相同,并且不同变量的数值分布范围也不一样。因此需对数据先进行划分与正则化处理,使数据格式统一,这样更适合各类问题的研究。
对于原始多元时序数据,从某一时刻开始截取后续所有数据,之后按照一定的时间间隔划分每个区间。某些变量在一个区间内会存在多个值,某些变量在多个区间才出现一个值,其它变量每个区间一个值。针对以上情况,对区间存在多个值的变量累加取平均值,对于区间有单个值的变量不做处理,对于区间内没有值的变量标记为缺失值。之后对每个变量做正则化处理,减去对应元素的均值再除以对应元素的标准差,可以让所有数据的数值分布范围一致。这样构造出格式统一的多元时序数据。
1.2、构建真实数据矩阵与时间间隔矩阵;
经过上一步处理,多元时序数据的时间维度与变量维度都一致。为了使数据更适合于问题直接建模,根据数据数值与未缺失值的时间间隔构造真实数据矩阵与时间间隔矩阵。
定义1:真实数据矩阵X,定义如下:
真实数据矩阵是多元时序数据的数值信息,矩阵代表了元素
Figure BDA0002812939500000081
在不同时刻t1,…,ti…,tn记录到的数值:
Figure BDA0002812939500000082
矩阵X记录了d个变量在n个时刻的数值。对于ti时刻的变量j,可标记为
Figure BDA0002812939500000083
若值未缺失,
Figure BDA0002812939500000084
为实数;若值缺失,
Figure BDA0002812939500000085
为0;
定义2:时间间隔矩阵δ,定义如下:
时间间隔矩阵记录当前时刻与变量上一个未缺失时刻的时间跨度,代表了变量出现的频率,可帮助模型确定上一个未缺失值对此刻的影响程度。时间间隔矩阵中的每个元素表征当前变量已缺失多久:
Figure BDA0002812939500000086
对于时间间隔矩阵δ中ti时刻的变量j,矩阵元素
Figure BDA0002812939500000087
的赋值规则如下:
Figure BDA0002812939500000088
步骤2、构造门循环填充单元对多元时序数据建模
对于含有缺失值的多元时序数据,变量数值之间的时间间隔不固定。传统模型未考虑时间间隔不规则造成的不利影响。因此首先需构造如图2所示的可处理不规则时间间隔数据的门循环填充单元作为模型的基础结构,后续的编码器、生成器、判别器都基于门循环填充单元实现。
门循环填充单元在每时刻输入当前时刻真实数据矩阵的向量
Figure BDA0002812939500000091
与门循环填充单元上一时刻生成的隐变量
Figure BDA0002812939500000092
通过Sigmoid激活函数和tanh激活函数实现的门机制更新、过滤数据信息,得到当前时刻的隐变量
Figure BDA0002812939500000093
作为输出。相应的推导过程为:
Figure BDA0002812939500000094
Figure BDA0002812939500000095
Figure BDA0002812939500000096
Figure BDA0002812939500000097
其中Wμ、Wr
Figure BDA0002812939500000098
bμ、br
Figure BDA0002812939500000099
是模型的参数,σ是Sigmoid激活函数,tanh是tanh 激活函数。
Figure BDA00028129395000000910
是用于更新信息的门机制,
Figure BDA00028129395000000911
是用于过滤信息的门机制,
Figure BDA00028129395000000912
是候选隐单元,
Figure BDA00028129395000000913
是当前时刻的隐单元。
为了进一步解决不同变量时间间隔不一致的问题,在门循环填充单元中引入时间衰减机制,由变量当前时刻与上一个未缺失时刻的时间间隔
Figure BDA00028129395000000914
推导出一个衰减因子
Figure BDA00028129395000000915
Figure BDA00028129395000000916
其中Wβ、bβ是参数。这个衰减因子与时间间隔长度负相关,因此当前时刻离上一个未缺失时刻越远,上一个未缺失数值对当前时刻的影响越小。通过这个衰减因子过滤隐单元
Figure BDA00028129395000000917
可以得到最终输出的隐单元
Figure BDA00028129395000000918
Figure BDA00028129395000000919
当前时刻得到的隐单元进一步与真实数据矩阵的下一时刻数据向量结合,作为门循环填充单元新的输入并得到新的隐单元。通过循环传递可以从输入的真实数据矩阵的n个向量得到n个隐单元。后续的编码器、生成器、判别器都是基于门循环填充单元实现。
步骤3、通过编码器压缩真实数据
为了捕获原始数据的整体规律,并且尽可能保留真实数据的信息,通过编码器压缩原始真实数据为低维数据表征向量。相比矩阵形式的含有缺失值的多元时序数据,表征向量可以保留真实数据的关键信息,并且矩阵中缺失值的不利影响也会在表征向量中降到最低。
编码器基于门循环填充单元实现,每一步输入真实数据矩阵当前时刻的数据向量,得到对应的隐单元传递给下一步。最后一步输出的隐单元保留了整个真实数据矩阵的信息,经过全连接层映射得到数据表征向量。编码器每一步的传递方程为:
Figure BDA0002812939500000101
其中encoderi为基于门循环填充单元实现的编码器。最后一步得到的隐单元为
Figure BDA0002812939500000102
通过全连接层可以得到最后的数据表征向量z:
Figure BDA0002812939500000103
其中Wz和bz为参数。这个数据表征向量是真实数据矩阵的低维表示,包含了数据的关键信息,后续生成器从这个表征向量中重新生成出完整数据矩阵。
步骤4、通过生成器生成完整数据
经过编码器压缩真实数据得到的数据表征向量,可以经过生成器解码恢复成矩阵形式,从而生成不含缺失值的完整多元时序数据。本发明对生成器结构进行创新型改进,引入真实数据作为生成器输入,降低生成过程中的生成误差,提高生成数据的准确度与真实性。并且为了有效利用真实数据增强,本发明对生成器结构做了创新性的修改:对生成器输入进行扩展,使生成器能从外部接收真实数据作为额外输入;并且通过掩码矩阵推导出与数据缺失情况相关的权重门机制;从而根据缺失情况按权重结合生成数据与真实数据,并且用结合的数据代替原本的生成数据传递下去,构造的基于真实数据增强生成器的示意图参见附图3。
4.1、解码数据表征向量;
生成器也是基于门循环填充单元实现的,初始输入为数据表征向量z,之后每一步输入的数据向量
Figure BDA0002812939500000104
由生成器上一步生成的数据向量
Figure BDA0002812939500000105
代替。这样每次需要传递的信息除了隐单元
Figure BDA0002812939500000106
还有生成的数据向量
Figure BDA0002812939500000107
第一步输入生成器的隐单元
Figure BDA0002812939500000108
是随机初始化的,可以在训练过程中优化为合适的取值。而第一步输入的数据向量
Figure BDA0002812939500000109
是由保留真实数据信息的数据表征向量z生成的,这样可以帮助生成与真实数据一致的数据用于填充缺失值。生成器的初始的输入方程为:
Figure BDA00028129395000001010
其中
Figure BDA00028129395000001011
为参数。之后每一步传递的信息有两部分:
Figure BDA00028129395000001012
Figure BDA0002812939500000111
其中generatori为基于门循环填充单元实现的生成器。
Figure BDA0002812939500000112
由上一步隐单元
Figure BDA0002812939500000113
生成,并且
Figure BDA0002812939500000114
作为生成器下一步的新输入。
4.2、扩展生成器输入用于接收真实数据;
为了进一步优化生成数据,防止生成过程中某一步生成的
Figure BDA0002812939500000115
误差太大而影响后续所有数据的生成,可以在生成过程中引入真实数据增强。不同于之前的研究,本发明修改了生成器的输入结构,让原本只接收内部生成数据
Figure BDA0002812939500000116
的输入部分扩展为可同时接收生成数据
Figure BDA0002812939500000117
与对应的真实数据
Figure BDA0002812939500000118
通过串联处理联合两部分数据并且扩展参数的维度:
Figure BDA0002812939500000119
W2n×n=k2n×n·Wn×n
b2n×1=k2n×n·bn×1
其中W,b为生成器中的参数,k为扩展因子用于扩展参数的维度与输入一致。这样创新性地扩展了生成器输入以额外接收真实数据,可用于丰富生成数据所需的真实信息,相应的参数维度也为新的数据做了对应调整。并且后续可分割输入
Figure BDA00028129395000001110
从而在生成器内部得到生成数据
Figure BDA00028129395000001111
与对应的真实数据
Figure BDA00028129395000001112
相应的数据切片处理为:
Figure BDA00028129395000001113
真实数据传入生成器后,通过非门与生成数据结合,生成更合理的输入传递下去。
4.3、通过掩码矩阵实现权重门机制;
真实数据
Figure BDA00028129395000001114
是当前未缺失的值,生成数据
Figure BDA00028129395000001115
是基于历史信息生成的缺失填充值。需要在生成器中引入一个新的门机制用于决定两部分数据的权重以生成更加合理真实的数据。本发明创新性地提出基于标明数据是否缺失的掩码矩阵m构建一个权重门机制,用于结合真实数据与生成数据。相应掩码矩阵每个元素的定义为:
Figure BDA00028129395000001116
这个掩码矩阵是真实数据矩阵缺失状态的表征,从矩阵中1的分布情况可以分析出不同时刻的数据缺失状态。基于每个时刻掩码矩阵的向量
Figure BDA00028129395000001117
可以推导得到权重门机制,通过Sigmoid激活函数映射
Figure BDA00028129395000001118
的取值范围为[0,1]的权重门机制:
Figure BDA00028129395000001119
其中Wλ,bλ为权重门机制中的参数。由此得到的权重门平衡数λi可控制真实数据
Figure BDA0002812939500000121
与生成数据
Figure BDA0002812939500000122
相对比例,从而影响对最终生成数据的贡献。
4.4、基于权重门机制结合真实数据;
得到权重门平衡数λi后可用于结合真实数据,从而得到新的生成数据。这个新的生成数据相比于之前研究生成的数据,由于引入了真实数据增强,因此更加准确且接近真实值。由于生成器是按照时序逐步生成数据的,因此与真实数据按照时刻一一对应,并且在生成过程中已通过第4.2步的扩展输入把真实数据传入了生成器。所以可直接在每一步把生成数据
Figure BDA0002812939500000123
与对应的真实数据
Figure BDA0002812939500000124
通过门机制决定相应的权重,并且权重和为1:
Figure BDA0002812939500000125
Figure BDA0002812939500000126
其中
Figure BDA0002812939500000127
是真实数据经过权重门过滤后得到的信息,
Figure BDA0002812939500000128
是生成数据经过权重门过滤后得到的信息。当缺失值比较少时,真实数据保留足够的数据信息,因此对数据生成更有帮助,并且这时
Figure BDA0002812939500000129
中1比较多,推导得到的权重门平衡数λi比较大,真实数据
Figure BDA00028129395000001210
所占权重更大;相反的,当缺失值比较多时,真实数据保留的信息不足,因此更需要原生成数据的帮助,这时
Figure BDA00028129395000001211
中0比较多,相应的(1-λi)比较大,生成数据
Figure BDA00028129395000001212
所占权重更大,最后得到的新的生成数据为:
Figure BDA00028129395000001213
新的生成数据同时包含了真实数据信息与生成器解码得到的生成数据信息,通过引入真实数据可以在生成器每一步提供更充足的真实数据信息,及时降低生成的误差数据的影响,帮助生成器生成更加符合真实数据的完整数据。并且新的生成数据
Figure BDA00028129395000001214
会替代
Figure BDA00028129395000001215
成为第4.2步中生成器的新输入:
Figure BDA00028129395000001216
本发明从底层结构上对整个生成器进行改进优化,使生成器可接收真实数据作为模型的额外输入,并通过掩码矩阵推导出权重门机制用于结合生成数据与真实数据,最终生成与原数据格式完全一致的完整生成数据。
步骤5、通过判别器分辨数据真伪;
为了使生成数据更接近真实数据,可以通过生成对抗训练的方式优化整个模型。强大的判别器可以正确判断输入的数据是真实的还是生成的,但生成器优化后可以使生成的数据接近真实以迷惑判别器,导致判别器误判,之后继续优化判别器提高分辨能力。通过交替优化生成器和判别器,最终可得到一个强大的生成器,用于生成足够真实的数据。
5.1、判断数据是真实数据还是生成数据;
判别器也是基于门循环填充单元实现的,输入给判别器的真实数据矩阵与生成数据矩阵的数据格式是一致的,所以可以统一处理。在得到最后一步的隐单元后通过全连接映射成一个取值区间为[0,1]的输出变量
Figure BDA0002812939500000131
变量
Figure BDA0002812939500000132
越接近1,判别器判断输入的数据越可能是真实数据;
Figure BDA0002812939500000133
越接近0,判别器判断输入的数据越可能是生成数据。相应的判别函数为:
Figure BDA0002812939500000134
Figure BDA0002812939500000135
其中
Figure BDA0002812939500000136
可以代表真实数据
Figure BDA0002812939500000137
或者生成数据
Figure BDA0002812939500000138
discriminatori是基于门循环填充单元实现的判别器,Wy和by是参数。经过映射得到的
Figure BDA0002812939500000139
为判别器对输入数据的判断。
5.2、根据判别损失与填充损失实现生成对抗训练;
整个模型通过生成对抗训练进行优化,而训练的损失是基于生成器的生成数据损失与判别器的判断损失两部分构成。整个过程是交替训练的:训练判别器准确分辨真实数据与生成数据的能力;训练编码器与生成器使生成的数据足以迷惑判别器判断的能力。相应的判别器的训练损失为:
Figure BDA00028129395000001310
其中
Figure BDA00028129395000001311
是对生成数据的判断,需使
Figure BDA00028129395000001312
的值接近0;yx是对真实数据的判断,需使yx的值接近1。整个训练过程让判别器的训练损失越来越小,这样判别器的性能越来越强。
而对应的编码器与生成器的训练损失为:
Figure BDA00028129395000001313
前半部分的
Figure BDA00028129395000001314
是为了让生成的数据足够真实,以致判别器误判为1。而后半部分是让生成的数据在数值上接近真实数据中未缺失数据的数值,λ是一个参数控制两部分损失的比重。整个训练过程让生成器的训练损失越来越小,这样生成器的性能越来越强。生成的数据在各个方面都越来越接近真实数据。
步骤6、用生成器生成的数据填充缺失值
当整个模型训练优化完成后,生成器生成的数据已经足够真实,可用于填充原本含有缺失值的多元时序数据。为了得到完整的生成数据,可以把生成器每一步输出的生成数据向量
Figure BDA0002812939500000141
连接起来,得到完整的生成数据矩阵
Figure BDA0002812939500000142
Figure BDA0002812939500000143
之后通过矩阵M标明含有真实数据矩阵X中的缺失值部分,并用生成数据矩阵
Figure BDA0002812939500000144
填充缺失值,最终得到经填充的完整数据矩阵Ximputed
Figure BDA0002812939500000145
实验验证:
在许多实际场景中都可以收集到多元时序数据形式的数据集,常见的有Physionet于 2012年发布的医疗预测比赛数据集、KDD挑战杯于2018年发布的北京空气质量数据集、中国台湾环境保护局发布的台湾地区北部的空气质量数据集AQNT。对于每个数据集,提取其中数据相对完整的样本,并截取一定时间跨度内的数据,同时保留与常见分析工作相关的特征变量。三个数据集的统计信息如图4所示。
通过在Physionet、KDD和AQNT这三个真实数据集上执行填充任务与下游预测任务来验证本发明方法的效用。填充任务分析填充数据是否准确,可直接证明本发明方法的填充效果;预测任务分析数据集经填充后应用于各类分析模型的预测效果,从而间接证明本发明方法的填充值得有效性。本发明方法与九种经典的填充方法作对比实验,这些方法分别是Mean(均值填充)、KNN(近邻填充)、MF(矩阵分解填充)、MICE (多重插值填充)、GAIN(面板数据的生成对抗填充网络)、BRITS(双向循环填充网络)、RDA(基于循环去噪自编码器的时序数据填充)、RIMT(多维时序循环填充网络) 和GAN-2-Stag(两阶段训练的生成对抗填充网络)。
对于填充任务,以均方误差(MSE)作为实验评测指标:MSE的数值越小,填充值与真实值的误差越小,即填充效果越好;MSE的数值越大,填充值与真实值的误差越大,即填充效果越差。图5展示了在Physionet、KDD和AQNT数据集上不同缺失率时各方法填充效果的对比折线图,x轴是缺失率,y轴表示对应填充方法的MSE。可以看到,本发明所提出的方法在大多数缺失率情况下取得了最佳的填充效果,这证明本发明的填充方法是高效有用的。此外,随着缺失值升高,各填充方法的填充效果都在一定程度上有所降低,但本发明提出的方法依然可以取得一个比较可观的填充效果,这也验证本发明提出的填充方法具有一定的鲁棒性。
对于预测任务,先用填充方法补全含有缺失值的多元时序数据,再验证在填充后数据集上分析预测的结果,以此来间接证明填充的数据是否合理有效。Physionet是用于医疗预测比赛的数据集,预测目标是根据患者的多元时序数据预测死亡概率。图6展示了经填充后的Physionet数据集上,四个不同分析器(LR、RF、SVM、RNN)的预测死亡的效果。预测效果以ROC曲线下方面积大小(AUC)作为实验对比的评测指标:AUC 的数值越大,预测越准确,即填充效果越好;AUC的数值越小,预测越偏差,即填充效果越差。可以看到,本发明所提出的方法在所有分析器上都取得了最好的预测效果,并且RNN分析器在经本发明填充的数据集上实现了最高的预测结果0.883。这些结果从侧面证明本发明提出的方法可以对多元时序数据进行合理有效的填充,生成的填充值有利于后续的分析工作。并且本发明的填充方法对不同的下游分析器都有很大帮助,这也证明本发明提出的填充方法具有一定的泛用性。
总而言之,本发明在填充与预测任务上都取得了优于其他对比方法的表现,直接且间接地证明了本发明提出的基于真实数据增强的多元时序数据填充方法的合理有效性。
以上对本发明做了示例性的描述,应该说明的是,在不脱离本发明的核心的情况下,任何简单的变形、修改或者其他本领域技术人员能够不花费创造性劳动的等同替换均落入本发明的保护范围。

Claims (6)

1.一种基于真实数据增强的多元时序数据缺失值填充方法,其特征在于:包括以下步骤:
步骤1、对含有缺失值的多元时序数据做预处理操作,进行数据划分与正则化,进而生成真实数据矩阵与时间间隔矩阵;
步骤2、构造门循环填充单元对多元时序数据建模,同时引入时间衰减机制处理时间间隔不规则的问题;
步骤3、基于第2步的门循环填充单元实现编码器,通过编码器压缩真实数据为低维数据表征向量;
步骤4、基于第2步的门循环填充单元实现生成器,用于从第3步生成的数据表征向量中生成完整数据,并且在数据生成过程中通过真实数据增强提升生成数据的质量;
步骤4.1、生成器的初始的输入方程为:
Figure FDA0002812939490000011
其中
Figure FDA0002812939490000012
Figure FDA0002812939490000013
为参数,之后每一步传递的信息包括两部分:
Figure FDA0002812939490000014
Figure FDA0002812939490000015
其中generatori为基于门循环填充单元实现的生成器,初始输入为数据表征向量z,之后每一步输入的数据向量由生成器上一步生成的数据向量
Figure FDA0002812939490000016
代替,
Figure FDA0002812939490000017
由上一步隐单元
Figure FDA0002812939490000018
生成;
步骤4.2、扩展生成器输入,使生成器能够同时接收生成数据
Figure FDA0002812939490000019
与对应的真实数据
Figure FDA00028129394900000110
通过串联处理联合这两部分数据并且扩展参数的维度:
Figure FDA00028129394900000111
W2n×n=k2n×n·Wn×n
b2n×1=k2n×n·bn×1
其中W,b为生成器中的参数,k为扩展因子用于扩展参数的维度与输入一致;从而在生成器内部得到生成数据
Figure FDA00028129394900000112
与对应的真实数据
Figure FDA00028129394900000113
相应的数据切片处理为:
Figure FDA00028129394900000114
真实数据传入生成器后,通过非门与生成数据结合;
步骤4.3、通过掩码矩阵实现权重门机制;
在生成器中引入门机制用于决定两部分数据的权重以生成更加合理真实的数据,基于标明数据是否缺失的掩码矩阵构建一个权重门机制,用于结合真实数据与生成数据,相应掩码矩阵每个元素的定义为:
Figure FDA0002812939490000021
基于每个时刻掩码矩阵的向量
Figure FDA0002812939490000022
可以推导得到权重门机制,通过Sigmoid激活函数映射
Figure FDA0002812939490000023
的取值范围为[0,1]的权重门机制:
Figure FDA0002812939490000024
其中Wλ,bλ为权重门机制中的参数,由此得到的权重门平衡数λi用于控制真实数据
Figure FDA0002812939490000025
与生成数据
Figure FDA0002812939490000026
相对比例;
步骤4.4、基于权重门机制结合真实数据;
在每一步把生成数据
Figure FDA0002812939490000027
与对应的真实数据
Figure FDA0002812939490000028
通过门机制决定相应的权重,并且权重和为1:
Figure FDA0002812939490000029
Figure FDA00028129394900000210
其中
Figure FDA00028129394900000211
是真实数据经过权重门过滤后得到的信息,
Figure FDA00028129394900000212
是生成数据经过权重门过滤后得到的信息;
最后得到的新的生成数据为:
Figure FDA00028129394900000213
新的生成数据
Figure FDA00028129394900000214
会替代
Figure FDA00028129394900000215
成为第4.2步中生成器的新输入:
Figure FDA00028129394900000216
步骤5、基于第2步的门循环填充单元实现判别器,用于分辨步骤1的真实数据矩阵与步骤4的生成数据矩阵,并且通过生成对抗式的训练不断优化判别器与生成器,使生成器生成的数据足以迷惑判别器,从而生成接近真实的数据;
步骤6、用生成器生成的数据填充缺失值。
2.根据权利要求1所述的基于真实数据增强的多元时序数据缺失值填充方法,其特征在于:步骤1中:
根据数据数值与未缺失值的时间间隔构造真实数据矩阵与时间间隔矩阵;
定义1:真实数据矩阵X,定义如下:
真实数据矩阵是多元时序数据的数值信息,矩阵代表了元素
Figure FDA0002812939490000031
在不同时刻t1,…,ti…,tn记录到的数值:
Figure FDA0002812939490000032
矩阵X记录了d个变量在n个时刻的数值;对于ti时刻的变量j,可标记为
Figure FDA0002812939490000033
若值未缺失,
Figure FDA0002812939490000034
为实数;若值缺失,
Figure FDA0002812939490000035
为0;
定义2:时间间隔矩阵δ,定义如下:
时间间隔矩阵记录当前时刻与变量上一个未缺失时刻的时间跨度,代表了变量出现的频率,可帮助模型确定上一个未缺失值对此刻的影响程度:
Figure FDA0002812939490000036
对于时间间隔矩阵δ中ti时刻的变量j,矩阵元素
Figure FDA0002812939490000037
的赋值规则如下:
Figure FDA0002812939490000038
3.根据权利要求2所述的基于真实数据增强的多元时序数据缺失值填充方法,其特征在于:步骤2构造门循环填充单元对多元时序数据建模的具体方法是:
门循环填充单元在每时刻输入当前时刻真实数据矩阵的向量
Figure FDA0002812939490000039
与门循环填充单元上一时刻生成的隐变量
Figure FDA00028129394900000310
通过Sigmoid激活函数和tanh激活函数实现的门机制更新、过滤数据信息,得到当前时刻的隐变量
Figure FDA00028129394900000311
作为输出;相应的推导过程为:
Figure FDA00028129394900000312
Figure FDA00028129394900000313
Figure FDA00028129394900000314
Figure FDA00028129394900000315
其中Wμ、Wr
Figure FDA00028129394900000316
bμ、br
Figure FDA00028129394900000317
是模型的参数,σ是Sigmoid激活函数,tanh是tanh激活函数;为了进一步解决不同变量时间间隔不一致的问题,在门循环填充单元中引入时间衰减机制,由变量当前时刻与上一个未缺失时刻的时间间隔
Figure FDA00028129394900000318
推导出一个衰减因子
Figure FDA00028129394900000319
Figure FDA0002812939490000041
其中Wβ、bβ是参数;通过这个衰减因子过滤隐单元
Figure FDA0002812939490000042
可以得到最终输出的隐单元
Figure FDA0002812939490000043
Figure FDA0002812939490000044
4.根据权利要求3所述的基于真实数据增强的多元时序数据缺失值填充方法,其特征在于:步骤3通过编码器压缩真实数据的方法是:
编码器每一步输入真实数据矩阵当前时刻的数据向量,得到对应的隐单元传递给下一步;最后一步输出的隐单元保留了整个真实数据矩阵的信息:
Figure FDA0002812939490000045
其中encoderi为基于门循环填充单元实现的编码器,最后一步得到的隐单元为
Figure FDA0002812939490000046
通过全连接层可以得到最后的数据表征向量z:
Figure FDA0002812939490000047
其中Wz和bz为参数;这个数据表征向量是真实数据矩阵的低维表示。
5.根据权利要求4所述的基于真实数据增强的多元时序数据缺失值填充方法,其特征在于:步骤5通过判别器分辨数据真伪的方法是:
步骤5.1、判断数据是真实数据还是生成数据;
在得到最后一步的隐单元后通过全连接映射成一个取值区间为[0,1]的输出变量
Figure FDA0002812939490000048
变量
Figure FDA0002812939490000049
越接近1,判别器判断输入的数据越可能是真实数据;
Figure FDA00028129394900000410
越接近0,判别器判断输入的数据越可能是生成数据,相应的判别函数为:
Figure FDA00028129394900000411
Figure FDA00028129394900000412
其中
Figure FDA00028129394900000413
可以代表真实数据
Figure FDA00028129394900000414
或者生成数据
Figure FDA00028129394900000415
discriminatori是基于门循环填充单元实现的判别器,Wy和by是参数,经过映射得到的
Figure FDA00028129394900000416
为判别器对输入数据的判断;
步骤5.2、根据判别损失与填充损失实现生成对抗训练。
6.根据权利要求5所述的基于真实数据增强的多元时序数据缺失值填充方法,其特征在于:第6步用生成器生成的数据填充缺失值的方法是:
把生成器每一步输出的生成数据向量
Figure FDA00028129394900000417
连接起来,得到完整的生成数据矩阵
Figure FDA00028129394900000418
Figure FDA0002812939490000051
之后通过矩阵M标明含有真实数据矩阵X中的缺失值部分,并用生成数据矩阵
Figure FDA0002812939490000053
填充缺失值,最终得到经填充的完整数据矩阵Ximputed
Figure FDA0002812939490000052
CN202011402595.5A 2020-12-02 2020-12-02 基于真实数据增强的多元时序数据填充方法 Pending CN112465150A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011402595.5A CN112465150A (zh) 2020-12-02 2020-12-02 基于真实数据增强的多元时序数据填充方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011402595.5A CN112465150A (zh) 2020-12-02 2020-12-02 基于真实数据增强的多元时序数据填充方法

Publications (1)

Publication Number Publication Date
CN112465150A true CN112465150A (zh) 2021-03-09

Family

ID=74806049

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011402595.5A Pending CN112465150A (zh) 2020-12-02 2020-12-02 基于真实数据增强的多元时序数据填充方法

Country Status (1)

Country Link
CN (1) CN112465150A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113298131A (zh) * 2021-05-17 2021-08-24 南京邮电大学 一种基于注意力机制的时序数据缺失值插补方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109165664A (zh) * 2018-07-04 2019-01-08 华南理工大学 一种基于生成对抗网络的属性缺失数据集补全与预测方法
CN110957015A (zh) * 2019-12-02 2020-04-03 南开大学 电子医疗记录数据的缺失值填充方法
CN111429605A (zh) * 2020-04-10 2020-07-17 郑州大学 一种基于生成式对抗网络的缺失值填充方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109165664A (zh) * 2018-07-04 2019-01-08 华南理工大学 一种基于生成对抗网络的属性缺失数据集补全与预测方法
CN110957015A (zh) * 2019-12-02 2020-04-03 南开大学 电子医疗记录数据的缺失值填充方法
CN111429605A (zh) * 2020-04-10 2020-07-17 郑州大学 一种基于生成式对抗网络的缺失值填充方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
YING ZHANG ET AL.: "《Missing value imputation in multivariate time series with end-to-end generative adversarial networks》", 《INFORMATION SCIENCES》 *
罗永洪: "《基于生成对抗网络的时序数据缺失值填充算法研究》", 《中国优秀博硕士学位论文全文数据库(硕士),信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113298131A (zh) * 2021-05-17 2021-08-24 南京邮电大学 一种基于注意力机制的时序数据缺失值插补方法
CN113298131B (zh) * 2021-05-17 2022-08-05 南京邮电大学 一种基于注意力机制的时序数据缺失值插补方法

Similar Documents

Publication Publication Date Title
CN111540193B (zh) 一种基于图卷积时序生成对抗网络的交通数据修复方法
CN114818515A (zh) 一种基于自注意力机制和图卷积网络的多维时序预测方法
Du et al. GAN-based anomaly detection for multivariate time series using polluted training set
CN110807544B (zh) 一种基于机器学习的油田剩余油饱和度分布的预测方法
CN115510042A (zh) 基于生成对抗网络的电力系统负荷数据填补方法及装置
CN113315593A (zh) 一种基于flom协方差矩阵和lstm神经网络的频谱感知算法
CN115659254A (zh) 一种双模态特征融合的配电网电能质量扰动分析方法
CN117290800A (zh) 一种基于超图注意力网络的时序异常检测方法及系统
CN116226739A (zh) 一种基于时空融合的图卷积网络工业过程故障诊断方法
CN116306780B (zh) 一种动态图链接生成方法
CN115964258A (zh) 基于多时序分析的物联网卡异常行为分级监测方法及系统
CN117743768B (zh) 基于去噪生成对抗网络和扩散模型的信号去噪方法及系统
CN112465150A (zh) 基于真实数据增强的多元时序数据填充方法
CN113298131B (zh) 一种基于注意力机制的时序数据缺失值插补方法
CN117668743A (zh) 一种关联时空关系的时序数据预测方法
CN112422546A (zh) 一种基于变邻域算法和模糊聚类的网络异常检测方法
CN111858343A (zh) 一种基于攻击能力的对抗样本生成方法
CN117131452A (zh) 基于归一化流和贝叶斯网络的异常检测方法及系统
CN117093830A (zh) 一种考虑局部与全局的用户负荷数据修复方法
CN116400168A (zh) 一种基于深度特征聚类的电网故障诊断方法及系统
CN116205135A (zh) 基于数据分解和神经网络的so2排放预测方法及系统
CN116361640A (zh) 一种基于分层注意力网络的多变量时间序列异常检测方法
CN115174268A (zh) 基于结构化正则项的入侵检测方法
CN113254485A (zh) 实时数据流异常检测方法及系统
CN112463643A (zh) 一种软件质量预测方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination