我已经成功创建了模型,并且它在测试数据上表现良好。我不知道如何让它预测未来值,有人能帮我吗?我尝试将时间步长改为负值,以便模型预测未来值,但由于遇到循环的错误,我无法实现。任何帮助都将不胜感激!这是代码:
回答:
在这里,我在代码中使用了类似这样的方法。首先,你需要说明你想要预测多少个值(我使用了168)
n_ahead=input("你想预测多少个值?");n_ahead=int(n_ahead)# 进行预测列表 def predict_ahead(n_ahead): yhat = [] for _ in range(n_ahead): # 进行预测 fc = regressor.predict(X_train) yhat.append(fc) # 为预测创建新的输入矩阵 X_train = np.append(X_train, fc) # 省略第一个变量 X_train = np.delete(X_train, 0) # 为下一次迭代重塑 X_train = np.reshape(X_train, (1, len(X_train), 1)) return yhat p=predict_ahead(n_ahead)print(p)
请记住,X_train 是一个数组,你需要在每次迭代中重塑它作为LSTM的输入