Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2020
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scilab 2.15 KB | None | 0 0
  1. //20.12.2016
  2. //Najswieższe na początku - odwrocic
  3.  
  4. load('dane_wejsc');
  5.  
  6. //odwroc
  7. [wie,ko]=size(USA);
  8.  
  9. for i=1:wie
  10. zl(wie+1-i)=USA(i)
  11. end
  12.  
  13. //nie odwrócone
  14. //zl=USA;
  15.  
  16. //Normalizacja
  17. Dmax=max(zl);
  18. Dmin=min(zl);
  19. zl=(zl-Dmin)/(Dmax-Dmin);
  20. //zl=zl/1000;
  21.  
  22. //[wie,ko]=size(zl);
  23. // normalizacja elementow ciagu uczacego
  24. //for i=1:ko
  25. //    zl(:,i)=zl(:,i)/sqrt(zl(:,i)'*zl(:,i));
  26. //end;       
  27.  
  28. //liczbaokresówwprzód
  29. n=30; //zasięg prognozy
  30. k=50; //rząd predykcji
  31.  
  32. //Wypełnianiemacierzy
  33. [wie,ko]=size(zl);
  34. ko
  35. U=[];
  36. Z=[];
  37.  
  38. for i=1:wie-k-n+1
  39. U=[U zl(i:i+k-1)];
  40. Z=[Z zl(i+k:i+k+n-1)];
  41. end;
  42.  
  43.  
  44. C=[];
  45. C=[C zl(wie-n:wie)];
  46.  
  47. exec("ann_FF_init.sci");
  48. exec("ann_FF_Mom_online.sci");
  49. exec("ann_d_sum_of_sqr.sci");
  50. exec("ann_d_log_activ.sci");
  51. exec("ann_FF_run.sci");
  52. exec("ann_log_activ.sci"); 
  53. exec("ann_tan_activ.sci");
  54. exec("ann_d_tan_activ.sci");
  55.  
  56. [liczba_wejsc, liczba_wzorcow]=size(U);
  57. [liczba_wyjsc, liczba_wzorcow]=size(Z);
  58. N=[liczba_wejsc 20 10 liczba_wyjsc];
  59.  
  60. r=[0,1];
  61. rb=[0,0];
  62.  
  63.  
  64. W=ann_FF_init(N,r,rb);
  65. //load('dax-rzad-50-pred-20-duza-siec');
  66. sW=W;
  67.  
  68.  
  69.  
  70. //parametry uczenia - uczenie
  71. lp=[0.05 0.05 0.5 0.1];
  72.  
  73. af = ['ann_log_activ','ann_d_log_activ'];
  74. //af = ['ann_tan_activ','ann_d_tan_activ'];
  75.  
  76. for i=1:30
  77.  
  78. T=100;
  79. //[W,sW]=ann_FF_Mom_online(U,Z,N,W,lp,T,sW,af);
  80. [W,sW]=ann_FF_Mom_online(U,Z,N,W,lp,T);
  81.  
  82.  
  83. //testowanie
  84.  
  85. l = [2,size(N,'c')];
  86. //Y=ann_FF_run(U,N,W,l,'ann_tan_activ');
  87. Y=ann_FF_run(U,N,W);
  88.  
  89. // Wyznaczzenie SSE
  90.          delta=Y-Z
  91.          [wie,ko]=size(delta);
  92.          //disp(delta)
  93.          suma=0
  94.          sse=0
  95.          for l=1:wie
  96.               for i= 1:ko
  97.                  suma=suma+ delta(l,i)*delta(l,i)
  98.               end
  99.           end
  100.          sse=suma/(ko*wie)
  101.          disp('SSE: '   +  string(sse))
  102.  
  103. end;
  104. //save('test_dax-rzad-50-pred-20-duza-siec', 'W');
  105. //figure;
  106.  
  107. plot(Z(n,:), 'k');
  108. plot(Y(n,:), 'r');
  109.  
  110. [wie,ko]=size(zl);
  111. utest=zl(wie-k+1:wie);
  112. Q=ann_FF_run(utest,N,W);//symulacja
  113. //prog=[zl(wie) Q'];
  114. prog=[utest(k) Q'];
  115. prog1= prog*(Dmax-Dmin)+Dmin;
  116. progC1= C*(Dmax-Dmin)+Dmin;
  117. figure
  118. plot(prog1,'r');
  119. plot(progC1','b');
  120. //prog1= prog*(Dmax-Dmin)+Dmin
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement