LSTM的时间序列

时间:2017-11-30 19:40:24

标签: machine-learning keras lstm

我正在尝试使用LSTM构建预测模型;简要地预测" 目标",使用系列" 数据"。在几个时代之后,它正确地适合数据。作为初学者,我需要提供什么样的数据集(维度)提供网络,以便进一步预测?

我的目标是预测+1步骤,考虑到整个过去的时间序列,我该如何实现呢?

最终,第二个代表什么,当我重塑数据"和"目标"?

  
print(df.head)
0            7        20
1            0         0
2            0         0
3            0         0
4            0         0
...

data = df[:,0]
target = df[:, 1 ]

data = data.reshape((1, 1, int(len(df)))) 
target = target.reshape((1 ,1, int(len(df)))) 
#We Define The Model
import random
random.seed(1)

model = Sequential()  
model.add(LSTM(int(len(df)), input_shape=(1, int(len(df))), return_sequences=True))
model.add(Dense(int(len(df))))

model.add(LSTM(int(len(df)), input_shape=(1, int(len(df))), return_sequences=True))
model.add(Dense(int(len(df))))

model.compile(loss='mean_absolute_error', optimizer='Adam',metrics=['accuracy'])

model.fit(data, target, nb_epoch=100, batch_size=1, verbose=2, validation_data = (data, target))

predict = model.predict(data)

1 个答案:

答案 0 :(得分:1)

我认为你正在使用Keras来开发你的LSTM模型。我建议您查看以下链接(下面),以便更加仔细地了解为什么需要重新整形数据。在示例中,数据框的维度与教程使用的维度相同。

https://machinelearningmastery.com/time-series-prediction-lstm-recurrent-neural-networks-python-keras/