24小时热门版块排行榜    

查看: 630  |  回复: 0

xiaozhu0376

新虫 (初入文坛)

[求助] 神经网络求助:为什么用样本训练后模拟的结果与实测值有一个相位差

神经网络求助:为什么用样本训练后模拟的结果与实测值有一个相位差。
      我用前三个月的值作为预报因子来预报下个月的值,用训练的样本进行模拟,但结果与样本有一个月的相位差,为什么会这样?下面是我编写的程序,有没有大神帮忙解决下啊,跪谢了!!!
% ANN
% JDI干旱指数值
% 用前三个月的JDI值作为预报因子,预报下个月的JDI值
a=0.1;
b=0.9;
data_trn=JDI(1:end-12);% 训练数据
data_vad=JDI(end-11:end);% 模型检验
fmin=min(data_trn);
fmax=max(data_trn);
X=a+(data_trn-fmin)/(fmax-fmin)*(b-a);% 数据归一化处理
x1=X(1:end-3)';
x2=X(2:end-2)';
x3=X(3:end-1)';
x=[x1;x2;x3];
y=X(4:end)';
% net=init(net);
net=newff(minmax(x),[3,8,1],{'purelin','tansig','purelin'}');
net.trainParam.epochs=1000;
net.trainParam.goad=0.001;
net.trainFcn='traingdx';
[net,tr,Y,E]=train(net,x,y);
% xsim=[X(1:end-2)';X(2:end-1)';X(3:end)'];
xsim=x;
ysim=sim(net,xsim);% 一步预测
result=((ysim-a)/(b-a))*(fmax-fmin)+fmin;
% A=[[data_trn(4:end);data_vad(1)],result(1:end)'];
A=[data_trn(4:end),result(1:end)'];
B=[y',ysim'];
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xiaozhu0376 的主题更新
信息提示
请填处理意见