MATLAB使用BP神經網路進行資料預測
阿新 • • 發佈:2019-01-10
具體見這篇部落格。P=[93 260.5 -52 -0.07 1.216 3621 139 29 6.142 100 252.45 -48 -0.04 0.925 3600 142 27.5 5.068 121 241.52 -45 -0.02 1.113 3563 133 31.7 5.196 142 238.13 -42 -0.07 0.823 3512 127 34.1 6.362 139 196.32 -39 -0.07 0.635 3508 125 31.54 6.472 149 172.41 -37 -0.21 0.542 3502 123 30.17 6.578 168 161.9 -33 -0.8 0.3 3500 116 29.53 6.351 179 157.53 -31 -1.9 0.5 3500 132 33.42 7.307 173 154.32 -29 -2.4 0.436 2976 118 29.14 7.659 176 148.29 -34 -2.1 0.516 2984 114 28.52 7.435 183 146.74 -26 -2.52 0.5 2966 102 27.75 8 186 142.98 -24 -2.64 0.3 2966 97 26.36 8.934 192 139.24 -23 -2.68 0.3 2595 91 22.19 9.215 196 132.52 -19 -2.71 0.623 2576 93 19.52 9.612 ] P=P' % 保證輸入的P是每行對應一個指標 T=[2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004 2003 2002 ] T=T' % 神經網路輸出結果為一行 [p1,minp,maxp,t1,mint,maxt]=premnmx(P,T); net=newff(minmax(P),[8,6,1],{'tansig','tansig','purelin'},'trainlm'); net.trainParam.epochs = 5000; net.trainParam.goal=0.0000001; [net,tr]=train(net,p1,t1); a=[80; 270.4;-64;-0.05;1.374;3711;141;26;6.153]; %輸入資料 a=premnmx(a); %歸一化 b=sim(net,a); c=postmnmx(b,mint,maxt); % 反歸一化 c c = 2.0072e+03