【问题标题】:How to get data in proper shape to feed to LSTM layer in keras for sequence to sequence prediction如何获取适当形状的数据以馈送到 keras 中的 LSTM 层以进行序列到序列预测
【发布时间】:2019-04-12 17:50:01
【问题描述】:

我有如下时间序列的数据框,其中SETTLEMENTDATE 是索引。我想将第一行,即2018-11-01 14:30:00T_1T_2T_3T_4T_5T_6 的值作为序列并预测DE_1、@987654330 的序列@、DE_3DE_4

我正在使用 keras for Sequence 来使用 LSTM 对时间序列进行排序。我试图将T_1T_6 作为输入数据帧'X'DE_1DE_4 作为输出数据帧'y'。我使用X = np.array(X) y = np.array(y) 重新塑造它,然后使用X = X.reshape(4,6,1)y = y.reshape(4,4,1) 将其提供给batch_input_shape(),但它不起作用。

如何获取适当形状的数据以馈送到 LSTM 层?

                      T_1     T_2     T_3     T_4     T_5     T_6    DE_1    DE_2    DE_3    DE_4
SETTLEMENTDATE                                          
2018-11-01 14:30:00 1645.82 1623.23 1619.09 1581.94 1538.20 1543.48 1624.23 1722.85 1773.77 1807.04
2018-11-01 15:00:00 1628.60 1645.82 1623.23 1619.09 1581.94 1538.20 1722.85 1773.77 1807.04 1873.53
2018-11-01 15:30:00 1624.23 1628.60 1645.82 1623.23 1619.09 1581.94 1773.77 1807.04 1873.53 1889.06
2018-11-01 16:00:00 1722.85 1624.23 1628.60 1645.82 1623.23 1619.09 1807.04 1873.53 1889.06 1924.57

【问题讨论】:

  • 您必须向我们展示您是如何设置 LSTM 层的,因为输入形状取决于您是否将 return_statereturn_sequences 设置为 True
  • 嗨@Novak,我给了return_sequences=True。

标签: python-3.x keras time-series lstm recurrent-neural-network


【解决方案1】:

LSTM 接受两个参数:input_shapebatch_input_shape。区别在于约定input_shape 不包含批量大小,而batch_input_shape 是包含批量大小的完整输入形状。

LSTM 层是一个循环层,因此它需要一个 3 维输入 (batch_size, timesteps, input_dim)。这就是为什么正确的规范是input_shape=(6, 1)batch_input_shape=(BATCH_SIZE, 6, 1),其中BATCH_SIZE 是您的批次大小。

希望对你有帮助:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-12
    • 2021-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-18
    • 2017-01-10
    相关资源
    最近更新 更多