股票数据的 Keras Conv1d 输入形状/参数

Keras Conv1d Input Shape/ Parameters for Stock Data

我正在尝试测试 Keras 1DConv CNN 以帮助预测时间序列/股票数据。像 N 只股票这样的东西会有 n 个时间步长的 OHLCV 数据。例如,对于 N=1 只股票,我试图仅预测下一期的收盘价。比如说,使用一只股票,我有 100 个具有 OHLCV 值的周期,所以 X.shape = (100, 5),而 y.shape = (100, 1)。

我正在尝试将图层添加为输入:

model.add(Conv1D(filters=50, kernel_size=7,activation='relu', data_format='channels_last',input_shape=(100,5)))

但我不断收到有关输入形状的错误(当我尝试拟合数据时)要么尺寸不正确,要么以错误的顺序传递形状。我试过重塑数组以添加额外的维度,但到目前为止没有任何效果。我应该如何格式化数据,如果您对此任务有任何其他建议,请告诉我:缩放、参数(损失、优化器、激活、data_format)。渠道如何发挥作用?

干杯!

model.fit(X_train, y_train, epochs=nb_epoch, validation_data=(X_test, y_test), batch_size=16)

ValueError: Error when checking target: expected conv1d_1 to have 3 dimensions, but got array with shape (100, 5)

Conv1D 需要 3D 输入。

你有一个二维输入。

如果你这样整形

x = x.reshape(batch, steps, channels)

请参阅link了解更多信息。

应该可以。

如果您想要更详细的答案,请添加其余代码以便更容易重现。