概述
问题:当利用LSTM/GRU等做预测时,在数据上升较快或者下降较快的地方出现预测值滞后现象,即T+1时刻的预测值就是或者与T,T-1时刻的真实输入值基本相同
原因:回归算法将使用您提供的时间窗口中的值作为样本,以最大程度地减少误差。假设您正在尝试预测时间t的值。输入是以前的收盘价,即t-20到t-1的最后20个输入的时间序列窗口(假设样本输入的timestamp是20)。回归算法可能会学习在时间t-1或t-2处的值作为预测值,因为这样不需要做什么就可以达到优化的误差之内了。这样想:如果在t-1值 6340,那么预测 t时刻为6340或在t + 1时为6340,从整体来看将最大程度地减小误差(因为误差是预测的很多点的误差进行汇总),但是实际上该算法没有学习任何东西,它只是复制,因此除了完成优化任务外,它基本上什么也不做。
解决方法:
1. 不要给出真实的值,对输入样本进行非线性化的处理,平方,根号,ln等,是不能直接直观地预测其结果,而只是为算法提供模式。
2. 采用多类别分类,可以直接进行二进制分类(我这儿的理解是:采用树模型,xgboost,gbdt)
3. 尝试预测时间t和t-1处值的差异,而不是直接预测t时刻的值
4. 将样本数据差分到平稳后再对差分后的数据进行预测
参考:https://stackoverflow.com/questions/52252442/how-to-handle-shift-in-forecasted-value
https://www.dazhuanlan.com/2019/10/21/5dad8f52d7fb7/
最后
以上就是危机西牛为你收集整理的LSTM/GRU 出现预测值滞后现象的全部内容,希望文章能够帮你解决LSTM/GRU 出现预测值滞后现象所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复