目录
0.引言
针对时间序列预测的自相关性导致的预测值滞后于实际值的问题,1)采用EMD方法对序列进行分解,2)对每个分量进行DBN建模,3)为进一步提高dbn的精度,采用模拟退火SA对DBN各层节点数进行优化。结果表明EMD+SA+DBN预测精度最高。
1.数据说明
风速预测主要是时间序列预测,通常采用滚动序列建模,即采用1-n时刻风速作为输入,第n+1时刻风速作为输出,然后采用第2到n+1时刻风速作为输入,第n+2时刻风速作为输出,这样进行滚动建模。

2.实验分析
2.1 DBN预测
直接采用DBN进行滚动建模结果如图2所说。一般情况下,得到的效果都还不错,但是会有一个很严重的问题,就是预测值“滞后“于实际值现象,以图3为例,可以看出这种滞后现象。


由图3可知,这个预测得到的值滞后于真实值,相当于当前时刻预测的是上一时刻的值。因此,即使精度较高,这个模型依旧是无法使用的。主要原因是:点这里,因为序列存在自相关,实际上DBN并没有学习到风速预测模型,而是学习到了这种自相关性,而这个在时间序列预测上是及其常见的。
2.2 EMD分解+DBN
为了解决这个滞后问题,采用EMD经验模态分解先对序列进行分解得到IMF本征模态分量,然后对每个imf建立DBN预测模型,如图4所示。最后将各IMF对应的DBN的预测值相加,得到最终的预测结果,结果如图5所示:


2.3 EMD+模拟退火+DBN
最后,为再一次提升精度,本文采用SA模拟退火算法对DBN的各隐含层节点数进行寻优,得到一个较优的网络结构,优化流程如图6所示,得到的结果如图7所示。


结果显示经SA优化后的DBN,精度得到了再一次提升。
最后对上述各算法结果进行对比
代码链接:点这里
版权声明:本文为qq_41043389原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。