求大神帮忙用matlab程序做BP神经网络预测

2024-05-17 22:28

1. 求大神帮忙用matlab程序做BP神经网络预测

1、样本数据太少,用BP网络预测可能并非好选择。说不定用一般的回归分析效果更好。
2、要对Y进行预测,需要知道2015年的影响因素X1~X7才行吧?
 
BP神经网络的参考程序:
data = [ ...    2009 2102.13 108.69 1104.99 888.45 700.6 64.28 8204.5 17502.1    2010 2701.61 132.74 1456.64 1121.64 839.02 99.58 9100 20760.52    2011 3636.62 208.22 2002.1 1426.29 1111.12 123.09 10086.88 29286.8    2012 4164.32 229.05 2303.9 1631.37 1293.62 176.42 12005.115 33720.1    2013 4672.91 247.21 2583.75 1841.95 1480.84 181.9 13136.77 39131    2014 5157.97 257.63 2872.01 2028.33 1666.75 200.87 15110 42194    ];year = data(:,1);p = data(:,2:8).';t = data(:,9).';net = newff(p,t,10);net = train(net,p,t);y1 = sim(net,p(:,end))由于没有2015年的X1~X7数据,最后一句用2014年的数据进行测试。
 
如果用多元线性回归:
c=regress(t',p')y2=c'*p(:,end)由于样本数量太少(少于影响因素的数量),这种情况下,实际上回归的结果可以几乎没有误差(只有数值误差)。当然,用于预测是否准确要另当别论。

求大神帮忙用matlab程序做BP神经网络预测

2. 怎样用Matlab的BP神经网络预测后五年的工资

由于你没有给出几年来工资数,无法为你预测后五年的工资。现给你一个例子,希望对你有点启发。已知2009年至2014年的某地区人口总数3583,4150,5062,4628,5270,5340;现要预测2015年和2016年的人口总数。
% 清空环境变量
clear all;close all;clc
t=2009:2014;
% x为原始序列(行向量)
x=[3583 4150 5062 4628 5270 5340];
% 自回归阶数
lag=2; 
%预测年份或某一时间段
t1=2015:2016;
%预测步数为fn
fn=length(t1);     
[f_out,iinput]=BP(x,lag,fn);   %BP神经网络函数
n1=length(t1);
P=vpa(f_out,5);
[t1' P']
% 画出预测图
figure,plot(2009:2014,iinput,'b'),hold on
plot(2014:2016,[iinput(end),f_out],'r'),grid on
title('BP神经网络预测某地区人口数')

如有问题,可以私聊或通过其他方式讨论。

3. 如何利用matlab进行神经网络预测

matlab 带有神经网络工具箱,可直接调用,建议找本书看看,或者MATLAB论坛找例子。
核心调用语句如下:
%数据输入
 
%选连样本输入输出数据归一化
[inputn,inputps]=mapminmax(input_train);
[outputn,outputps]=mapminmax(output_train);
%% BP网络训练
% %初始化网络结构
net=newff(inputn,outputn,[8 8]);
net.trainParam.epochs=100;
net.trainParam.lr=0.01;
net.trainParam.goal=0.01;
%网络训练
net=train(net,inputn,outputn);
%% BP网络预测
%预测数据归一化
inputn_test=mapminmax('apply',input_test,inputps);
 %网络预测输出
an=sim(net,inputn_test);
 %网络输出反归一化
BPoutput=mapminmax('reverse',an,outputps);
%% 结果分析

如何利用matlab进行神经网络预测

4. matlab7.0做BP神经网络预测,精度怎么看?

应该是点performance那个按钮,显示一个误差下降曲线图。

事实上,不需过分关注这条曲线,除非是研究改进算法提高收敛速度的。一般关注网络的实际训练效果,以及实际应用能力,如预测能力等。

BP(Back Propagation)神经网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hidden layer)和输出层(output layer)。

5. 用matlab中bp神经网络实现由输入值预测输出值的程序

给你个例子如下,
net=newff(inputn,outputn,[8,4],{'tansig','purelin'},'trainscg');%初始化网络结构
%网络参数配置(迭代次数、学习率、目标)
net.trainParam.epochs=3000;
net.trainParam.lr=0.08;
net.trainParam.goal=0.05;
net.divideFcn = '';
[net,tr]=train(net,inputn,outputn);%网络训练
%网络预测输出
an=sim(net,inputn_test);
 
不过只了解输入预测输出,这些还不够,还要看你的输入数据的量,来确定隐含层,还需要看数据是不是归一化,我专门做神经网络的预测工作,可否加QQ探讨一下?

用matlab中bp神经网络实现由输入值预测输出值的程序

6. 用matlab软件预测一组数据未来走势,用到了BP神经网络法,请问如何在matlab里输入程序代码?多谢各位。

如果程序语句较少,可在命令窗中提示符后直接输入,回车就显示结果。如果程序语句较多,可写成m文件,保存后,运行,就会在命令窗中显示结果。你要预测趋势,应属于后一种。

7. 谁能帮我用matlab编写一个根据股票历史数据,用BP神经网络预测股票的程序 谢谢了 神人

这个 我可以帮你写啊 ,怎么联系你啊 BP网络 我精通

谁能帮我用matlab编写一个根据股票历史数据,用BP神经网络预测股票的程序 谢谢了 神人

8. MATLAB里bp神经网络怎么做滚动预测

nftool 有图形界面,  最后有代码自动生成!
MATLAB7.0 是没有的! 7.11有