bp matlab预测结果差,BP神经网络 预测 精度差
我有76个数据,用BP神经网络来做预测,预测效果在这组数据上一直不好,但是其他数据上效果不错,请大家帮忙看看,是哪里出了问题?不甚感谢
%% I. 清空环境变量
clear all
clc
%% II. 训练集/测试集产生
%%
% 1. 导入数据
% load spectra_data.mat
filename1 = 'input76_gai.xlsx';
filename2 = 'output76_gai.xlsx';
input = xlsread(filename1); %读取输入参数
output=xlsread(filename2); %读取输入参数
%%
% 2. 随机产生训练集和测试集
temp = randperm(size(input,1));
% 训练集——65个样本
P_train = input(temp(1:65),:)';
T_train = output(temp(1:65),:)';
% 测试集——11个样本
P_test = input(temp(66:end),:)';
T_test = output(temp(66:end),:)';
N = size(P_test,2);
p_train=P_train;
p_test=P_test;
t_train=T_train;
%% IV. BP神经网络创建、训练及仿真测试
%%
% 1. 创建网络
net = feedforwardnet([4]);
%% 2. 设置训练参数
net.trainFcn='trainlm';
net.trainParam.epochs =15000;
net.trainParam.goal = 1e-4;
net.trainParam.lr = 0.05;
%%
net.divideFcn = ''; %清除'dividerand'。该函数把样本数据三分为训练集、验证集和测试集,默认比例是6:2:2。程序中清除该属性再训练:
%%
% 3. 训练网络
net = train(net,p_train,t_train);
%%
% 4. 仿真测试
t_sim = sim(net,p_test);
%%
T_sim=t_sim;
%% V. 性能评价
%%
perf=perform(net,p_train,t_train);
perf1=mse(net,p_train,t_train);
% 1. 相对误差error
relative_error = abs(T_sim - T_test)./T_test;
absolute_error=abs(T_sim - T_test);
%%
% 2. 决定系数R^2
R2 = (N .* sum(T_sim(1,:) .* T_test(1,:)) - sum(T_sim(1,:)) .* sum(T_test(1,:))).^2 / ((N .* sum((T_sim(1,:)).^2) - (sum(T_sim(1,:))).^2) .* (N .* sum((T_test(1,:)).^2) - (sum(T_test(1,:))).^2));
%%
% 3. 结果对比
result = [T_test' T_sim' absolute_error' relative_error'];
error_max=sortrows(abs(relative_error'),1,'descend');
[n3,m3]=size(output);
%%
ylabelname=["回弹"];
stringname=["测试集回弹预测结果对比"];
for i=1:m3
% 2. 决定系数R^2(B站公式)
R2(i) = (N .* sum(T_sim(i,:) .* T_test(i,:)) - sum(T_sim(i,:)) .* sum(T_test(i,:))).^2/((N .* sum((T_sim(i,:)).^2) - (sum(T_sim(i,:))).^2) .* (N .* sum((T_test(i,:)).^2) - (sum(T_test(i,:))).^2));
% 2. 决定系数R^2(书上公式)
R22(i)=1-(sum((T_test(i,:)-T_sim(i,:)).^2)/sum((T_test(i,:)-mean(T_test(i,:))).^2)) ;
%% VI. 绘图
figure
plot(1:N,T_test(i,:),'b:*',1:N,T_sim(i,:),'r-o')
legend('真实值','预测值')
xlabel('预测样本')
ylabel(ylabelname(i))
string = {stringname(i);['R^2=' num2str(R2(i))]};
title(string)
end
save netBP net;
2021-1-18 10:46 上传
点击文件名下载附件
818 Bytes, 下载次数: 3
2021-1-18 10:48 上传
点击文件名下载附件
713 Bytes, 下载次数: 3
bp matlab预测结果差,BP神经网络 预测 精度差相关推荐
- bp matlab 训练参数,基于MATLABBP神经网络设计与训练.PDF
维普资讯 内蒙古科技与经济 NM G KJYJJ 基于 MATLAB的BP神经网络的设计与训练 张圣楠 ,郭文义.,肖力墉. (1.浙江大学 电气工程学院,2.浙江大学 信息学院,浙江 杭州 3100 ...
- 神经网络预测参数有哪些,神经网络预测参数包括
遗传神经网络储层参数预测 . 4.4.1网络的识别过程由于地震勘探中广泛采用三维地震.高分辨率勘探等新技术,资料处理中也引入了多种新的处理方法,使得综合提取多种地震信息成为可能,使用这些信息进行储层横 ...
- 神经网络预测结果都一样,神经网络预测结果分析
请问MATLAB中神经网络预测结果应该怎么看?求大神解答 从图中NeuralNetwork可以看出,你的网络结构是两个隐含层,2-3-1-1结构的网络,算法是traindm,显示出来的误差变化为均方误 ...
- 神经网络预测软件哪个好,神经网络预测软件下载
大神看看这是用的什么软件进行的神经网络预测,数据太清晰可见了 谷歌人工智能写作项目:神经网络伪原创 求matlab大神帮帮忙,做模糊神经网络预测 用matlabR2014a软件,可以进行BP模糊神经网 ...
- 神经网络预测参数对比图,神经网络预测结果分析
神经网络每次预测的值都不一样? 谷歌人工智能写作项目:神经网络伪原创 神经网络预测值为何全相同 最大的可能性是没有归一化写作猫.具体原因见下:下面这个是经典的Sigmoid函数的曲线图:如果不进行归一 ...
- python神经网络预测股票_用神经网络预测股票市场
作者:Vivek Palaniappan 编译:NumberOne 机器学习和深度学习已经成为定量对冲基金常用的新的有效策略,以最大化其利润.作为一名人工智能和金融爱好者,这是令人激动的消息,因为它结 ...
- 【ELAMN预测】基于Elman神经网络预测股价附matlab代码
1 简介 为了更好地把握股票价格的波动,应用了在处理序列数据输入输出具有优越性的E lman递归神经网络建立股市预测模型,并用两支股票进行了检测,检测结果说明人工神经网络应用于中国股票市场的预测是可行 ...
- 神经网络预测结果分析,神经网络怎么预测数据
神经网络为什么可以预测? 这个要视处理的问题而定,训练网络的样本是基于多少年的数据,相应预测的就是多少年的数据. 例如电力负荷预测,当进行的是短期负荷预测时,输入的样本为最近几日的负荷数据,那么预测的 ...
- 用人工智能预测彩票,利用大数据预测彩票
机器学习可以预测股票走向,靠谱么 谷歌人工智能写作项目:小发猫 有没有大佬能利用机器学习预测30天后股票涨跌情况啊,我实现不出来,头都大了? 考虑两个最简单的模型,第一个是趋势跟随,也就是正在上涨的股 ...
- 优化算法 | 基于粒子群优化算法的Bp神经网络预测21~22赛季NBA总冠军(附MATLAB代码)
文章目录 前言 一.数据准备 二.基于PSO的Bp神经网络预测 1.粒子表达方式 2.目标函数 3.粒子速度和位置的更新 三.MATLAB代码 四.预测结果 五.代码获取方式 总结 近期你可能错过了的 ...
最新文章
- 毕设开发日志2017-11-03
- Fiddler抓取https的设置
- Introduction to 3D Game Programming with DirectX 12一书学习记录(第一个例子编译错误)
- 给部署在openshift上的WordPress添加wptouch插件
- linux下g++和gcc_Linux中gcc和g ++有什么区别?
- NOIP2008 普及组T4 立体图 解题报告-S.B.S.(施工未完成)
- 高级转录组分析和R语言数据可视化第十二期 (线上线下同时开课)
- C++/C--多个vector拼接的方法【转载】
- 电脑f2还原系统步骤_详解电脑重装系统步骤
- [C++基础]039_C++异常处理初级出门+中级进阶
- Perl 监控 tomcat,可以安心回家过年了
- 自主可控计算机大会2019,荣科科技受邀参加2019自主可控计算机大会
- UVA10784 Diagonal【数学+二分查找】
- DataTable数据导出到Excel
- 使用锚标记返回网页顶部的方法
- 【纸牌识别】基于matlab形态学扑克牌识别【含Matlab源码 1352期】
- MyBatis动态SQL
- 专升本英语——应试题型突破——翻译——名言警句【学习笔记】
- 1054: 【排队买票】
- delete和delete[]引发的问题