【负荷预测】基于双向LSTM模型进行电力需求预测(Matlab代码实现)

 欢迎来到本博客❤️❤️❤️
作者研究:主要研究方向是电力系统和智能算法、机器学习和深度学习。目前熟悉python网页爬虫、机器学习、群智能算法、深度学习的相关内容。希望将计算机和电网有效结合!⭐️⭐️⭐️
 

 

本文目录如下:⛳️⛳️⛳️

目录

1 概述

2 预测模型原理

3 运行结果

4 参考文献

5 Matlab代码实现


1 概述

电力系统负荷预测可对未来一段时间的电力需求进行估计,从而根据负荷预测结果来安排机组组

合计划、发电计划、联络线交换计划,组织电力现货交易。因此,准确的电力负荷预测对于电力系统安全、经济、高效地运行有着重要的意义[1]。短期电力负荷预测主要是指对未来一天、一周甚至几周时间内的用电负荷进行预测,是电网日常运营的重要组成部分。 对于短期电力负荷预测的研究方法,大致分为两类,包括传统电力负荷预测方法[2]和机器学习算法模型预测方法。基于当下新型用电环境 与影响用电因素复杂多样化的特点,机器学习算法模型成为学者们在电力负荷预测领域研究的焦点。

2 预测模型原理

图1 为 LSTM 的基本单元,LSTM 通过对其遗忘门、输入门、输出门等门控单元进行有效组合可以实现信息的保护和当前状态的更新,更新规则如式 ( 4) 所示。门控单元的实现如下式所示:

                    \begin{array}{c} \boldsymbol{f}_{t}=\sigma\left(\boldsymbol{W}_{f} \times\left[\boldsymbol{h}_{t-1}, \boldsymbol{z}_{t}\right]+\boldsymbol{b}_{f}\right) \\ \boldsymbol{i}_{t}=\sigma\left(\boldsymbol{W}_{i} \times\left[\boldsymbol{h}_{t-1}, \boldsymbol{z}_{t}\right]+\boldsymbol{b}_{i}\right) \\ \hat{\boldsymbol{C}}_{t}=\tanh \left(\boldsymbol{W}_{C} \times\left[\boldsymbol{h}_{t-1}, \boldsymbol{z}_{t}\right]+\boldsymbol{b}_{\boldsymbol{C}}\right) \\ \boldsymbol{C}_{t}=\boldsymbol{f}_{t} \times \boldsymbol{C}_{t-1}+\boldsymbol{i}_{t} \times \hat{\boldsymbol{C}}_{t} \\ \boldsymbol{o}_{t}=\sigma\left(\boldsymbol{W}_{\boldsymbol{o}} \times\left[\boldsymbol{h}_{t-1}, \boldsymbol{z}_{t}\right]+\boldsymbol{b}_{\boldsymbol{o}}\right) \\ \boldsymbol{h}_{t}=\boldsymbol{o}_{t} \times \tanh \boldsymbol{C}_{t} \end{array}

                                            图1 LSTM 结构示意图

3 运行结果

部分代码:

%% 训练
inputSize = 3;
numHiddenUnits = 200;
layers = [ ...
    sequenceInputLayer(inputSize)
    bilstmLayer(numHiddenUnits,'OutputMode','last')
    fullyConnectedLayer(1)
    regressionLayer];
maxEpochs = 10000;
options = trainingOptions('adam', ...
    'MaxEpochs',maxEpochs, ...
    'InitialLearnRate',0.01, ...
    'GradientThreshold',1, ...
    'Shuffle','never', ...
    'Plots','training-progress',...
    'Verbose',0);
net = trainNetwork(X,Y',layers,options);
save('net.mat','net')
trainY=double(predict(net,X));
%% 可视化
figure, ploterrhist(trainY-Y')
figure, plot(trainY,'-o')
hold on
plot(Y,'-^')
title('训练结果')
xlabel('电价')
ylabel('有功功率需求量(MW)');
legend('biLSTM 输出','实际电力需求')

4 参考文献

部分理论引用网络文献,若有侵权请联系博主删除。 

[1]钟劲松,王少林,冉懿,冉新涛,于金平,俞海猛.基于互信息和LSTM的用户负荷短期预测[J].电力建设,2022,43(07):96-102.

[2]张雪. 基于智能优化的神经网络短期电力负荷预测[D].西安工业大学,2022.

[3]赵婧宇,池越,周亚同.基于SSA-LSTM模型的短期电力负荷预测[J].电工电能新技术,2022,41(06):71-79.

5 Matlab代码实现

博客主页:电气辅导帮

你可能感兴趣的:(神经网络与电气,负荷预测,lstm,matlab,双向LSTM,负荷预测,电力需求)