神经网络 预测不对 跪求
神经网络预测问题,预测未来值,sim()后得到的ann值大小相近,且反一化得到的结果不对,误差太大,但是数据范围内的值,经过系统得到的误差很小,我实在不会,求大神指点!!
p=[1 19 21 24 25 29 30 31 32 34 35 36 37 38 39 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100];
t=[-196.06 300.46 443.45 477.19 558.24 815.88 764.42 1066.4 1032.6 1347.4 1240.3 1508.6 1523.8 1293.9 1268.6 1586.9 1583.3 1891 2142.2 1890.9 1930.8 2122.9 2368.6 2211.6 2251.7 2532 2643.1 2838.9 2764.7 2947 3009.5 3180.8 3564 3322.9 4025.7 3740.3 3633.3 3914 3929.4 4251.3 4384.2 4390 4215.4 4716.1 5097.6 5141.8 4850.5 5244.9 5290.3 5381.2 5496.2 5902.2 5936.4 6173.3 6260.7 6404.5 6705.9 6929.4 7326.2 6915.7 7141.5 7657.1 7593 7603.7 8064.6 8451 8492 8884.4 8828.1 9242.9 9065.3 9123.9 9472.8 9902.5 9715.9];
ptest=[10.5 30.5 40.8 60.5 70.2 82.5 85.2 90.3 100 100.2 101.4];
[pn,minp,maxp,tn,mint,maxt]=premnmx(p,t);
NodeNum1 =1;
TypeNum = 1;
TF1 = 'tansig';
TF2 = 'tansig';
net=newff(minmax(pn),[NodeNum1,TypeNum],{TF1 TF2},'trainlm');
net.trainParam.epochs=2000;
net.trainParam.goal=1e-4;
net=train(net,pn,tn);
[p2n]=tramnmx(ptest,minp,maxp);
an=sim(net,p2n);
[ann]=postmnmx(an,mint,maxt);
figure
plot(p,t,'.',ptest,ann,'r+');
title('+表示预测值--- .表示实际值')