Python 是否可以使用LSTM预测作为下一时间步的输入?
我正在使用LSTM(PyTorch)进行多元时间序列预测。让我们想象一下这种情况:我有两个时间序列,A和B,我想用A和B的先前值(在t之前)预测B的t值。这样的预测效果很好,我的模型得到了很好的结果 但是,如果(在测试期间,在训练之后)我想使用B的预测值作为下一时间步的输入,而不是实际值,该怎么办?例如:我预测B的第一个值,进行一步,将预测值替换为实数,然后再次进行预测。然后我使用两个预测值而不是实际值,依此类推。在某些步骤中,只有预测值会出现在时间序列B中Python 是否可以使用LSTM预测作为下一时间步的输入?,python,pytorch,lstm,recurrent-neural-network,Python,Pytorch,Lstm,Recurrent Neural Network,我正在使用LSTM(PyTorch)进行多元时间序列预测。让我们想象一下这种情况:我有两个时间序列,A和B,我想用A和B的先前值(在t之前)预测B的t值。这样的预测效果很好,我的模型得到了很好的结果 但是,如果(在测试期间,在训练之后)我想使用B的预测值作为下一时间步的输入,而不是实际值,该怎么办?例如:我预测B的第一个值,进行一步,将预测值替换为实数,然后再次进行预测。然后我使用两个预测值而不是实际值,依此类推。在某些步骤中,只有预测值会出现在时间序列B中 有没有可能做到这一点?这正是人们通常
有没有可能做到这一点?这正是人们通常为机器翻译和文本生成所做的。在这种情况下,LSTM预测词汇表的分布,您选择一个单词,并在下一步将其用作网络的输入。有关更多详细信息,请参阅 重要的一点是,LSTM在两种情况下执行:
- 用于培训:作为标准序列标签。它是提供的输入,它应该预测未来的一个步骤
- 推理:它逐渐生成新样本,并将其用作下一个输入。在PyTorch中,这需要通过显式for循环实现