我发现了很多专注于序列预测的教程/示例,它们使用输入变量的先前时间步长来创建预测,例如根据先前价格预测股市价格。
如果我想对不属于输入的变量进行序列预测(例如,使用 X1 和 X2 的序列在同一时间步预测 X3 的序列)怎么办?这是前面提到的教程中的同一种问题,只是在不同的上下文中?
我一直在尝试学习如何在 Keras 中制作顺序模型,但首先想弄清楚我的问题并确保我以正确的方式思考它。
如果有人可以提供一些见解,让我清楚地提出问题,让我开始尝试建立一个模型,那将不胜感激。
我发现了很多专注于序列预测的教程/示例,它们使用输入变量的先前时间步长来创建预测,例如根据先前价格预测股市价格。
如果我想对不属于输入的变量进行序列预测(例如,使用 X1 和 X2 的序列在同一时间步预测 X3 的序列)怎么办?这是前面提到的教程中的同一种问题,只是在不同的上下文中?
我一直在尝试学习如何在 Keras 中制作顺序模型,但首先想弄清楚我的问题并确保我以正确的方式思考它。
如果有人可以提供一些见解,让我清楚地提出问题,让我开始尝试建立一个模型,那将不胜感激。
如果我理解您的意思:您正在通过代理建模。换句话说,它可以被看作是使用一个常见的自回归,只是移除了自回归部分本身。我不会详细介绍 RNN 和 Keras,但让我先解释一下用于时间序列分析的通用模型 ARIMA:
ARIMA X 代表:
ARIMA 的特征在于三个参数,它们告诉我们使用了上述前三个术语的先前时间步数:ARIMA(p, d, q)。p适用于AR术语d、I术语q和MA。
在此框架内,您的问题将等同于设置p = 0. 我们可以在上面或此处链接的 Wikipedia 站点上看到,这样做使 ARIMA 模型本质上是一个指数平滑模型!
您可以首先分析您的变量X1以及X2与目标变量的相关性X3,以评估它们对目标的解释程度(或差)。
如果您遵循一些有关为 ARIMA 设置实验的教程,那么将相同的数据输入 RNN 或您可能使用 Keras 构建的任何其他东西只是技术性问题。您需要将数据块输入模型,忽略目标变量本身的先前时间步长......虽然如果你有它们并且可以将它们用于验证/测试,我想知道你为什么不使用它们来改进模型!