问题描述:两个excel表格
已知:第一个表格,每一行21个数值,前20个参数决定最后一个数值。一共1975行数据。
预测:第二个表格,每一行20参数,50行,预测每一行的20个参数对应的输出值。
第一个表格的部分数据:

1.用excel数据训练模型并保存

%% 清空环境变量
clc
clear
tic
%% 训练数据预测数据提取及归一化
%导入输入输出数据,数据和m文件在一个文件夹中。
data=xlsread('工作簿123.xlsx', 'Sheet1', 'A2:U1975');%找出训练数据和预测数据,1700条训练数据,275条测试数据。
input_train=data(1:1700,1:20)';
output_train=data(1:1700,21)';
input_test=data(1701:end,1:20)';
output_test=data(1701:end,21)';%选连样本输入输出数据归一化[inputn,inputps]=mapminmax(input_train)
[outputn,outputps]=mapminmax(output_train); %% BP网络训练
% %初始化网络结构
net=newff(inputn,outputn,8);%隐含层节点数量经验公式p=sqrt(m+n)+a ,故分别取2~13进行试验net.trainParam.epochs=100 % 对整个训练组训练100次
net.trainParam.lr=0.001;% 设置学习率
net.trainParam.goal=0.0001;  %网络输出和目标值的差的平方再求平均值%网络训练
net=train(net,inputn,outputn);%% BP网络预测
%预测数据归一化
inputn_test=mapminmax('apply',input_test,inputps);%网络预测输出
an=sim(net,inputn_test);%将输出的结果
BPoutput=mapminmax('reverse',an,outputps);%% 结果分析figure (1)
plot(BPoutput,'bo')
hold on
plot(output_test,'gp');
legend('预测输出','期望输出')
title('BP网络预测输出','fontsize',11)
ylabel('函数输出','fontsize',11)
xlabel('样本','fontsize',11)
set(gca,'XTick',[1:1:11])
zoom on;
grid on
%预测误差
error=BPoutput-output_test;figure (2)
x = 1:1:275;
plot(x,error,'-o')
title('BP网络预测误差','fontsize',11)
ylabel('误差','fontsize',11)
xlabel('样本','fontsize',11)
set(gca,'XTick',[1:1:275])
axis([1,300,-5,10])
str1=num2str(error',2);
text(x,error,str1)
grid onfigure (3)
plot((output_test-BPoutput)./BPoutput,'r');
set(gca,'yticklabel',{'0','5%','10%','15%','20%','25%','30%','35%','40%','45%','50%'});
title('神经网络预测误差百分比')
ylabel('百分比','fontsize',11)
xlabel('样本','fontsize',11)
set(gca,'XTick',[0:1:6])
grid onerror=sum(abs(error))/275
w1 = net.iw{1,1};%输入层到中间层的权值
w2 = net.lw{2,1};
b1 = net.b{1};%中间各层神经元阈值
b2 = net.b{2};toc

运行save net 将保存模型

2.调用模型,进行对新的数据进行预测

%% 清空环境变量
clc
clear
tic
load('D:\net1.mat');
data=xlsread('第五个参数5.xlsx', 'Sheet1', 'A2:ABA51');
input_test=data(1:50,1:729)';
% inputn_test=mapminmax('apply',input_test,inputps);
inputn_test=mapminmax(input_test,inputps);
an=sim(net,inputn_test);
BPoutput=mapminmax('reverse',an,outputps)

BP神经网络做数据预测相关推荐

  1. m基于ESN+BP神经网络的数据预测算法matlab仿真,测试数据为太阳黑子变化数据

    目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 在人工神经网络的发展历史上,感知机(Multilayer Perceptron,MLP)网络曾对人工 ...

  2. 基于帝企鹅算法优化BP神经网络实现数据预测matlab代码

    1 算法介绍 1.1 BP神经网络 1. 反向传播算法应用领域 反向传播算法应用较为广泛,从字面意思理解,与前向传播相互对应.在简单的神经网络中,反向传播算法,可以理解为最优化损失函数过程,求解每个参 ...

  3. 【BP预测】基于猫群算法优化BP神经网络实现数据预测附matlab代码

    1 简介 由于影响岩爆因素的复杂性,以及岩爆的极强灾害性.本文通过选择影响岩爆程度的四项物理力学指标,最后运算组合以后变成三项输入因子.应用BP神经网络对16组国内外岩爆实际工程案例进行训练,得到最优 ...

  4. 【预测模型】基于Logistic混沌映射改进麻雀算法改进BP神经网络实现数据预测matlab源码

    1  模型 简介见这里. 2 部分代码 function [FoodFitness,FoodPosition,Convergence_curve]=SSA(N,Max_iter,lb,ub,dim,f ...

  5. 【预测模型】基于差分进化算法优化BP神经网络实现数据预测matlab源码

    1 算法介绍 2 部分代码 %% 差分进化算法应用于优化BP神经网络的初始权值和阈值%% 清空环境变量 clear all; clc; warning off load v357; load y357 ...

  6. 【BP预测】基于哈里斯鹰算法改进BP神经网络实现数据预测

    一. BP神经网络预测算法简介 1.人工神经网络简介 人工神经网络(ANN)是一种旨在模仿人脑结构及其功能的由多个非常简单的处理单元彼此按某种方式相互连接而形成的计算机系统,该系统靠其状态对外部输入信 ...

  7. 【预测模型】基于布谷鸟算法改进BP神经网络实现数据预测附matlab代码

    一. BP神经网络预测算法简介 BP网络(Back-ProPagation Network)又称反向传播神经网络, 通过样本数据的训练,不断修正网络权值和阈值使误差函数沿负梯度方向下降,逼近期望输出. ...

  8. 【BP预测】基于鸟群算法优化BP神经网络实现数据预测附Matlab代码

    1 简介 热舒适度是室内环境舒适性的评价指标,由于热舒适度的计算是一个复杂的非线性迭代过程,不便应用于空调实时控制系统中,为解决这一问题,可利用BP神经网络算法对热舒适度进行预测.但为了改善传统BP神 ...

  9. 【预测模型】基于人工鱼群算法优化BP神经网络实现数据预测matlab源码

    1 算法介绍 1.1 BP神经网络 1. 反向传播算法应用领域 反向传播算法应用较为广泛,从字面意思理解,与前向传播相互对应.在简单的神经网络中,反向传播算法,可以理解为最优化损失函数过程,求解每个参 ...

  10. 【BP预测】基于头脑风暴算法优化BP神经网络实现数据预测附matlab代码

    ​1 简介 针对基于传统BP神经网络的海水水质评价模型存在易陷入局部极小等问题,提出了一种新的利用头脑风暴优化算法(BSO)优化BP神经网络的海水水质评价模型(BSO-BP).该模型引入具有全局寻优特 ...

最新文章

  1. DB2 创建数据库、缓冲池和表空间
  2. Android中的dispatchTouchEvent()、onInterceptTouchEvent()和onTouchEvent()
  3. ROS与Arduino学习(三)订阅与发布
  4. 引用的定义、使用及其和指针的区别与联系
  5. Quartz-DateBuilder解读
  6. Go并发编程之美-读写锁
  7. 选一种比较熟悉的软件,点评它的优缺点,并描述此类软件的发展历史
  8. 深入大数据安全分析(1):为什么需要大数据安全分析?
  9. 网络扫描工具zmap
  10. 使用微博提供的API接口发送微博
  11. 弹力球C语言课程设计,弹力球游戏c语言代码
  12. 实时消息传输协议 RTMP Real Time Messaging Protocol
  13. js将数组对象中属性值相同的对象合并成一个children
  14. root高级权限怎么弄,怎样拥有root权限
  15. 图的深度遍历(邓俊辉版)
  16. 基于java的cad_基于JavaCAD架构的IP知识产权保护
  17. ARM结构体系和接口技术
  18. STM32F4设置NVIC中断优先级分组
  19. Virbox Protector AAB 加固-兼容 Google Play 上架
  20. 那些工作后补过的大学知识

热门文章

  1. Wineskin不能打开添加的程序?macOS版本太高?
  2. 【STM32学习笔记】(10)——蜂鸣器实验详解
  3. 美国地名大全(美国城市名称英文 中文)
  4. 控制Dell PowerEdge R720的风扇转速 (利用IPMI)
  5. JavaWeb房屋租赁管理系统(servlet+jsp+mysql)
  6. JeeWx 微信管家平台,简称“捷微”
  7. linux mint 安装ssh
  8. 渐开线曲线方程c语言,proe常用曲线方程大全
  9. 如何把qq挂到云服务器,云服务器挂QQ软件常用方法和注意问题
  10. 如何用CMD查看本机的IP地址