欢迎来到本博客❤️❤️❤️
博主优势:博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
目录
1 概述
2 运行结果
3 完整Matlab代码实现
4 数据
随着电力工业逐步进入市场化,区域配电网短期电力负荷预测在电力行业中地位越来越重要,精准的短期负荷预测方法对电力系统安全稳定的运行至关重要。因此,文章在综合分析实际负荷特征和BP神经网络原理的基础上,提出BP神经网络预测方法。
参考:
http://t.csdn.cn/vwuaJ
链接:https://pan.baidu.com/s/19qZsZeoO8BgByO1k9a_YDw
提取码:6nh7
--来自百度网盘超级会员V2的分享
到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