BP_Neural_Networks负荷预测

  • 一、简单介绍
  • 二、源代码分享
  • 三、结果讲解

一、简单介绍

本文的数据来源为某地2018年的总负荷,采样时间为15分钟,采用BP_Neural_Networks进行一个负荷预测,其中采用三层网络,最后对所得到的结果做一个简单的分析。

二、源代码分享

该段代码的主要作用是读取文件中所需要用到的负荷数据,且对数据进行一个整理

function [raw_out, raw_max, raw_min] = read_load_data_from_excel(path, mouth, day)sheetP= 1;
xlRangeP = 'C3:C98';
xlsmaxP = 'C99';
xlsminP = 'C101';if path(length(path)) ~= '\'path = strcat(path, '\');
endfull_path = [path, '2018年', num2str(mouth), '月\2018.', num2str(mouth), '.', num2str(day), '.xlsx'];raw_out = xlsread(full_path, sheetP, xlRangeP);
raw_max = xlsread(full_path, sheetP, xlsmaxP);
raw_min = xlsread(full_path, sheetP, xlsminP);end

该段代码主要是对数据进行归一化处理和反归一化处理

function [output] = my_map(type, raw_data, raw_data_max, raw_data_min, max, min)if type ~= 0output = my_pos_map(raw_data, raw_data_max, raw_data_min, max, min);
endif type ~= 1 output = my_rev_map(raw_data, raw_data_max, raw_data_min, max, min);
endendfunction [out] = my_pos_map(raw_data, raw_data_max, raw_data_min, max, min)for i = 1:length(raw_data')out(i) = (max - min) * (raw_data(i) - raw_data_min) / (raw_data_max - raw_data_min) + min;end
endfunction [out] = my_rev_map(raw_data, raw_data_max, raw_data_min, max, min)for i = 1:length(raw_data')out(i) = (raw_data(i) - min) * (raw_data_max - raw_data_min) / (max - min) + raw_data_min;end
end

该段代码主要是主函数

month = 12;  day_start = 5;day_len = 5;file_path = '2018负荷预测数据';map_maxmin = [];output = [];for day = day_start:1:(day_start + day_len - 1)[raw_data, raw_max ,raw_min] = read_load_data_from_excel(file_path, month ,day);data_temp =  my_map(1, raw_data, raw_max, raw_min, 1, 0);map_maxmin = cat(1, map_maxmin, [0 1]);output = cat(1, output, data_temp);target_day = day + 1;end[target_data, target_max, target_min] = read_load_data_from_excel(file_path, month ,target_day);t_d =  my_map(1, target_data, target_max, target_min, 1, 0);net = newff(map_maxmin, [6,40,1], {'tansig','logsig','purelin'}, 'traincgf');net.trainParam.epochs = 1000000;net.trainParam.goal = 0.001;net.trainParam.lr = 0.1;goal_net = train(net, output, t_d);Y = sim(goal_net, output);goal = my_map(0, Y', target_max, target_min, 1, 0);t=1:1:96;plot(t,target_data,t,goal,'r')goal'

三、结果讲解

程序运行结果展示如下图

      Neural Network Training(nntraintool)如下图

      下图主要是通过误差的变化来判断网络的性能好坏,由图可知,随着迭代次数的增加,误差越来越小,网络性能也越来越好

下图主要展示在训练过程中Gradient和Validation Checks的变化情况

将原始的点数据与回归线展示在下图中,通过下图可以看出通过该神经网络得到的数据与原始数据的一个拟合程度

负荷预测(BP神经网络)相关推荐

  1. bp神经网络时间序列预测,bp神经网络数据预处理

    怎么用已经训练好的BP神经网络进行预测下一个值? 谷歌人工智能写作项目:神经网络伪原创 bp神经网络如何用于预测 如何人工神经网络来预测下一个数值 newff函数建立BP神经网络,历史数据作为样本,例 ...

  2. bp神经网络时间序列预测,bp神经网络有几个阶段

    什么是BP神经网络? . BP算法的基本思想是:学习过程由信号正向传播与误差的反向回传两个部分组成:正向传播时,输入样本从输入层传入,经各隐层依次逐层处理,传向输出层,若输出层输出与期望不符,则将误差 ...

  3. 基于MATLAB编程的粒子群算法优化BP神经网络风电功率预测,基于PSO-BP的风电功率预测

    目录 摘要 BP神经网络的原理 BP神经网络的定义 BP神经网络的基本结构 BP神经网络的神经元 BP神经网络的激活函数, BP神经网络的传递函数 粒子群算法的原理及步骤 基于粒子群算法改进优化BP神 ...

  4. 【电力负荷预测】基于matlab BP神经网络电力负荷预测【含Matlab源码 278期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源: [电力负荷预测]基于matlab BP神经网络电力负荷预测[含Matlab源码 278期] 获取代码方式2: 付费专栏Matlab智能算 ...

  5. 基于遗传算法改进的BP神经网络电网负荷预测,GA-BP神经网络电网负荷预测,1000案例之14

    摘要 节能减排,降低谈排放,降低电网传输的损耗 电力负荷预测是以电力负荷为对象进行的一系列预测工作.从预测对象来看,电力负荷预测包括对未来电力需求量(功率)的预测和对未来用电量(能量)的预测以及对负荷 ...

  6. [时间序列预测]基于BP、LSTM、CNN-LSTM神经网络算法的单特征用电负荷预测[保姆级手把手教学]

    系列文章目录 深度学习原理-----线性回归+梯度下降法 深度学习原理-----逻辑回归算法 深度学习原理-----全连接神经网络 深度学习原理-----卷积神经网络 深度学习原理-----循环神经网 ...

  7. 基于BP神经网络的电力系统短期负荷预测,简单实用

    基于BP神经网络的电力系统短期负荷预测,包含30日的负荷数据和气象特征数据,对31日负荷进行预测,同时与实际负荷进行对比,观察误差. %创建一个新的BP前向神经网络 %newff-生成一个新的BP前向 ...

  8. 使用BP神经网络进行预测(电力负荷预测)

    目录 摘要: 1.电力负荷数据导入 2.输入输出数据归一化 3.建立和训练BP神经网络 4.使用测试数据进行负荷预测 5.Matlab代码: 摘要: 使用BP神经网络实现简单的电力负荷回归预测任务.主 ...

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

    目录 1 概述 2 运行结果 3 完整Matlab代码实现 4 数据 1 概述 随着电力工业逐步进入市场化,区域配电网短期电力负荷预测在电力行业中地位越来越重要,精准的短期负荷预测方法对电力系统安全稳 ...

最新文章

  1. MySQL自增长主键探究
  2. 华科博士 201 万,西安交大本科生 100 万!华为「天才少年」校招薪资曝光
  3. mysql safe无法启动_(转)mysqld_safe无法启动的解决办法
  4. Autofac之自动装配
  5. hse不起振 stm8_STM8S207使用外部24M晶振不起振的解决办法
  6. 工业以太网交换机的重要技术参数分析
  7. 剑指Offer - 面试题58 - II. 左旋转字符串
  8. Redmi 9或搭载联发科Helio G80:内置5000mAh电池 支持NFC
  9. 玩人工智能的你必须知道的语音识别技术原理
  10. 拓端tecdat|R语言Bootstrap的岭回归和自适应LASSO回归可视化
  11. 容器与拷贝构造函数的问题
  12. g++ 安装python_一个有意思还有用的Python包汉字转换拼音
  13. 58-高级路由:双点双向重分发
  14. 李开复清华演讲:为什么今天是人工智能的黄金时代?
  15. php strict,PHP 5.4中的E_STRICT和E_ALL有什么区别?
  16. 小程序管理新闻资讯分类-微信小程序视频教程27
  17. 网页中验证码无法正常显示
  18. php 全选 反选,利用vue实现全选反选功能
  19. ESP32 单片机学习笔记 - 08 - WebSocket客户端
  20. 黑马Linux笔记05【Linux系统软件安装,MySQL、Tomcat、Nginx、RabbitMQ、Redis、ElasticSearch、Zookeeper】

热门文章

  1. android手机短信息中心设置
  2. 56. Merge Intervals(合并区间)解法(C++ 注释)
  3. 点读笔写字App(3)——画布写字细节
  4. java 实现百度贴吧“只看楼主”
  5. 关于开展XXX的通知
  6. 红色保护生态自动聊天源码
  7. 元器件原理图,自己动手画
  8. 诺基亚透露未来摄像头创新技术
  9. 移动,联通,电信三家4G手机技术上有什么区别,TD-LTE和FDD-LTE的区别
  10. 惠普暗影精灵5 super 873-068rcn如何重装系统