chenzhongkuan 发表于 2007-5-11 08:05

用神经网络预测

我是用神经网络进行预测我把前10个数作为输入 第11个数作为输出   2~11作为输入 12作为输出这样训练然后进行预测但是我的预测结果和真实的数据相差特别大不知道这是什么原因   并且我的数据都是相差挺大的请各位帮帮我该怎么解决   小弟在这里先谢谢了

xjzuo 发表于 2007-5-11 08:48

请先将你的处理贴一下.

chenzhongkuan 发表于 2007-5-13 15:26

回复 #2 xjzuo 的帖子

clear all
clc

load Q.txt
for i=1:50
p(i)=mean(Q(i,:));
end

%训练数据
for i=1:30
    for j=1:30
      P(j,:)=p(j:9+j);
      T(j)=p(10+j);
    end
end
P=P';
X=p(1,41:50);
%预测数据
for i=1:10
    for j=1:10
      A(j,:)=p(30+j:39+j);
    end
end

%训练网络   {'tansig','logsig'},'trainscg','learngdm'
      net=newff(minmax(P),,{'tansig','logsig'},'trainscg','learngdm'); %建立网络;10为隐层节点数,1为输出节点数,输入节点数不需设置。
      net.trainParam.show=10;      % 显示训练步长;
      net.trainParam.goal=0.001;   % 目标误差;
      net.trainParam.epochs=2000;   % 训练最大步数;                        
      net.trainParam.lr=0.01;       % 学习速率;
      
      net=train(net,P,T);


%输出训练后的权值和阈值
iw1=net.IW{1};
b1=net.b{1};
lw2=net.LW{2};
b2=net.b{2};

%仿真预测
out=sim(net,A)

X %实际测得数据
t=1:1:10;
box off;
grid off;
plot(t,out,'b',t,X,'r');%画出二维图形
set(gca,'Xtick',0:1:10,'Ytick',0:.1:1);%设置坐标
title('基于BP网络的设备故障预测');
xlabel('预测次数');
ylabel('预测值');
text(1.5,0.65,'预测曲线(蓝)');
text(1.5,0.6,'实际曲线(红)');
%gtext('预测振动曲线(蓝)与实际测试曲线(红)比较');
%h=legend('预测振动曲线(蓝)与实际测试曲线(红)比较');
%zoom on;
%zoom(0.2);

chenzhongkuan 发表于 2007-5-13 15:27

Q数据

0.0033    0.0045    0.0055    0.0046    0.0027    0.0047
    0.0021    0.0027    0.0032    0.0028    0.0010    0.0014
    0.1092    0.1581    0.2263    0.3174    0.2785    0.5316
    0.0114    0.0156    0.0189    0.0173    0.0072    0.0107
    0.0043    0.0060    0.0082    0.0092    0.0055    0.0108
    0.0024    0.0032    0.0038    0.0033    0.0010    0.0015
    0.2961    0.4444    0.6891    1.0603    1.2704    2.5330
    0.0088    0.0118    0.0135    0.0119    0.0051    0.0084
    0.0075    0.0101    0.0119    0.0108    0.0038    0.0051
    0.0024    0.0033    0.0039    0.0037    0.0031    0.0063
    0.0022    0.0031    0.0041    0.0038    0.0015    0.0024
    0.0034    0.0046    0.0053    0.0053    0.0013    0.0015
    0.0035    0.0047    0.0052    0.0053    0.0015    0.0021
    0.3119    0.4620    0.6973    0.9798    1.0622    2.0919
    0.0057    0.0076    0.0083    0.0071    0.0023    0.0032
    0.2861    0.4100    0.5948    0.7458    0.6245    1.1257
    0.0053    0.0070    0.0078    0.0072    0.0028    0.0044
    0.0268    0.0371    0.0474    0.0427    0.0129    0.0152
    0.2618    0.3726    0.5245    0.6348    0.4335    0.7681
    0.0032    0.0042    0.0046    0.0045    0.0012    0.0016
    0.0033    0.0044    0.0049    0.0048    0.0012    0.0016
    0.0121    0.0161    0.0186    0.0159    0.0047    0.0061
    0.0226    0.0312    0.0401    0.0255    0.0128    0.0218
    0.0023    0.0031    0.0036    0.0031    0.0009    0.0013
    0.2013    0.2875    0.4186    0.5711    0.4347    0.7943
    0.0033    0.0045    0.0055    0.0046    0.0027    0.0047
    0.0021    0.0027    0.0032    0.0028    0.0010    0.0014
    0.1092    0.1581    0.2263    0.3174    0.2785    0.5316
    0.0114    0.0156    0.0189    0.0173    0.0072    0.0107
    0.0043    0.0060    0.0082    0.0092    0.0055    0.0108
    0.0024    0.0032    0.0038    0.0033    0.0010    0.0015
    0.2961    0.4444    0.6891    1.0603    1.2704    2.5330
    0.0088    0.0118    0.0135    0.0119    0.0051    0.0084
    0.0075    0.0101    0.0119    0.0108    0.0038    0.0051
    0.0024    0.0033    0.0039    0.0037    0.0031    0.0063
    0.0022    0.0031    0.0041    0.0038    0.0015    0.0024
    0.0034    0.0046    0.0053    0.0053    0.0013    0.0015
    0.0035    0.0047    0.0052    0.0053    0.0015    0.0021
    0.3119    0.4620    0.6973    0.9798    1.0622    2.0919
    0.0057    0.0076    0.0083    0.0071    0.0023    0.0032
    0.2861    0.4100    0.5948    0.7458    0.6245    1.1257
    0.0053    0.0070    0.0078    0.0072    0.0028    0.0044
    0.0268    0.0371    0.0474    0.0427    0.0129    0.0152
    0.2618    0.3726    0.5245    0.6348    0.4335    0.7681
    0.0032    0.0042    0.0046    0.0045    0.0012    0.0016
    0.0033    0.0044    0.0049    0.0048    0.0012    0.0016
    0.0121    0.0161    0.0186    0.0159    0.0047    0.0061
    0.0226    0.0312    0.0401    0.0255    0.0128    0.0218
    0.0023    0.0031    0.0036    0.0031    0.0009    0.0013
    0.2013    0.2875    0.4186    0.5711    0.4347    0.7943

chenzhongkuan 发表于 2007-5-13 15:27

回复 #2 xjzuo 的帖子

我的怎么误差这么大呀

xjzuo 发表于 2007-5-13 16:24

运行了一下,收敛.
而且误差好象并不大.不知你要达到什么精度?
要提高精度可修改goal,或者改用newrbe.
页: [1]
查看完整版本: 用神经网络预测