请问keras LSTM如何预测未来一段时间的时间序列

sigtem 2019-05-10 11:16:08
以单变量时间序列为例,假设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)
...全文
2113 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sigtem 2021-01-26
  • 打赏
  • 举报
回复
引用 2 楼 djdjjdddd 的回复:
你好,请问您现在解决了这个问题了么,假如数据集是多变量的话该怎么处理呢

我自己的问题解决了,只要把最后Dense层神经元多设一些就行了,例如Dense(15).
如果训练数据集是多维的也可以做,相当于n_features是维数
肖恩马 2020-12-07
  • 打赏
  • 举报
回复
你好,请问您现在解决了这个问题了么,假如数据集是多变量的话该怎么处理呢
_HXZ 2020-11-23
  • 打赏
  • 举报
回复
我也想问问是怎么解决的

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧