当前位置 : 主页 > 网络编程 > 其它编程 >

在KERAS中使用LSTM进行时间序列预测时的钟形验证损失

来源:互联网 收集:自由互联 发布时间:2023-07-02
我正在KERAS中使用LSTM进行滚动窗口的时间序列预测。将第一步视为验证数据(我 我正在KERAS中使用LSTM进行滚动窗口的时间序列预测。将第一步视为验证数据(我没有将验证数据用于提前
我正在KERAS中使用LSTM进行滚动窗口的时间序列预测。将第一步视为验证数据(我

我正在KERAS中使用LSTM进行滚动窗口的时间序列预测。将第一步视为验证数据(我没有将验证数据用于提前停止),并将时期数设置为40,单位数设置为10,还使用了{ {1}}训练样本和1000功能,验证损失的形状有点奇怪。验证损失从低值开始,然后增加并再次减少。为什么我们有这种行为?我应该指出,这不是唯一的行为,但是大多数模型遵循钟形验证损失(如您所见,棕线遵循常见的验证损失形状)。可能是,我认为如果我添加了早期停止功能,则效果不佳。另外,我正在使用10来对功能进行归一化,并在不进行归一化的情况下使用输出。 LSTM的激活函数为StandardScaler,输出层具有tanh,因为预测值始终为正,我正在使用21个特征滞后。

在KERAS中使用LSTM进行时间序列预测时的钟形验证损失

在KERAS中使用LSTM进行时间序列预测时的钟形验证损失

  • 在这些图中,每一行都与预测中的一个步骤(滚动窗口)相关(我正在通过添加最新数据来在每个步骤中训练模型)。

Ps。。如果仅在两个时期之后停止预测,则预测值将接近于零。我应该提到的是,我的时间序列中的大多数值都是新的零(介于0和1之间)和一些罕见的跳跃(例如10、50或100)。在这里,棕色表示数据中的一个跳转。但是,您可能知道,此值对MSE产生巨大影响。这就是为什么大多数时候,线性模型比LSTM更好的原因,因为它无法检测到巨大的跳跃,因此测试数据的平均MSE更高。


上一篇:C语言#pragmaonceC语言零基础入门教程
下一篇:没有了
网友评论