时间序列预测之:LSTM方法容易出现的问题

问题描述

在用LSTM预测时间序列时,比如输入是X,预测输出是y:

  • 若X中包含了之前时刻的y值,则最终预测输出y_hat与y之间容易出现滞后现象,即y_hat的值好像是前一时刻的y值。这时预测误差整体上看上去很小,预测效果看似很好,但是y_hat看上去好像就是y平移一个单位得到的。例如:


    myplot.png
  • 若将之前时刻的y值从输入X中移除,则预测误差将很大,预测效果看上去不好,这时由于预测误差很大也很难观察y_hat与y之间的滞后。例如:


    myplot.png

其他人的描述

这种现象在很多问题上都有人发现,例如:


批注 2019-09-02 165406.png

可能的解释

Github上有人给出的一种解释是:这是由于序列存在自相关性

做过时间序列的朋友可能常常会有这样的感受,用了某种算法做出来的测试集的平均绝对误差率或者r2系数都很好,但是把测试集的真实值及预测值画出来对比一下,就会发现t时刻的预测值往往是t-1时刻的真实值,也就是模型倾向于把上一时刻的真实值作为下一时刻的预测值,导致两条曲线存在滞后性,也就是真实值曲线滞后于预测值曲线,就像下图右边所显示的那样。之所以会这样,是因为序列存在自相关性,如一阶自相关指的是当前时刻的值与其自身前一时刻值之间的相关性。因此,如果一个序列存在一阶自相关,模型学到的就是一阶相关性。而消除自相关性的办法就是进行差分运算,也就是我们可以将当前时刻与前一时刻的差值作为我们的回归目标

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。