LSTM对比Bi-LSTM的电力负荷时间序列预测(Matlab)

这篇具有很好参考价值的文章主要介绍了LSTM对比Bi-LSTM的电力负荷时间序列预测(Matlab)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

0 概述

1 电力负荷预测

2 滑动窗输入结构的构建

3 LSTM

4 Bi-LSTM

5 运行结果

6 Matlab代码实现

7 参考文献


0 概述

      本文使用LSTM和Bi-LSTM,以电力负荷预测为例对比了两者的预测性能,其中将电力负荷构造为滑动时间窗的形式作为网络输出输入,实现LSTM与Bi-LSTM网络的多输入单输出模型,相比于单输入单输出的模型有更高的准确性。本文的电力负荷滑动窗输入构建方式具有一定的参考价值。

1 电力负荷预测

      电力负荷预测是一种典型的时间序列回归预测任务。电力负荷预测是保证电力供需平衡的基础,并为电网、电源的规划建设以及电网企业、电网使用者的经营决策提供信息和依据。负荷预测分为长期、中期、短期和超短期负荷预测,预测对象包括系统负荷和母线负荷,由电网企业负责组织编制。大用户应根据有关规定,按时报送其主要接装容量和年、月用电量预测及日用电负荷变化过程。                           

LSTM对比Bi-LSTM的电力负荷时间序列预测(Matlab),matlab,lstm,开发语言

2 滑动窗输入结构的构建

      由于电力负荷具有很强的时间相关性,仅通过上一时刻的负荷预测下一时刻的负荷并不能有效的反应复杂的时间关系,同时也没有充分的利用历史负荷数据的全部信息。所以本文通过滑动时间窗技术将多个历史时间内的负荷情况组合起来,预测下一时刻的负荷情况,并不断向前移动,以完成全天内的负荷预测。具体的构造方法如下:

LSTM对比Bi-LSTM的电力负荷时间序列预测(Matlab),matlab,lstm,开发语言

        如上图所示,在t时刻时黄色每一个小框都表示一个时间节点的输入数据,蓝色的小框表示输出数据,将3个黄色小框作为输入预测蓝色小框中的数据;而在t+1时刻,整体往前移动一个时间节点,以此不断前进,直到预测完全体的数据。

3 LSTM

      传统RNN网络由于结构存在固有缺陷,在参数更新时会存在梯度消失以及梯度爆炸的问题,导致长距离的历史信息丢失,进一步造成网络极难收敛,无法训练出理想的模型。LSTM作为一种改进的循环神经网络,在原有网络结构的基础上加入了细胞状态(cell state)的结构来控制全局信息的传输,并通过遗忘门,输入门,输出门三种门控单元控制细胞状态信息值的更新。LSTM在极大程度上缓解了传统RNN模型存在的长期依赖问题,减少了长距离历史信息的丢失,输出的预测结果更准确 。LSTM的具体模型如下:

LSTM对比Bi-LSTM的电力负荷时间序列预测(Matlab),matlab,lstm,开发语言

LSTM通过以下公式进行更新权值矩阵和偏置参数等网络信息:

                      

4 Bi-LSTM

     Bi-LSTM 神经⽹络结构模型分2个独⽴LSTM,输⼊序列分别以正序和逆序输⼊⾄2个LSTM神经⽹络进⾏特征提取,将2个输出向量(即提取后的特征向量)进⾏拼接后形成的词向量作为该词的最终特征表达。Bi-LSTM 的模型设计理念是使 t 时刻所获得特征数据同时拥有过去和将来之间的信息,实验证明,这种神经⽹络结构模型对⽂本特征提取效率和性能要优于单个 LSTM 结构模型。

LSTM对比Bi-LSTM的电力负荷时间序列预测(Matlab),matlab,lstm,开发语言

5 运行结果

     本文的数据集是一个包含60日的电力时间序列负荷数据,数据的颗粒度为15min,一天中共有96个点,使用前59日的数据进行训练,用最后一日的数据作为测试集进行负荷预测。滑动时间窗口大小设置为8,即过去两个小时内的负荷预测下一时刻的负荷。

LSTM对比Bi-LSTM的电力负荷时间序列预测(Matlab),matlab,lstm,开发语言

LSTM对比Bi-LSTM的电力负荷时间序列预测(Matlab),matlab,lstm,开发语言

LSTM对比Bi-LSTM的电力负荷时间序列预测(Matlab),matlab,lstm,开发语言

LSTM对比Bi-LSTM的电力负荷时间序列预测(Matlab),matlab,lstm,开发语言

LSTM对比Bi-LSTM的电力负荷时间序列预测(Matlab),matlab,lstm,开发语言

部分代码:

function [layer_lstm,layer_bilstm,options] = Net_definition(numFeatures,numResponses,numHiddenUnits,Train_number,dorp_rate)
%% LSTM
layer_lstm = [ ...
    sequenceInputLayer(numFeatures)
    lstmLayer(numHiddenUnits,'OutputMode','sequence')
    dropoutLayer(dorp_rate)
    fullyConnectedLayer(numResponses)
    regressionLayer];
%% BI-LSTM
layer_bilstm = [ ...
    sequenceInputLayer(numFeatures)
    lstmLayer(numHiddenUnits,'OutputMode','sequence')
    dropoutLayer(dorp_rate)
    fullyConnectedLayer(numResponses)
    regressionLayer];
%% 
options = trainingOptions('adam', ...
    'MaxEpochs',Train_number, ...
    'GradientThreshold',1, ...
    'InitialLearnRate',0.005, ...
    'LearnRateSchedule','piecewise', ...
    'LearnRateDropPeriod',Train_number/2, ...
    'LearnRateDropFactor',0.2, ...
    'Verbose',0, ...
    'Plots','training-progress');
end

6 Matlab代码实现

7 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]李玉志,刘晓亮,邢方方,温国强,卢楠滟,何慧,焦润海.基于Bi-LSTM和特征关联性分析的日尖峰负荷预测[J].电网技术,2021,45(07):2719-2730.DOI:10.13335/j.1000-3673.pst.2020.1390.文章来源地址https://www.toymoban.com/news/detail-568383.html

到了这里,关于LSTM对比Bi-LSTM的电力负荷时间序列预测(Matlab)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 多维时序 | Matlab实现LSTM-Adaboost和LSTM多变量时间序列预测对比

    预测效果 基本介绍 多维时序 | Matlab实现LSTM-Adaboost和LSTM多变量时间序列预测对比 模型描述 Matlab实现LSTM-Adaboost和LSTM多变量时间序列预测对比(完整程序和数据) 1.输入多个特征,输出单个变量; 2.考虑历史特征的影响,多变量时间序列预测; 4.csv数据,方便替换; 5.运行环

    2024年02月10日
    浏览(35)
  • 基于GRU门控循环网络的时间序列预测matlab仿真,对比LSTM网络

    目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 LSTM:     GRU     matlab2022a         门控循环单元(Gated Recurrent Unit,简称GRU)是一种用于序列建模和预测的递归神经网络(RNN)变体。GRU通过引入门控机制,克服了传统RNN在处

    2024年02月11日
    浏览(32)
  • 时序预测 | MATLAB实现EEMD-SSA-LSTM、EEMD-LSTM、SSA-LSTM、LSTM时间序列预测对比

    预测效果 基本介绍 时序预测 | MATLAB实现EEMD-SSA-LSTM、EEMD-LSTM、SSA-LSTM、LSTM时间序列预测对比 模型描述 麻雀搜索算法(Sparrow Search Algorithm, SSA)是于2020年提出的。SSA 主要是受麻雀的觅食行为和反捕食行为的启发而提出的。该算法比较新颖,具有寻优能力强,收敛速度快的优点。

    2024年02月09日
    浏览(32)
  • 时序预测 | MATLAB实现EEMD-LSTM、LSTM集合经验模态分解结合长短期记忆神经网络时间序列预测对比

    效果一览 基本介绍 时序预测 | MATLAB实现EEMD-LSTM、LSTM集合经验模态分解结合长短期记忆神经网络时间序列预测对比。 1.MATLAB实现EEMD-LSTM、LSTM时间序列预测对比; 2.时间序列预测 就是先eemd把原输入全分解变成很多维作为输入 再输入LSTM预测 ; 3.运行环境Matlab2018b及以上,输出RM

    2024年02月13日
    浏览(30)
  • VMD-SSA-LSTM基于变分模态分解和麻雀算法优化长短期记忆网络的时间序列预测MATLAB代码(含LSTM、VMD-LSTM、VMD-SSA-LSTM等模型的对比)。

    clc; clear all close all %% VMD-SSA-LSTM预测 tic load vmd_data.mat load lstm.mat disp(\\\'…………………………………………………………………………………………………………………………\\\') disp(\\\'VMD-SSA-LSTM预测\\\') disp(\\\'………………………………………………………………………………………

    2024年02月10日
    浏览(32)
  • 时间序列预测 — BiLSTM-Attention实现单变量负荷预测(Tensorflow)

      专栏链接: https://blog.csdn.net/qq_41921826/category_12495091.html 专栏内容 ​ 所有文章提供源代码、数据集、效果可视化 ​ 文章多次上领域内容榜、每日必看榜单、全站综合热榜 ​ ​ ​

    2024年01月18日
    浏览(29)
  • LSTM时间序列预测

    本文借鉴了数学建模清风老师的课件与思路,可以点击查看链接查看清风老师视频讲解:【1】演示:基于LSTM深度学习网络预测时间序列(MATLAB工具箱)_哔哩哔哩_bilibili 时间序列不需要时间(包括一元时间序列和多元时间序列),若有时间则可以将时间删去,同时数据里允许

    2024年01月21日
    浏览(36)
  • nlp系列(6)文本实体识别(Bi-LSTM+CRF)pytorch

    LSTM:长短期记忆网络(Long-short-term-memory),能够记住长句子的前后信息,解决了RNN的问题(时间间隔较大时,网络对前面的信息会遗忘,从而出现梯度消失问题,会形成长期依赖问题),避免长期依赖问题。 Bi-LSTM:由前向LSTM与后向LSTM组合而成。 同LSTM,区别在于模型的输出

    2024年02月15日
    浏览(30)
  • LSTM实现时间序列预测(PyTorch版)

    💥项目专栏:【深度学习时间序列预测案例】零基础入门经典深度学习时间序列预测项目实战(附代码+数据集+原理介绍)

    2023年04月24日
    浏览(46)
  • 时间序列预测模型实战案例(三)(LSTM)(Python)(深度学习)时间序列预测(包括运行代码以及代码讲解)

    目录 引言 LSTM的预测效果图 LSTM机制 了解LSTM的结构 忘记门 输入门 输出门 LSTM的变体 只有忘记门的LSTM单元 独立循环(IndRNN)单元 双向RNN结构(LSTM) 运行代码 代码讲解 LSTM(Long Short-Term Memory)是一种常用的循环神经网络(RNN)模型,用于处理序列数据,具有记忆长短期的能力。

    2024年02月08日
    浏览(61)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包