1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 基于BP神经网络的电力负荷预测(Matlab代码实现)

基于BP神经网络的电力负荷预测(Matlab代码实现)

时间:2021-11-15 23:31:59

相关推荐

基于BP神经网络的电力负荷预测(Matlab代码实现)

目录

1 概述

2 运行结果

3 完整Matlab代码实现

4 数据

1 概述

随着电力工业逐步进入市场化,区域配电网短期电力负荷预测在电力行业中地位越来越重要,精准的短期负荷预测方法对电力系统安全稳定的运行至关重要。因此,文章在综合分析实际负荷特征和BP神经网络原理的基础上,提出BP神经网络预测方法。

2 运行结果

3 完整Matlab代码实现

%创建训练样本输入集clc,clearnum=24;%对应24个特征len=9;%有9行数据data=xlsread('data_new');data=data(2:len+1,:);%建立训练集测试集x_train=[data(1:len-2,:).'];x_test=[data(len-1,:).'];y_train=[data(2:len-1,:).'];test=[data(len,:).'];%创建BP神经网络%创建网络net=newff(minmax(x_train),[7,24],{'tansig','purelin'},'trainlm');%隐层神经元个数,输出层神经元个数,第1个参数为测试输入的输入范围%设置训练次数net.trainParam.epochs = 100;%设置收敛误差net.trainParam.goal=0.001;%训练网络[net,tr]=train(net,x_train,y_train);%在训练集和测试集上的表现y_train_predict=sim(net,x_train);Predict=sim(net,x_test);%作图 分别在测试集上x=0:1:23;plot(x,Predict,x,test);grid onxlabel('时间'),ylabel('用电量')%命名legend('预测值','真实值');rmse=(sum((Predict-test).^2)/24)^0.5mae=sum(abs(Predict-test))/24mape=sum(abs(Predict-test)./test)/24*100

%创建训练样本输入集

clc,clear

num=24;%对应24个特征

len=9;%有9行数据

data=xlsread('data_new');

data=data(2:len+1,:);

%建立训练集测试集

x_train=[data(1:len-2,:).'];

x_test=[data(len-1,:).'];

y_train=[data(2:len-1,:).'];

test=[data(len,:).'];

%创建BP神经网络

%创建网络

net=newff(minmax(x_train),[7,24],{'tansig','purelin'},'trainlm');%隐层神经元个数,输出层神经元个数,第1个参数为测试输入的输入范围

%设置训练次数

net.trainParam.epochs = 100;

%设置收敛误差

net.trainParam.goal=0.001;

%训练网络

[net,tr]=train(net,x_train,y_train);

%在训练集和测试集上的表现

y_train_predict=sim(net,x_train);

Predict=sim(net,x_test);

%作图 分别在测试集上

x=0:1:23;

plot(x,Predict,x,test);

grid on

xlabel('时间'),ylabel('用电量')%命名

legend('预测值','真实值');

rmse=(sum((Predict-test).^2)/24)^0.5

mae=sum(abs(Predict-test))/24

mape=sum(abs(Predict-test)./test)/24*100

4 数据

回复:负荷预测

到23:00

%创建训练样本输入集

clc,clear

num=24;%对应24个特征

len=9;%有9行数据

data=xlsread('data_new');

data=data(2:len+1,:);

%建立训练集测试集

x_train=[data(1:len-2,:).'];

x_test=[data(len-1,:).'];

y_train=[data(2:len-1,:).'];

test=[data(len,:).'];

%创建BP神经网络

%创建网络

net=newff(minmax(x_train),[7,24],{'tansig','purelin'},'trainlm');%隐层神经元个数,输出层神经元个数,第1个参数为测试输入的输入范围

%设置训练次数

net.trainParam.epochs = 100;

%设置收敛误差

net.trainParam.goal=0.001;

%训练网络

[net,tr]=train(net,x_train,y_train);

%在训练集和测试集上的表现

y_train_predict=sim(net,x_train);

Predict=sim(net,x_test);

%作图 分别在测试集上

x=0:1:23;

plot(x,Predict,x,test);

grid on

xlabel('时间'),ylabel('用电量')%命名

legend('预测值','真实值');

rmse=(sum((Predict-test).^2)/24)^0.5

mae=sum(abs(Predict-test))/24

mape=sum(abs(Predict-test)./test)/24*100

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。