r - LSTM时间序列预测,预测稳定
问题描述
我的代码在 R 中,使用 Keras 和 Tensorflow 库。我正在创建一个 LSTM 模型来预测 100 个未来值。我的输入形状是 (100,200,1)。
假设我的输入数据是 X。我在时间步 t=201 进行预测并获得预测的 Y 列。然后我创建 Xnew = c(X[2:200],Y) 一个新变量,在其中连接 X(第一列除外)和 Y。我使用这个 Xnew 来预测下一个时间步。
实际情况是,经过一定数量的预测未来时间步长(大约 15 个)后,预测在之后的每个时间步长都变得恒定。有谁知道为什么会这样?
prdvec = function(dat,modname, numpreds, cnt, scl){
model = load_model_hdf5(modname)
inpt = dat
pred = list()
for(i in 1:numpreds){
pred[[i]] <- predict(model, reshape_X_3d((inpt[,1:ncol(inpt)]-cnt)/scl), batch_size = 1)
inpt = cbind(inpt[,2:ncol(inpt)],(pred[[i]]*scl+cnt))
print(i)
flush.console()
}
pred
}
解决方案
我遇到了类似的问题。也许当 LSTM 单元接受自己创建的输入时,它趋于稳定。
推荐阅读
- discord - 服务器到服务器自动复制和粘贴功能
- python - 在 Colab 中绘图时,python-igraph“'bytes' 对象没有属性'encode'”
- storyblok - 如何在自定义字段类型中获取选定的语言环境?
- python - 如何在python中编写makefile?
- c# - 应跨越 4 列的 GridView 数据全部显示在第一列下
- java - 使用可变参数时是否创建了新数组?
- fullcalendar - FullCalendar - 从数据库数据中显示用户的工作日程
- python - Python:从值中获取对应的键
- numpy - fromfile 可以省略字段吗?
- jquery - 在jQuery中排除带有前缀的元素及其所有子元素