使用 LSTM 进行时间序列预测

Time series prediction with LSTM

我目前正在学习 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 分钟)。

只需像这样更改您的训练输入:

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