sigtem 2019年05月10日
请问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)
...全文
488 点赞 收藏 3
写回复
3 条回复

还没有回复,快来抢沙发~

发动态
发帖子
脚本语言(Perl/Python)
创建于2007-08-27

1.5w+

社区成员

3.3w+

社区内容

其他开发语言 脚本语言(Perl ,Python)
社区公告
暂无公告