摘要
随着数据科学和人工智能技术的发展,人们对数据的需求变大,大量的数据被应用在不同的场景下。时序数据(TimeSeriesData)作为一种重要的数据类型,在现实生活中非常常见。挖掘时序数据中的隐含信息并对时序数据进行分析具有重大的现实意义。然而由于数据采集设备的不稳定性或者人为原因,采集得到的数据并不是完整的数据,存在有缺失值,影响了对时序数据的后续研究。已有的缺失值处理方法包括直接删除法、传统缺失值插补法和基于生成模型缺失值插补法。然而,这些方法要么只适用于缺失率很小的样本集,要么没有考虑到时序数据中的时间先后信息,故用于时序数据缺失值插补问题上的效果不尽人意。为了改进已有插补法在时序数据缺失值处理问题上的不足,本论文基于两个优秀的生成模型提出了两种高性能的时序数据缺失值插补算法。具体工作如下: 设计了一种基于生成对抗网络(GenerativeAdversarialNetwork,GAN)模型的时序数据缺失值插补方案。在生成器(Generator)当中引用了多头自注意力机制(Multi-headSelfAttention,MSA),使其能很好地学习到时序数据中的时序信息,避免了传统循环神经网络(RecurrentNeuralNetwork,RNN)处理长序列容易造成遗忘的问题。生成器的搭建使用了自编码器(Auto-Encoder,AE)结构,使得生成器的初始输入不再是一个随机向量,而是通过编码器(Encoder)压缩得到的更加优秀的特征向量,较已有插补方法在插补精度上得到了提升。 设计了一种基于变分自编码器(VariationalAuto-Encoder,VAE)模型的时序数据缺失值插补方案。在编码器和解码器(Decoder)当中都引用了最新的ProbSparse自注意力机制(ProbSparseSelfAttention,PSA),它具有与传统自注意力机制(SelfAttention,SA)一样在处理长序列问题上不容易造成遗忘的优势,并且其计算复杂度比传统SA更小。该方法不仅较已有插补方法在插补精度上得到了提升,并且和基于GAN方法相比,在精度相差不大的前提下提高了时间效率。 为了验证本论文提出的两种方法的有效性,选取了两个真实的时序数据集,用已有方法和本文提出的两种方法对其进行缺失值插补。结果表明本文提出的方法在插补性能上优于已有方法。