利用VAE和LSTM生成时间序列

简介: 利用VAE和LSTM生成时间序列

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

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

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

数据

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

640.png

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

640.png

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

640.png

模型

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

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

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

640.png

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

结果和应用

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

640.png

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

640.png

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

640.png

时间序列的增广

总结

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

目录
相关文章
|
1月前
|
机器学习/深度学习 自然语言处理 数据处理
大模型开发:描述长短期记忆网络(LSTM)和它们在序列数据上的应用。
LSTM,一种RNN变体,设计用于解决RNN处理长期依赖的难题。其核心在于门控机制(输入、遗忘、输出门)和长期记忆单元(细胞状态),能有效捕捉序列数据的长期依赖,广泛应用于语言模型、机器翻译等领域。然而,LSTM也存在计算复杂度高、解释性差和数据依赖性强等问题,需要通过优化和增强策略来改进。
|
3天前
|
机器学习/深度学习 数据挖掘 网络架构
Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析
Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析
15 0
|
3天前
|
机器学习/深度学习 算法 算法框架/工具
数据分享|PYTHON用KERAS的LSTM神经网络进行时间序列预测天然气价格例子
数据分享|PYTHON用KERAS的LSTM神经网络进行时间序列预测天然气价格例子
24 0
|
3天前
|
机器学习/深度学习 算法 Python
Python用RNN神经网络:LSTM、GRU、回归和ARIMA对COVID19新冠疫情人数时间序列预测
Python用RNN神经网络:LSTM、GRU、回归和ARIMA对COVID19新冠疫情人数时间序列预测
47 12
|
4天前
|
机器学习/深度学习 传感器 数据可视化
MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类
MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类
19 1
MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类
|
4天前
|
机器学习/深度学习 算法 数据挖掘
基于PSO优化的CNN-LSTM-Attention的时间序列回归预测matlab仿真
该文档介绍了使用MATLAB2022A中PSO优化算法提升时间序列预测模型性能的过程。PSO优化前后对比显示了优化效果。算法基于CNN、LSTM和Attention机制构建CNN-LSTM-Attention模型,利用PSO调整模型超参数。代码示例展示了PSO的迭代优化过程及训练、预测和误差分析环节。最终,模型的预测结果以图形形式展示,并保存了相关数据。
|
8天前
|
机器学习/深度学习 Python
Python用LSTM长短期记忆神经网络对不稳定降雨量时间序列进行预测分析
Python用LSTM长短期记忆神经网络对不稳定降雨量时间序列进行预测分析
19 0
|
9天前
|
机器学习/深度学习 Python 数据处理
Python中利用长短期记忆模型LSTM进行时间序列预测分析 - 预测电力负荷数据
Python中利用长短期记忆模型LSTM进行时间序列预测分析 - 预测电力负荷数据
35 0
Python中利用长短期记忆模型LSTM进行时间序列预测分析 - 预测电力负荷数据
|
9天前
|
机器学习/深度学习 数据可视化 网络架构
matlab使用长短期记忆(LSTM)神经网络对序列数据进行分类
matlab使用长短期记忆(LSTM)神经网络对序列数据进行分类
13 0
|
9天前
|
机器学习/深度学习 存储 测试技术
使用PYTHON中KERAS的LSTM递归神经网络进行时间序列预测
使用PYTHON中KERAS的LSTM递归神经网络进行时间序列预测
19 0

热门文章

最新文章

相关实验场景

更多