对训练数据和目标值使用不同的时间步长

数据挖掘 神经网络 时间序列 rnn lstm
2022-03-09 05:08:58

我想知道是不是错了;处理时间序列数据时;使用每日价格作为特征,使用 3 天后的价格作为目标。

这是正确的还是我应该在训练后使用第二天的价格作为目标;预测 3 次;每次提前一天(使用预测值作为新特征)

这两种方法会给出相似的结果吗?

2个回答

可以使用每日价格吗?

您可以使用每日价格作为时间序列来预测任意范围。

LSTM 与 NN

简而言之,vanilla NN 没有先前输入的记忆,而 LSTM NN 有。这在您的问题中特别有用,因为 LSTM 可以学习数据集的时间(顺序)特征,因此可以提前预测几个步骤。LSTM RNN 可以学习问题的动态(普通 NN 不能)。可以在此处找到针对您的问题的有用 Python/Keras 教程。

回归与分类

简而言之,分类是将样本区分为离散类别的问题。回归是指使用信号(或更多)的过去值来估计相同(或其他)信号的未来值。就您而言,回归是您所要求的。

使用你所拥有的一切

可以用每天的价格进行训练,提前 3 天预测。

假设你有数据:

[   1,   20,  33, 4444,   2,  21,  34, 4445,   3,  22,  35, 4446]
 t-11  t-10  t-9   t-8  t-7  t-6  t-5   t-4  t-3  t-2  t-1   t

并且您想预测t+3(剧透:应该是36)。

如果您逐步向后看,3您将看到[t, t-3, t-6, t-9]哪个对应于[4446, 3, 21, 33]显然,36与我们查看[t-1, t-5, t-9] = [35, 34, 33].

因此,鼓励将您拥有的所有数据提供给您的模型。

如果您使用的是神经网络,您的网络应该能够为您学习这种模式。

如果您使用的是其他类型的回归器,您可能需要确定使用哪个内核。