请问keras LSTM如何预测未来一段时间的时间序列
以单变量时间序列为例,假设X,y是训练数据集,是过去连续3年的数据,以天为单位。test_x是测试集,初始值是过去10天的数据,我想预测未来15天的数据,请问如何设置。下面python程序运行结果prediction 只是一个值,而不是一串15天的序列。请问我是不是要不断移动窗口,把第一天预测值跟过去9天的历史数据合在一起作为输入数据预测第二天的数值,然后把第一和第二天预测值跟过去8天的数据合并作为输入数据预测第三天,以此类推循环下去?Keras有没有直接设置的参数可以实现,还是要自己编程实现这个功能?谢谢
n_steps = 10
n_features = 1
model = Sequential()
model.add(LSTM(32, activation='relu', input_shape=(n_steps, n_features)))
model.add(Dense(1))
model.compile(optimizer='adam', loss='mse')
model.fit(X, y, epochs=100, batch_size=20, verbose=1)
test_x= test_x.reshape((1, n_steps, n_features))
prediction = model.predict(test_x, verbose=0)