时间序列模拟的生成模型

机器算法验证 时间序列 无监督学习 监督学习 生成模型
2022-04-07 08:08:21

我对生成模型有基本的了解,例如生成对抗网络 (GAN) 和变分自动编码器 (VAE)。似乎它们主要用于图像处理/计算机视觉领域,如https://blog.openai.com/generation-models/

但不知何故,在寻找模拟/模拟非平稳时间序列过程的方法的长期探索之后,我开始使用机器学习中的生成模型。

有谁知道生成模型已用于时间序列数据的任何方式?特别是从观察到的时间序列中生成相似的时间序列?

如果有人可以提出另一种建模和模拟时间序列数据的方法,那也会有很大帮助!

1个回答

对于时间序列,您希望在深度学习中使用 LSTM 或其他循环神经网络而不是无监督生成模型。您还可以将其转换为使用使用您喜欢的任何机器学习算法来预测xtxt+1

正如您在博客文章和生成模型的维基百科中看到的那样:“在概率和统计中,生成模型是用于随机生成可观察数据值的模型,通常给定一些隐藏参数。” 您应该注意生成模型的输入是一些通常没有意义的隐藏参数,而您希望在生成xtxt+1

您还应该在 OpenAI 的博客文章中注意到“ PixelRNN等自回归模型训练一个网络,该网络对给定先前像素(左侧和顶部)的每个单独像素的条件分布进行建模。这类似于插入像素将图像转换为 char-rnn,但 RNN 在图像上水平和垂直运行,而不仅仅是一维字符序列。 ”所以 PixelRNN 基本上就像一个循环神经网络,只是序列在二维方向上,而你只有时间作为你的一维方向。这仍然只是将您带到 LSTM。

如果你真的真的很想使用 GAN 等花哨的算法,你可以这样做:忘记你有一个时间序列。通常在生成时序数据时,数据是按照一步一步生成的,类似于 PixelRNN。相反,只需将数据视为一堆数字,或类似于图像生成的一维图像,现在您可以完美地类比使用 GAN 生成图像:每个完整的时间序列都是您的 GAN 的单个训练数据。这种方法完全忽略了时间序列的一些特征,例如因果关系,只是将您的数据视为一堆数字。我非常怀疑这是否会奏效,但我鼓励您尝试。p(xt+1|x1..t)