一、基础

    双向长短期记忆网络(Bidirectional Long Short-Term Memory, BiLSTM)是一种改进的循环神经网络(Recurrent Neural Network, RNN),专门设计用于处理序列数据。BiLSTM 能够通过结合前向和后向两个 LSTM 网络的输出来捕捉序列中的双向依赖关系。

基本概念
LSTM
    长短期记忆网络(LSTM)是一种特殊的 RNN,能够学习长期依赖关系。LSTM 通过引入门机制(输入门、遗忘门和输出门)来克服传统 RNN 在处理长序列时的梯度消失和梯度爆炸问题。

LSTM 的基本结构包括

遗忘门(Forget Gate):决定丢弃多少来自先前时刻的信息。
输入门(Input Gate):决定当前时刻的信息有多少被写入到细胞状态中。
输出门(Output Gate):决定输出多少信息到下一个时刻。
双向 LSTM
BiLSTM 在每个时间步运行两个独立的 LSTM,一个从序列的开始到结束(前向 LSTM),另一个从序列的结束到开始(后向 LSTM)。这两个 LSTM 的输出结合在一起,能够同时考虑前后文信息。

BiLSTM 的结构
BiLSTM 的架构如下所示:

二、代码

     整理了基于BiLSTM模型的时间序列预测python代码,该代码注释十分齐全,采用RMSE、MAE、MAPE和R2等多种评价指标,效果优异,适合想发文章的同学。

+---------------------+--------------------+--------------------+--------------------+--------------------+--------------------+

|   测试集指标   |    MSE     |    RMSE    |    MAE     |    MAPE    |     R2     |

+---------------------+--------------------+--------------------+--------------------+--------------------+--------------------+

| 第1步预测结果指标: | 340.85816198526646 | 18.462344433610443 | 14.02510238647461 | 6.392142945361982% | 40.35327013184293% |

| 第2步预测结果指标: | 538.000679078775 | 23.19484164806423 | 17.592491099039712 | 8.111656763794143% | 8.349580248821232% |

+---------------------+--------------------+--------------------+--------------------+--------------------+--------------------+

值得注意的是,该模型根据需要可以更改为:

 单输
入单步预测,
 单输入多步预测,
 多输入单步预测,
 多输入多步预测,

  希望对大家有所帮助,有兴趣的朋友,欢迎关注笔者主页龚重号:年轻的战场ssd,回复:BiLSTM的多步时间序列预测。一起交流,学习进步!!!

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐