0


利用VAE和LSTM生成时间序列

随着时间的推移,用于生成的深度学习模型的使用正变得越来越流行。这些类型的模型被称为生成算法,在研究一个参考群体后被用于在各个领域生成新的和不可见的样本。这些技术最著名的应用是在计算机视觉领域,各种应用程序可以生成以前不存在的图像。

生成模型的效用是多种多样的和领域相关的。它们可以用于以快速的方式创建新实例,而手动创建新实例的成本更高,或者也不可能。它们可以模拟一些未被记录或遗漏的情况。它们可以用来生成不同的副本,这些副本与原始副本不同,具有一定程度的噪音,从而拥有足够的样本来复制罕见事件。

在本文中,我们提出了VAE在时间序列任务中的应用。更准确地说,我们尝试使用一种变分自动编码器结构来填充一些时间序列序列,这些序列的特征是在真实场景中存在缺失数据。在第二阶段,我们也检查由我们训练的VAE所产生的结果,以调查产生增广时间序列样本的可能性。

数据

对于我们的实验,我们选择Metro Interstate Traffic Volume Dataset数据集。它报告了位于明尼阿波利斯和圣保罗之间的某个地铁站的州际每小时交通量。该数据集还包含其他有用的信息,例如每小时的天气特征和假期可能会影响交通量。这些附加属性中的大多数都以分类格式提供。

由于我们掌握的完整流量历史记录很长,但是间隔有些缺失,因此我们决定重点关注最近3年的数据。这是因为所提到的时间段由于丢失的片断很少出现而显得足够一致,在这种情况下,可以用简单的插值填充这些片断,以获取完整且有价值的数据源来开发我们的方法。

这些数据清晰和直观显示了不同的季节性水平。从月度聚集情况出发,我们可以看到当人们倾向于外出度假时(圣诞节/夏季期间),交通水平的下降。周模式和小时模式是人类对公共交通系统正常使用行为的结果。其他分析表明,在出现极端事件(如暴风雪)的情况下,交通可能会发生巨大的变化。此信息作为附加的分类源提供。

模型

我们的工作流程描述如下。给定有意义数据的选定时间间隔,我们强制在数据流中引入一些缺失的时间间隔(具有固定的长度和比例)。缺失的序列形成了我们的变分自动编码器的主要输入,该编码器被训练来接近真实的序列而不缺失片段。值得注意的是,我们从一个完整的数据源开始,在这个数据源上插入随机缺失的时间间隔,因为这使我们能够与真实情况进行比较并计算性能指标。

VAE的第二个有意义的输入是整数序列,该序列对作为分类特征的附加信息进行编码,如月、工作日、小时、假日、天气条件。在处理原始交通信号中缺失的值时,我们小心地用一个特殊的整数(假设0)替换相应的类别,以正确编码“缺失信息”的状态(这不适用于月、工作日、小时,它们总是已知的每个日期)。

编码器由一个LSTM单元组成。它接收原始交通数据的拼接和分类特征的嵌入产生的3D序列作为输入。像在VAE架构中的每个编码器一样,,它会产生一个2D输出,用于逼近潜在分布的平均值和方差。解码器从二维潜在分布上采样,形成三维序列。然后将生成的序列与通过LSTM单元传递的原始分类嵌入序列连接回去,以重建原始的流量序列。

对VAE的训练是将两部分组合在一起的损失降至最低。重构部分(在我们的案例中为比例均方误差),表示模型可以再现目标的数量,正则化部分(Kullback Leibler散度),其作用是使潜空间与正态分布更相似 。

结果和应用

我们方法的主要目的是开发一种无监督的框架,该框架可以填充流量中出现的缺失部分。为了测试此任务的有效性,我们保留了部分数据以计算性能指标,例如经典的MSE / RMSE来验证重建能力。我们还可以仅对要重建的缺失部分计算特定统计信息。通过在数据集的最后一部分上进行简单的时间拆分即可获得测试集。这部分大致由与整个数据集中相同比例的缺失序列组成。

我们训练后的模型的第二种可能的应用是使用它来生成新序列。这是所有VAE的常见行为,其中可以分别利用编码器和解码器来创建新样本。编码器将输入投影到潜在空间的特定区域中。我们使用投影的坐标来采样附近的新点。可以通过选择所需的方差量来调节“附近”。潜点通过解码器以操作序列生成。显然,最终重建的点越接近,越相似。还需要注意的是,样本生成的优劣与整个VAE的重构能力严格相关。

潜在空间作为某些分类变量的函数

时间序列的增广

总结

在本文中,我们介绍了变分自动编码器在时间序列分析中的应用。我们基于LSTM单元构建了一个VAE,该VAE将原始信号与外部分类信息相结合,发现它可以有效地估算缺失间隔。我们还尝试分析模型学习到的潜在空间,以探索产生新序列的可能性。可以做进一步的工作来提高性能,使过程适应其他任务,或者找到其他有趣的应用程序。

最后给出本文的代码:https://github.com/cerlymarco/MEDIUM_NoteBook

作者:Marco Cerliani

原文地址:https://towardsdatascience.com/time-series-generation-with-vae-lstm-5a6426365a1c

deephub翻译组

标签:

“利用VAE和LSTM生成时间序列”的评论:

还没有评论