搜索CNN时间序列预测教程

时间:2018-10-28 16:58:05

标签: python keras conv-neural-network

我正在寻找有关如何使用CNN进行回归时间序列预测的说明。我想对单变量时间序列实施多步预测。我已经阅读了一些说明,但没有找到适合我的数据集的内容:一项功能和大约400个观测值。

有人知道这样一个时间序列的易于理解和适用的代码示例吗?

非常感谢您的帮助,

利昂

1 个答案:

答案 0 :(得分:1)

将CNN用于序列数据可能很难设置。以我的经验,CNN的结果接近RNN(GRU和LSTM),但CNN的计算速度要快得多。

首先,请确保您的数据按照Conv1D的预期形状:(instances, time steps, predictors)

X_cnn = X.reshape(X.shape[0], X.shape[1] // predictors, predictors)

然后,语法为:

model_cnn = Sequential()
model_cnn.add(layers.Conv1D(A, B, activation = 'relu', 
        input_shape = (X_cnn.shape[1], X_cnn.shape[2])))
model_cnn.add(layers.Flatten())
model_cnn.add(layers.Dense(1))

其中A是神经元的数量,B是要考虑的时间步数。注意Flatten()层之后的Conv1D层。希望这可以帮助您入门。