为时间序列数据选择生成模型

机器算法验证 神经网络 预测 生成模型
2022-03-14 23:22:29

我希望尝试使用一些生成模型生成经济时间序列数据(GDP、通货膨胀、失业等)。我正在考虑将它们与 LSTM 以及更多的 AR(p) 样式模型一起使用,所以我更喜欢生成长数据串的模型(即从 t = 0 到 t = 20 或其他东西的通货膨胀),但如果这不会产生好的结果,我猜它可能不会,我也可以使用 AR(p) 样式的结果(即输出只有 t = 0 和 t = 1)。

我正在考虑使用生成对抗网络 (GAN) 或深度信念网络 (DBN) 来生成我的数据,但我不确定我应该将研究重点放在哪个方面。我不需要的一件事是 GAN 擅长的用于图像生成的深度卷积层,而过度拟合时间序列的模型也是我想要避免的问题(经济时间序列在 50 个国家/地区可能有 5000 个观察值,所以GAN 可能必须非常浅)。另一方面,我读到受限玻尔兹曼机现在被认为是玩具模型(不确定是否也考虑 DBN)。也不确定 DBN 与 Real Valued Output 的性能。

如果您对我可以使用的其他类型的模型有其他建议,请务必告诉我。但是,我真的希望从机器学习的角度尽可能达到最先进的水平(考虑到我是一个拥有良好机器学习和神经网络经验的人,但不是拥有实验室和 30 年研究生成模型经验的教授) . 我也知道经济学家通常不会生成数据来提高模型性能,但这是一个研究项目,我想看看我是否可以通过一些生成的数据更好地提高模型性能(并希望了解因果关系)。

我知道这个问题可能是主观的,但也许有人可以解释 DBN 和 GAN 的优缺点。每个对我的问题有多大帮助。

1个回答

我认为使用来自深度学习的生成模型不会将你所考虑的时间序列经济数据带到任何地方,而 GAN 可能是你的应用程序中最差的生成模型。

您正在考虑的是能够从中采样p(xt+1|x1...t),应由您使用的 LSTM 或 AR 模型捕获。这里的关键是概率是条件概率,而生成模型是无条件概率p(x). 例如,大多数生成模型将一些相对无意义的潜在变量值作为输入,因此您甚至无法制作一个模型x1..t作为您的输入。

我的建议是简单地假设一个 AR(1) 类型的过程,并采取xt作为一个简单的多层感知器的输入来预测xt+1. 这有点像你的 AR 线性模型和 LSTM 之间的复杂模型,但多层感知器可以捕获比 AR 线性模型更多的非线性依赖性,并且方差更小,并且比 LSTM 更容易训练。

您提到您未能使用 AR 和 LSTM 模型。使用 LSTM 通常很难处理经济数据的高方差数据,并且可以快速过拟合到某个未知区域。如果您仍想尝试,一个建议是假设所有变量的正态分布,并使用 LSTM 输出模型预测的均值和方差。