利用LSTM进行时间序列预测

时间:2018-03-08 16:22:49

标签: neural-network keras lstm recurrent-neural-network

我目前正在学习使用LSTM的LSTM和时间序列预测。我试着预测路段的速度。

from sklearn.preprocessing import MinMaxScaler
sc = MinMaxScaler()
training_set = sc.fit_transform(training_set)

X_train = training_set[0:1257] //speed at (t)
y_train = training_set[1:1258] //speed at (t+1)

X_train = np.reshape(X_train, (1257, 1, 1))

from keras.models import Sequential
from keras.layers import Dense
from keras.layers import LSTM

regressor = Sequential()
regressor.add(LSTM(units=4, activation='sigmoid', input_shape= (None, 1)))
regressor.add(Dense(units=1))
regressor.compile(optimizer='rmsprop', loss='mean_squared_error')
regressor.fit(X_train, y_train, batch_size=10, epochs=100)

上面包含我的代码的一部分,我使用它来预测使用keras的路段时间t + 1的速度。训练集包含1258个速度记录,间隔5分钟。通过上面的代码,使用LSTM我可以预测t + 1的速度。即接下来5分钟的速度。如何预测较大时间步长的速度(比如接下来的15分钟)。

1 个答案:

答案 0 :(得分:0)

只需更改您的培训输入:

X_train = training_set[0:1255] //speed at (t)
y_train = training_set[3:1258] //speed at (t+3)