CN114896227A - 一种时间序列缺失值填充方法、系统、设备及介质 - Google Patents
一种时间序列缺失值填充方法、系统、设备及介质 Download PDFInfo
- Publication number
- CN114896227A CN114896227A CN202210075817.XA CN202210075817A CN114896227A CN 114896227 A CN114896227 A CN 114896227A CN 202210075817 A CN202210075817 A CN 202210075817A CN 114896227 A CN114896227 A CN 114896227A
- Authority
- CN
- China
- Prior art keywords
- data
- missing
- time
- time series
- model
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提出了一种时间序列缺失值填充方法、系统、设备和介质,该方法包括:对时间序列数据进行预处理,并通过预处理后的时间序列数据训练变分自编码器模型;响应于时间序列数据存在缺失,通过变分自编码器模型生成新数据,并将新数据作为所述时间序列数据缺失的值。通过本发明提出的一种时间序列缺失值填充方法,采用变分自编码器模型生成完整的周期数据作为缺失数据,在整个周期数据丢失的情况下也可以有效生成对应的缺失数据,无需依赖历史数据或相邻的其他周期数据,并且在多个周期数据丢失的情况下依然可以有效生成对应的周期数据进行缺失值数据的填充。
Description
技术领域
本发明属于计算机领域,具体涉及一种时间序列缺失值填充方法、系统、设备及介质。
背景技术
时间序列是一类最常见的数据,目前时间序列分析重点研究的多是时间序列的预测和异常检测。很多时序算法都依赖完整的时序数据进行建模,许多业务也需要数据保持完整性,以更好地进行可视化与分析。然而在真实场景中,由于采集能力或网络传输的原因,时序数据常常会有缺失、断点的情况。如何处理这些有缺失的时间序列是一个非常重要的工作。
在传统实现方式上有关时间序列的补缺工作大体上分为:删除或填充这两类。删除所考虑的不是进行填补,而是将缺失值作为特征之一输入到时序模型,例如异常检测,行为分析等;而填充是找到时序变化的规律,将值补充进去,分为统计方式填充与机器学习填充两种方式。
缺失数据删除
最直接的缺失数据处理的方式,就是直接忽略这些缺失值,简称为直接删除法,该方法常用在离散型的时间序列处理中,比如用户购物行为序列,事件序列等,这类序列数据没有固定的采集间隔,一般会把数据点之间的间隔时间作为特征进行分析。
缺失数据填补
将缺失的数据删除一般只适用于少部分对数据完整度要求不高的场景,大部分场景(例如监控、安全等)需要我们尽可能将缺失的数据填充。数据填充需要我们找到时间序列一定的变化规律,从而将值补充进去。这里与时间序列的预测有一点相似,不同的是,时间序列预测中我们看不到所要预测点后面的数据,而时序补缺中,我们可以分析缺失点前后的数据,从而更精准的对缺失数据进行填充。数据填充基本分为统计方式填充与机器学习填充两种方式。
a.统计方式填充
基于统计学的填充方法是时间序列补缺中常用的方法,其计算复杂度低,易操作,在许多精度要求不高的业务场景中比较适用。
就近填充
就近填充包括:前推法LOCF,用缺失之前的最后一次观测值填补;与后推法NOCB,使用缺失值后面的观测值进行填补。这个方法是时序当中最基本的方法。
特征值填充
特征值填充包括:均值、中值、常用值等。这类方法计算快,进行简单的统计即可实现数据的填补。其一般直接忽略数据的时序信息,假定时序数据里面基本没有很强趋势性。
线性插值
这个方法历史悠久。其假定时序之间变动有很强的趋势,通过拟合数据的趋势变化,进而进行填补。早期天文学缺失数据都用这个方法。线性插补的方法包括一元线性回归,多元线性回归,岭回归等。
季节性+线性插值
经济数据或者季节波动数据,常常不符合简单的线性变化强假设。对这样的数据进行补缺,一般的线性插值法效果比较差。这里需要模型同时捕捉时序数据的季节性和总体趋势性,进而对数据的演变模式更好的拟合,实现缺失值数据的补充。
b.机器学习填充
随着计算能力的大幅提升,现今许多的场景下的时间序列补缺都采用了机器学习的方式,常见的方法包括基于最近邻方法(KNN),循环神经网络(RNN),随机森林的缺失值填充算法。这类的方法的本质是以缺失点附近的数据作为特征,预测缺失点的数据,通过海量的历史数据中挖掘相似的变化模型,从而进行更精准的数据填充。包括:
·KNN:找到缺失点附近数据最相似的若干个历史数据点,对缺失值进行填补
·RNN:通过循环神经网络拟合时序数据的变化趋势,对缺失数据进行填补。这里一般多使用双向RNN。
·随机森林:这里以缺失点附近的数据作为特征,缺失数据作为要预测的值,在海量数据中训练一个高拟合随机树,对缺失点进行预测。
但是,目前这些算法的提出都是针对单个或少数数据缺失的情况。当整个数据周期的数据缺失的时候,部分算法不可用,部分算法虽然可用但是计算复杂。本专利针对时间周期数据缺失情况,提出一种可以处理整个时间周期数据缺失的方法。
发明内容
为解决上述问题,本发明提出了一种时间序列缺失值填充方法,包括:
对时间序列数据进行预处理,并通过预处理后的时间序列数据训练变分自编码器模型;
响应于时间序列数据存在缺失,通过所述变分自编码器模型生成新数据,并将所述新数据作为所述时间序列数据缺失的值。
在本发明的一些实施方式中,通过预处理后的时间序列数据训练变分自编码器模型包括:
确定所述时间序列数据的周期,将每一个周期内的所有时间序列数据作为特征数据,并通过多个所述特征数据训练所述变分自编码器模型。
在本发明的一些实施方式中,通过预处理后的时间序列数据训练变分自编码器模型还包括:
初始化所述变分自编码器模型的预定层的隐藏层以及每个隐藏层的输入输出维度,通过预处理后的所述时间序列数据迭代训练所述变分自编码器模型,并通过损失函数优化所述每个隐藏层的输入输出维度。
在本发明的一些实施方式中,通过损失函数优化所述每个隐藏层的输入输出维度包括:
通过所述变分自编码器模型的编码器的损失函数与解码器的损失函数的数值对所述变分自编码器模型的隐藏层的输入输出维度进行优化。
在本发明的一些实施方式中,将所述新数据作为所述时间序列数据缺失的值包括:
根据所述时间序列数据的周期,分析所述周期中每一个特征数据的数据分布范围,并计算出每一个特征数据所对应的分布函数;
获取所述变分自编码器模型生成的新数据,根据所述新数据中各个特征数据所对应的分布函数计算对应的随机值,并将所述随机值与其对应的特征数据相加后作为所述时间序列数据缺失的值。
在本发明的一些实施方式中,将所述新数据作为所述时间序列数据缺失的值还包括:
分析所述时间序列数据周期之间的数据变化趋势,并判断所述数据是否存在线性变化关系;
响应于存在所述线性变化关系,计算所述时间序列数据周期之间的线性变化的变化率;
获取所述变分自编码器模型生成的新数据及所述时间序列数据的缺失的周期数,将所述新数据中每一个特征数据乘以所述缺失的周期数对应的变化率后作为所述时间序列数据的数据缺失的值。
在本发明的一些实施方式中,将所述新数据作为所述时间序列数据缺失的值还包括:
分析所述时间序列数据周期之间的数据变化趋势,并判断所述数据是否存在线性变化关系;
响应于存在所述线性变化关系,以所述时间序列数据的周期数据为训练满足所述线性变化关系的机器学习模型;
通过所述机器学习模型根据所述时间序列缺失值所属的周期数计算出对应的变化率,并将所述变化率与所述变分自编码器模型生成的新数据相乘后得到的计算结果作为所述时间序列数据的数据缺失的值。
本发明的另一方面还提出了一种时间序列缺失值填充系统,包括:
训练模块,所述训练模块配置用于对时间序列数据进行预处理,并通过预处理后的时间序列数据训练变分自编码器模型;
数据填充模块,所述填充模块配置用于响应于时间序列数据存在缺失,通过所述变分自编码器模型生成新数据,并将所述新数据作为所述时间序列数据缺失的值。
本发明的又一方面还提出了一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现上述实施方式中任意一项所述方法的步骤。
本发明的再一方面还提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述实施方式中任意一项所述方法的步骤。
通过本发明提出的一种时间序列缺失值填充,采用变分自编码器模型生成完整的周期数据作为缺失数据,在整个周期数据丢失的情况下也可以有效生成对应的缺失数据,无需依赖历史数据或相邻的其他周期数据,并且在多个周期数据丢失的情况下依然可以有效生成对应的周期数据继续缺失值数据的填充。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种时间序列缺失值填充方法的方法流程图;
图2为本发明实施例提供的一种时间序列缺失值填充系统的结构示意图;
图3为本发明实施例提供的一种计算机设备的结构示意图;
图4为本发明实施例提供的一种计算机可读存储介质的结构示意图;
图5为本发明实施例提供的一种时间序列缺失值填充方法的使用效果参考图;
图6为本发明实施例提供的一种时间序列缺失值填充方法的使用效果参考图;
图7为本发明实施例提供的一种时间序列缺失值填充方法所使用的变分自编码器模型的训练示意图;以及
图8为本发明实施例提供的一种时间序列缺失值填充方法所使用的变分自编码器模型的训练示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
在本发明的实施例中,时间序列(或称动态数列)是指将同一统计指标的数值按其发生的时间先后顺序排列而成的数列。时间序列分析的主要目的是根据已有的历史数据对未来进行预测。经济数据中大多数以时间序列的形式给出。根据观察时间的不同,时间序列中的时间可以是年份、季度、月份或其他任何时间形式;
时间周期:时间周期,又称循环周期、时间循环周期。举个简单的例子,我们熟知的春夏秋冬就是一个典型的时间循环;
欧式距离:欧几里得度量(euclidean metric)(也称欧氏距离)是一个通常采用的距离定义,指在m维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)。在二维和三维空间中的欧氏距离就是两点之间的实际距离;
损失函数:loss function,或代价函数(cost function)是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。在应用中,损失函数通常作为学习准则与优化问题相联系,即通过最小化损失函数求解和评估模型;
AutoEncoder:自编码器(autoencoder,AE)是一类在半监督学习和非监督学习中使用的人工神经网络(Artificial Neural Networks,ANNs),其功能是通过将输入信息作为学习目标,对输入信息进行表征学习 (representation learning)。Autoencoder是一种人工神经网络,用于以无监督的方式学习有效的数据编码。Autoencoder包含encoder(编码器)和decoder (解码器)两个过程,encoder过程中会建立一个隐藏层(或多个隐藏层) 包含了输入数据的低维向量。decoder会通过隐藏层的低维向量重构数据。可以把AE理解为有损的压缩与解压;
在本发明的实施例中,本发明提出的一种时间序列缺失值填充方法采用的人工智能模型为变分自编码器模型(Variational Autoencoder,VAE), VAE模型是一种包含隐变量的生成模型,它利用神经网络训练得到两个函数(也称为推断网络和生成网络),进而生成输入数据中不包含的数据。 VAE模型在生成多种复杂数据方面已经显示出了巨大的潜力,包括手写数字图像、人脸图像、门牌号图像、CIFAR图像、场景物理模型、分割图像以及从静态图像进行预测等。
如图1所示,本发明的第一方面提出了一种时间序列缺失值填充方法,包括:
步骤S1、对时间序列数据进行预处理,并通过预处理后的时间序列数据训练变分自编码器模型;
步骤S2、响应于时间序列数据存在缺失,通过所述变分自编码器模型生成新数据,并将所述新数据作为所述时间序列数据缺失的值。
在步骤S1中,根据不同的业务场景将对应的时间序列数据进行预处理成可满足采用变分自编码器训练的训练数据,并通过该训练数据训练并得到变分自编码器模型。
在本发明的实施例中,用于自编码器训练的数据是对时间序列数据按其周期性规律分组后的数据,即将每一组数据作为训练变分自编码器模型的一个特征数据。
在步骤S2中,在时间序列类型的数据缺失时,通过对应的训练好的变分自编码器模型生成一组新数据,并将变分自编码器生成的新数据作为该缺失的时间序列类型的数据。
在本发明的一些实施方式中,通过预处理后的时间序列数据训练变分自编码器模型包括:
确定所述时间序列数据的周期,将每一个周期内的所有时间序列数据作为特征数据,并通过多个所述特征数据训练所述变分自编码器模型。
在本实施例中,由于本发明所训练出的模型的输出是以一个周期大小的数据,因此在根据时间序列数据训练变分自编码器模型之前需要确定时间序列的周期,然后以一个周期中的多个时间序列数据训练变分自编码器模型。例如,假设原始的时间序列的数据个数为N,确定该时间序列的周期为m,即m个原始时间序列数据为一个周期,则将该时间序列数据划分成若干个大小为m的数据组,然后将每个数据组再根据数据的数值类型选择合适的预处理方法将大小为m的数据组转换成可应用于变分自编码器模型训练的训练样本,每一个训练样本的维度为m。即对于一个时间序列,假设时间序列的在一个时间周期内的采样点有m个,则将时间序列按照时间周期进行切割,生成样本xi=(xi1,xi2,…xim),i=1,2,…n,n为预处理后训练样本的个数,即时间序列所包含的时间周期的个数。
进一步,为确定原始的时间序列数据的周期,本发明提出一种“超采样”的确定数据周期的方式,即以预定个数的原始的时间序列数据为分组,然后按组内的数据顺序对比多个分组对应的数据,并判断多个分组中每一对应位置的数据大小差距是否超过预定值,如果多组数据均超过预定值则认为当前的分组不符合一个周期。因为对应的数据不满足对应关系。则将预定的个数+1后再进行组内对应位置对比判断是满足周期关系。
具体地,假设原始的时间序列数据的个数为100个,首先假设其周期为1,则原始的时间序列数据应被划分为100组,每组只有1个数据,进一步对比每一个数据(即每一组,因为每一组只有1个数据)与其他数据在数值上的差值的绝对值(可作减法运算再取绝对值),并判断每一个数据与其他数据之间的差值的绝对值是否都趋于一个数值,如果趋于一个值则认为其周期为1,否则将周期假设为2再进行上述计算方式。例如,将第一个数与后面的99个数相减,并判断相减的结果的绝对值是否趋近于一个数值,假设上述99个相减结果的绝对值均在1之间,则可近似认为该原始时间序列数据的周期为1;如果上述99个相减结果的绝对值的范围在1~10 或者并非是趋近于一个定值,则认为1并非该时间序列数据的周期。则将其周期假设为2再进行上述计算,同样是每组数据的第一位与另一组数据的第一位相减,第二位与第二位数据相减,即逐位相减再组外对比的方式迭代确定其周期。在本发明的一些实施例中,也可根据现实中的时间对原始的时间序列数据的周期进行划分。
在本发明的一些实施方式中,通过预处理后的时间序列数据训练变分自编码器模型还包括:
初始化变分自编码器模型的预定层的隐藏层以及每个隐藏层的输入输出维度,通过预处理后的所述时间序列数据迭代训练所述变分自编码器模型,并通过损失函数优化所述每个隐藏层的输入输出维度。
在本实施例中,本发明采用的是变分自编码器模型中编码器(encoder) 和解码器(decoder)均设定有两个隐含层。在上述实施例中确定时间序列数据的周期之后,每个周期内的所有采样数据为一个样本,样本中的所有采样数据对应训练数据中的特征,即获取周期内的数据个数即每个样本,即样本xi=(xi1,xi2,…xim),i=1,2,…n样本xi代表第i个周期,xi1~xim代表第i周期内的m个特征数据。因此变分自编码器模型的编码器(encoder)第一隐藏层的输入维度即为m,第一隐藏层的输出维度初始化时设定为8,第二隐藏层的输入维度为8,输出维度为3;类似地,解码器(decoder)的过程与上述过程相反,即解码器网络的第一隐藏层的输入维度为3,输出维度为8,第二隐藏层的输入维度为8,输出维度为m,并且所输出的m即为变分自编码器的生成结果,可直接用于填充缺失数据,也可以经过一定处理后再对数据进行填充。
此外,在通过预处理后的时间序列数据对变分自编码器模型训练时通过损失函数对变分自编码器模型的编码器和解码器的隐藏层的输入输出维度进行优化调整,也即将原始的mx8,8x3;3x8,8xm输入输出维度,在保证变分自编码器的输入输出m不变时,调整隐藏层的输入输出维度,即可能隐藏层的抽象特征不再是8x3。
进一步,如图7所示,变分自编码器的编码过程和解码过程的过程中,会建立一个或多个隐藏层通过encoder函数对输入x数据进行降维,将输入数据映射到特征空间z,即抽象特征。然后在decoder过程中,通过decoder 函数将抽象特征z映射回原始空间得到重构样本(填充数据)。通过最小化定义的损失函数,对encoder函数和decoder函数的参数进行训练。
在本发明的一些实施方式中,通过损失函数优化所述每个隐藏层的输入输出维度包括:
通过所述变分自编码器模型的编码器的损失函数与解码器的损失函数的数值对所述变分自编码器模型的隐藏层的输入输出维度进行优化。
在本实施例中损失函数为编码器的损失函数和解码器损失函数之和,如下:
loss_fun=generation_loss+latent_loss
其中,n为样本的个数,m为时间序列的在一个时间周期内的采样点, k为抽象特征的维度。latent_loss为抽象特征z的各个维度与标准正态分布之间的差距,即编码器的损失;generation_loss为输出数据与输入数据x 之间交叉墒,即解码器的损失。其中z_mean表示抽象特征的均值,z_log_var 表示抽象特征协方差的对数。
进一步,参考图8,在本实施例中,具体的变分自编码器模型对缺失值的填充过程如下:
1.确定Variational Autoencoder抽象特征空间的维度,可以设置为任意值,在这里假设为3;
2.确定encoder过程中隐藏层层数及输入输出维度,层数及输出维度可以设置为任意值,在训练初始时会给一个初始值,在训练的过程中会根据损失函数的大小动态的调整。在这里假设encoder过程隐藏层的层数为2,第一个隐藏层的输入维度和输出维度分别为变分自编码器模型的输入维度和8,第二个隐藏层的输入维度和输出维度分别为8和3;
3.确定decoder过程中隐藏层层数及维度,层数及维度可以设置为任意值,在训练初始时会给一个初始值,在训练的过程中会根据损失函数的大小动态的调整。但是隐藏层层数一般是与encoder过程中的隐藏层层数相等,输入输出维度与encoder过程正好相反。在这里假设decoder过程隐藏层的层数为2,第一个隐藏层的输入维度和输出维度分别为3和8,第二个隐藏层的输入维度和输出维度分别为8和变分自编码器模型输入维度;
4.设定损失函数:
generation_loss=MSE(x,x')
loss_fun=generation_loss+latent_loss
n为样本的个数,m为时间序列的在一个时间周期内的采样点,k为抽象特征的维度(本实施例中为3)。latent_loss为抽象特征z的各个维度与标准正态分布之间的差距,即编码器的损失;generation_loss为输出数据与输入数据x之间交叉墒,即解码器的损失。
5.对于一个时间序列,假设时间序列在一个时间周期内的采样点有m 个,则将时间序列按照时间周期进行切割,生成样本xi=(xi1,xi2,…xim),i=1,2,…n, n为样本的个数,即时间序列所包含的时间周期的个数。
5.1搭建encoder函数:
z1*8=σ(x1*m·Wm*8+b1*8)
5.3搭建decoder函数:
z1*8=σ(z1*3·W3*8+b1*8)
z1*m=σ(z1*8·W8*m+b8*m)
5.4将样本xi=(xi1,xi2,…xim),i=1,2,…n输入到encoder函数。得到z_mean1*3和z_log_var1*3,从N(0,1)中随机采样ε及以下方程,得到z1*3;
5.5 z1*3输入到decoder函数,并通过最小化损失函数对encoder函数和 decoder函数的参数进行训练:
argmin loss_fun
5.6根据损失函数的大小调整隐藏层的层数及输入输出维度,然后重复 5.1-5.5的过程;直到得到满意的loss_fun;
5.7进行数据填充:
从标准正态分布中采样三个样本点a,b,c,a,b,c表示ε的取值,然后通过去式得到z1*3,然后将z1*3作为输入送到已经训练好的decoder模型中,经过decoder过程,得到生成数据z1*m,z1*m即可作为一个时间周期数据,对一个时间周期的缺失值进行填充:
z1*8=σ(z1*3·W3*8+b1*8)
z1*m=σ(z1*8·W8*m+b8*m)
如图5、6所示为一个单个时间周期内的采样点m=24的时间序列,第三个时间周期内的值全部缺失,利用本专利的方法对第三个时间周期内的缺失值进行填充的结果展示图。
在本发明的一些实施方式中,将所述新数据作为所述时间序列数据缺失的值包括:
根据所述时间序列数据的周期,分析所述周期中每一个特征数据的数据分布范围,并计算出每一个特征数据所对应的分布函数;
获取所述变分自编码器模型生成的新数据,根据所述新数据中各个特征数据所对应的分布函数计算对应的随机值,并将所述随机值与其对应的特征数据相加后作为所述时间序列数据缺失的值。
在本实施例中,在确定时间序列的周期之后,将时间序列的多个周期中的每一个特征数据(采样点数据)进行横向对比,并通过概率模型计算出每一个特征数据的分布函数,并在变分自编码器生成对应新数据后,按照新数据的每一个特征数据对应的分布函数额外增加上对应的随机数再作为填充数据。
具体地,以上述实施例一个时间周期内的采样点m=24为例,假设有 100个时间周期,则需计算24个分布函数,每个分布函数分别对应一个采样点(特征数据)。每个分布函数都是100个周期中对应的数值的分布范围而确定。即统计24组,每组100个数据分别计算其分布函数。
进一步,上述计算每一个分布函数时,并不是该采样点的完整数据,而是通过该采样点数据的最大值和最小值为范围与原本的采样点数据相减,然后再计算对应的分布函数。例如,周期内第一个数据的原始数据为 99,98,101,102,105....98等,假设第一个数据的范围在98~105,则将100个数据每一个均减去98,然后再计算剩余差值的概率分布。同样在通过分布函数计算第一个数据需要增加的值时则根据分布函数生成0~7之间的一个随机数与变分自编码模型输出的新数据中第一个特征数据相加,然后将相加后的数据作为用于填充对应时间序列缺失值的数据。
在本发明的一些实施方式中,将所述新数据作为所述时间序列数据缺失的值还包括:
分析所述时间序列数据周期之间的数据变化趋势,并判断所述数据是否存在线性变化关系;
响应于存在所述线性变化关系,计算所述时间序列数据周期之间的线性变化的变化率;
获取所述变分自编码器模型生成的新数据及所述时间序列数据的缺失的周期数,将所述新数据中每一个特征数据乘以所述缺失的周期数对应的变化率后作为所述时间序列数据的数据缺失的值。
在本实施例中,在通过变分自编码器模型对具有增长特点的时间序列数据进行填充时,还需根据时间序列数据的周期的增长变化计算出符合该时间序列数据整体变化规律的变化率,然后将变分自编码模型生成的新数据与对应的周期的变化率相乘之后再作为填充数据对缺失的时间序列数据进行填充。
具体地,例如,在对一个地区的GDP等可持续增长的时间序列数据进行缺失数据的补充时,则可通过GDP的周期性的增长率作为参数,与变分自编码器模型输出的数据相乘(还需确定是之后的第一个周期)之后的数据进行缺失数据的填充。
此外,需要说明的是,将变分自编码器模型输出的数据与变化率相乘,是指该缺失数据并不在用于训练变分自编码器模型的数据区间内,即假如通过前10000个周期时间序列数据进行训练的变分自编码器模型,当10000 以内的周期存在缺失时,则不需将变分自编码器模型输出的数据乘以对应的变化率,在超出10000以外的周期存在数据缺失时,在计算对应的填充数据时则需要将变分自编码器模型生成的数据乘以(1+对应的周期-10000)*变化率。便可用于填充缺失数据超过训练数据之外的周期的数据。
在本发明的一些实施方式中,将所述新数据作为所述时间序列数据缺失的值还包括:
分析所述时间序列数据周期之间的数据变化趋势,并判断所述数据是否存在线性变化关系;
响应于存在所述线性变化关系,以所述时间序列数据的周期数据为训练满足所述线性变化关系的机器学习模型;
通过所述机器学习模型根据所述时间序列缺失值所属的周期数计算出对应的变化率,并将所述变化率与所述变分自编码器模型生成的新数据相乘后得到的计算结果作为所述时间序列数据的数据缺失的值。
在本实施例中,如前述实施例所述,在本实例中采用机器学习拟合的方式生成对应的线性机器学习模型来代替上述变化率,并通过线性机器学习模型对超出训练变分自编码器模型之外的数据的变化率,与对应的生成数据相乘得到的结果再用于填充缺失的数据。
如图2所示,本发明的另一方面还提出了一种时间序列缺失值填充系统,包括:
训练模块1,所述训练模块1配置用于对时间序列数据进行预处理,并通过预处理后的时间序列数据训练变分自编码器模型;
数据填充模块2,所述填充模块2配置用于响应于时间序列数据存在缺失,通过所述变分自编码器模型生成新数据,并将所述新数据作为所述时间序列数据缺失的值。
如图3所示,本发明的又一方面还提出了一种计算机设备,包括:
至少一个处理器21;以及
存储器22,所述存储器22存储有可在所述处理器21上运行的计算机指令23,所述指令23由所述处理器21执行时实现上述实施方式中任意一项所述方法的步骤。
如图4所示,本发明的再一方面还提出了一种计算机可读存储介质401,所述计算机可读存储介质401存储有计算机程序402,所述计算机程序402 被处理器执行时实现上述实施方式中任意一项所述方法的步骤。
通过本发明提出的一种时间序列缺失值填充,采用变分自编码器模型生成完整的周期数据作为缺失数据,在整个周期数据丢失的情况下也可以有效生成对应的缺失数据,无需依赖历史数据或相邻的其他周期数据,并且在多个周期数据丢失的情况下依然可以有效生成对应的周期数据进行缺失值数据的填充。
尽管上文已描述本发明的各种实施例,但是应理解,仅通过示例方式而并非限制方式提出本发明的各种实施例。相关领域技术人员应明白,可以在不脱离本公开的精神和范围的情况下作出形式和细节方面的各种改变。因此,本公开的广度和范围不应受任何上述示例性实施例的限制,而是应仅根据以下权利要求和其等效物定义。出于示出及描述目的已呈现以上描述。不希望为穷尽性的或将本公开限于所揭示的具体形式,且依据以上教示的其他修改及变体可为可能的。此外,应注意,任何或所有上述备选实施方式可以所需的任何组合使用以形成本公开的附加混合实施方式。
Claims (10)
1.一种时间序列缺失值填充方法,其特征在于,包括:
对时间序列数据进行预处理,并通过预处理后的时间序列数据训练变分自编码器模型;
响应于时间序列数据存在缺失,通过所述变分自编码器模型生成新数据,并将所述新数据作为所述时间序列数据缺失的值。
2.根据权利要求1所述的方法,其特征在于,所述通过预处理后的时间序列数据训练变分自编码器模型包括:
确定所述时间序列数据的周期,将每一个周期内的所有时间序列数据作为特征数据,并通过多个所述特征数据训练所述变分自编码器模型。
3.根据权利要求1所述的方法,其特征在于,所述通过预处理后的时间序列数据训练变分自编码器模型还包括:
初始化所述变分自编码器模型的预定层的隐藏层以及每个隐藏层的输入输出维度,通过预处理后的所述时间序列数据迭代训练所述变分自编码器模型,并通过损失函数优化所述每个隐藏层的输入输出维度。
4.根据权利要求3所述的方法,其特征在于,所述通过损失函数优化所述每个隐藏层的输入输出维度包括:
通过所述变分自编码器模型的编码器的损失函数与解码器的损失函数的数值对所述变分自编码器模型的隐藏层的输入输出维度进行优化。
5.根据权利要求1所述的方法,其特征在于,所述将所述新数据作为所述时间序列数据缺失的值包括:
根据所述时间序列数据的周期,分析所述周期中每一个特征数据的数据分布范围,并计算出每一个特征数据所对应的分布函数;
获取所述变分自编码器模型生成的新数据,根据所述新数据中各个特征数据所对应的分布函数计算对应的随机值,并将所述随机值与其对应的特征数据相加后作为所述时间序列数据缺失的值。
6.根据权利要求1所述的方法,其特征在于,所述将所述新数据作为所述时间序列数据缺失的值还包括:
分析所述时间序列数据周期之间的数据变化趋势,并判断所述数据是否存在线性变化关系;
响应于存在所述线性变化关系,计算所述时间序列数据周期之间的线性变化的变化率;
获取所述变分自编码器模型生成的新数据及所述时间序列数据的缺失的周期数,将所述新数据中每一个特征数据乘以所述缺失的周期数对应的变化率后作为所述时间序列数据的数据缺失的值。
7.根据权利要求1所述的方法,其特征在于,所述将所述新数据作为所述时间序列数据缺失的值还包括:
分析所述时间序列数据周期之间的数据变化趋势,并判断所述数据是否存在线性变化关系;
响应于存在所述线性变化关系,以所述时间序列数据的周期数据为训练满足所述线性变化关系的机器学习模型;
通过所述机器学习模型根据所述时间序列缺失值所属的周期数计算出对应的变化率,并将所述变化率与所述变分自编码器模型生成的新数据相乘后得到的计算结果作为所述时间序列数据的数据缺失的值。
8.一种时间序列缺失值填充系统,其特征在于,包括:
训练模块,所述训练模块配置用于对时间序列数据进行预处理,并通过预处理后的时间序列数据训练变分自编码器模型;
数据填充模块,所述填充模块配置用于响应于时间序列数据存在缺失,通过所述变分自编码器模型生成新数据,并将所述新数据作为所述时间序列数据缺失的值。
9.一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求1-7任意一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210075817.XA CN114896227A (zh) | 2022-01-23 | 2022-01-23 | 一种时间序列缺失值填充方法、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210075817.XA CN114896227A (zh) | 2022-01-23 | 2022-01-23 | 一种时间序列缺失值填充方法、系统、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114896227A true CN114896227A (zh) | 2022-08-12 |
Family
ID=82714480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210075817.XA Pending CN114896227A (zh) | 2022-01-23 | 2022-01-23 | 一种时间序列缺失值填充方法、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114896227A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117556267A (zh) * | 2024-01-12 | 2024-02-13 | 闪捷信息科技有限公司 | 缺失样本数据填充方法、装置、存储介质和电子设备 |
-
2022
- 2022-01-23 CN CN202210075817.XA patent/CN114896227A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117556267A (zh) * | 2024-01-12 | 2024-02-13 | 闪捷信息科技有限公司 | 缺失样本数据填充方法、装置、存储介质和电子设备 |
CN117556267B (zh) * | 2024-01-12 | 2024-04-02 | 闪捷信息科技有限公司 | 缺失样本数据填充方法、装置、存储介质和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109165664B (zh) | 一种基于生成对抗网络的属性缺失数据集补全与预测方法 | |
CN110929622B (zh) | 视频分类方法、模型训练方法、装置、设备及存储介质 | |
Dupont et al. | Generative models as distributions of functions | |
CN109816221B (zh) | 项目风险决策方法、装置、计算机设备和存储介质 | |
CN111709533A (zh) | 机器学习模型的分布式训练方法、装置以及计算机设备 | |
KR20210040248A (ko) | 물질의 생성 구조-특성 역 계산 공동 설계 | |
WO2015062209A1 (zh) | 随机森林分类模型的可视化优化处理方法及装置 | |
CN112183742B (zh) | 基于渐进式量化和Hessian信息的神经网络混合量化方法 | |
CN114004328A (zh) | Ai模型更新的方法、装置、计算设备和存储介质 | |
US11823490B2 (en) | Non-linear latent to latent model for multi-attribute face editing | |
CN112307883B (zh) | 训练方法、装置、电子设备以及计算机可读存储介质 | |
CN112817563B (zh) | 目标属性配置信息确定方法、计算机设备和存储介质 | |
EP3607496A1 (en) | Conditional graph execution based on prior simplified graph execution | |
CN114896227A (zh) | 一种时间序列缺失值填充方法、系统、设备及介质 | |
CN116996272A (zh) | 一种基于改进的麻雀搜索算法的网络安全态势预测方法 | |
CN114648641A (zh) | 图像描述方法和装置、计算机设备、存储介质 | |
CN117688362A (zh) | 基于多元数据特征增强的光伏功率区间预测方法及装置 | |
Lu et al. | Environment-aware multiscene image enhancement for internet of things enabled edge cameras | |
CN117081941A (zh) | 基于注意力机制的流量预测方法及其装置、电子设备 | |
CN115604131A (zh) | 一种链路流量预测方法、系统、电子设备及介质 | |
CN115982570A (zh) | 联邦学习建模的多环节自定义优化方法、装置、设备和存储介质 | |
KR20190129422A (ko) | 뉴럴 네트워크를 이용한 변분 추론 방법 및 장치 | |
CN113420680A (zh) | 一种基于gru注意力的遥感影像区域关注与文本生成方法 | |
CN113822291A (zh) | 一种图像处理方法、装置、设备及存储介质 | |
Siemens et al. | Internet of things data transfer method using neural network autoencoder |
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 |