我有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神经网络 预测 精度差相关推荐

  1. bp matlab 训练参数,基于MATLABBP神经网络设计与训练.PDF

    维普资讯 内蒙古科技与经济 NM G KJYJJ 基于 MATLAB的BP神经网络的设计与训练 张圣楠 ,郭文义.,肖力墉. (1.浙江大学 电气工程学院,2.浙江大学 信息学院,浙江 杭州 3100 ...

  2. 神经网络预测参数有哪些,神经网络预测参数包括

    遗传神经网络储层参数预测 . 4.4.1网络的识别过程由于地震勘探中广泛采用三维地震.高分辨率勘探等新技术,资料处理中也引入了多种新的处理方法,使得综合提取多种地震信息成为可能,使用这些信息进行储层横 ...

  3. 神经网络预测结果都一样,神经网络预测结果分析

    请问MATLAB中神经网络预测结果应该怎么看?求大神解答 从图中NeuralNetwork可以看出,你的网络结构是两个隐含层,2-3-1-1结构的网络,算法是traindm,显示出来的误差变化为均方误 ...

  4. 神经网络预测软件哪个好,神经网络预测软件下载

    大神看看这是用的什么软件进行的神经网络预测,数据太清晰可见了 谷歌人工智能写作项目:神经网络伪原创 求matlab大神帮帮忙,做模糊神经网络预测 用matlabR2014a软件,可以进行BP模糊神经网 ...

  5. 神经网络预测参数对比图,神经网络预测结果分析

    神经网络每次预测的值都不一样? 谷歌人工智能写作项目:神经网络伪原创 神经网络预测值为何全相同 最大的可能性是没有归一化写作猫.具体原因见下:下面这个是经典的Sigmoid函数的曲线图:如果不进行归一 ...

  6. python神经网络预测股票_用神经网络预测股票市场

    作者:Vivek Palaniappan 编译:NumberOne 机器学习和深度学习已经成为定量对冲基金常用的新的有效策略,以最大化其利润.作为一名人工智能和金融爱好者,这是令人激动的消息,因为它结 ...

  7. 【ELAMN预测】基于Elman神经网络预测股价附matlab代码

    1 简介 为了更好地把握股票价格的波动,应用了在处理序列数据输入输出具有优越性的E lman递归神经网络建立股市预测模型,并用两支股票进行了检测,检测结果说明人工神经网络应用于中国股票市场的预测是可行 ...

  8. 神经网络预测结果分析,神经网络怎么预测数据

    神经网络为什么可以预测? 这个要视处理的问题而定,训练网络的样本是基于多少年的数据,相应预测的就是多少年的数据. 例如电力负荷预测,当进行的是短期负荷预测时,输入的样本为最近几日的负荷数据,那么预测的 ...

  9. 用人工智能预测彩票,利用大数据预测彩票

    机器学习可以预测股票走向,靠谱么 谷歌人工智能写作项目:小发猫 有没有大佬能利用机器学习预测30天后股票涨跌情况啊,我实现不出来,头都大了? 考虑两个最简单的模型,第一个是趋势跟随,也就是正在上涨的股 ...

  10. 优化算法 | 基于粒子群优化算法的Bp神经网络预测21~22赛季NBA总冠军(附MATLAB代码)

    文章目录 前言 一.数据准备 二.基于PSO的Bp神经网络预测 1.粒子表达方式 2.目标函数 3.粒子速度和位置的更新 三.MATLAB代码 四.预测结果 五.代码获取方式 总结 近期你可能错过了的 ...

最新文章

  1. 毕设开发日志2017-11-03
  2. Fiddler抓取https的设置
  3. Introduction to 3D Game Programming with DirectX 12一书学习记录(第一个例子编译错误)
  4. 给部署在openshift上的WordPress添加wptouch插件
  5. linux下g++和gcc_Linux中gcc和g ++有什么区别?
  6. NOIP2008 普及组T4 立体图 解题报告-S.B.S.(施工未完成)
  7. 高级转录组分析和R语言数据可视化第十二期 (线上线下同时开课)
  8. C++/C--多个vector拼接的方法【转载】
  9. 电脑f2还原系统步骤_详解电脑重装系统步骤
  10. [C++基础]039_C++异常处理初级出门+中级进阶
  11. Perl 监控 tomcat,可以安心回家过年了
  12. 自主可控计算机大会2019,荣科科技受邀参加2019自主可控计算机大会
  13. UVA10784 Diagonal【数学+二分查找】
  14. DataTable数据导出到Excel
  15. 使用锚标记返回网页顶部的方法
  16. 【纸牌识别】基于matlab形态学扑克牌识别【含Matlab源码 1352期】
  17. MyBatis动态SQL
  18. 专升本英语——应试题型突破——翻译——名言警句【学习笔记】
  19. 1054: 【排队买票】
  20. delete和delete[]引发的问题

热门文章

  1. 网络安全-应急响应之入侵排查篇及相关工具
  2. WIN10系统安装visio2016失败后修改系统设置,安全
  3. 第七章_生成对抗网络(GAN)
  4. 后台管理系统--毕业设计02
  5. linux拷贝依赖库到指定目录,Linux 批量依赖库拷贝(ldd)
  6. Android框架揭秘-Android Binder IPC笔记
  7. Proxy server got bad address from remote server
  8. cadence菜鸟之旅
  9. MIUI刷第三方rec教程(回退系统)
  10. Windows10的启动项管理