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

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

1 概述

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

2 运行结果

3 完整Matlab代码实现

%创建训练样本输入集
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


%创建训练样本输入集
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 数据

链接: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
相关文章
|
6天前
|
机器学习/深度学习 算法 数据可视化
基于BP神经网络的城市空气质量数据预测matlab仿真
该文介绍了使用MATLAB2022A运行的BP神经网络算法,用于城市空气质量预测。算法包括输入层(含多种影响因素如PM2.5、SO2、NO2)、隐藏层和输出层(预测AQI指数)。核心程序涉及数据读取、按月计算均值,以及可视化展示不同空气质量指标随时间的变化。代码处理了2015-2017年数据,分为三个图展示各指标的年际变化。
|
6天前
|
机器学习/深度学习 算法 PyTorch
python手把手搭建图像多分类神经网络-代码教程(手动搭建残差网络、mobileNET)
python手把手搭建图像多分类神经网络-代码教程(手动搭建残差网络、mobileNET)
56 0
|
6天前
|
机器学习/深度学习 算法
【Matlab智能算法】PSO优化(双隐层)BP神经网络算法
【Matlab智能算法】PSO优化(双隐层)BP神经网络算法
|
6天前
|
Serverless
基于Logistic函数的负荷需求响应(matlab代码)
基于Logistic函数的负荷需求响应(matlab代码)
|
6天前
|
机器学习/深度学习 算法
Matlab|基于支持向量机的电力短期负荷预测【最小二乘、标准粒子群、改进粒子群】
Matlab|基于支持向量机的电力短期负荷预测【最小二乘、标准粒子群、改进粒子群】
|
6天前
|
算法
基于峰谷分时电价引导下的电动汽车充电负荷优化(matlab代码)
基于峰谷分时电价引导下的电动汽车充电负荷优化(matlab代码)
|
6天前
|
调度
考虑充电负荷空间可调度特性的分布式电源与电动汽车充电站联合配置方法(matlab代码)
考虑充电负荷空间可调度特性的分布式电源与电动汽车充电站联合配置方法(matlab代码)
|
6天前
|
机器学习/深度学习 算法 数据挖掘
基于改进ISODATA算法的负荷场景曲线聚类(matlab代码)
基于改进ISODATA算法的负荷场景曲线聚类(matlab代码)
|
6天前
|
算法 Serverless 调度
负荷需求响应(含matlab代码)
负荷需求响应(含matlab代码)
|
6天前
|
存储 调度
激励型负荷需求响应(含matlab代码)
激励型负荷需求响应(含matlab代码)

热门文章

最新文章