% Procedura OUTPUTOLST
% ********************
% YDEP [YPOZ] ... vektor zavisle promenne
% XIND [XPOZ] ... matice nezavisle promennych
% BETA [BPAR] ... vektor regresnich koeficientu

  NOB1=NOBD-1;
  NOB2=NOBD-2;
  YDEP=YPOZ; 
  XIND=XPOZ;
  TBET=zeros(1,KPRO);
  
% ODHAD REGRESNICH KOEFICIENTU METODOU OLS [BETA]
  XMAT=XIND'*XIND;
  
  YVEK=XIND'*YDEP;
  INVX=inv(XMAT);
  BETA=INVX*YVEK;

% VYROVNANE HODNOTY [YVYR]
  YVYR=XIND*BETA;

% ODHADNUTA REZIDUA [URTR] A SOUCET JEJICH CTVERCU [UR2TR]
  URTR=YDEP-YVYR;
  UR2TR=0;
  for I = 1:NOBD,
   UR2TR=UR2TR+URTR(I)*URTR(I);
  end

% ODHAD REZIDUALNIHO ROZPTYLU [SIGMA2]
  SIG2=UR2TR/NOB1;
  SIGT=sqrt(SIG2);
  
% SMERODATNE ODCHYLKY PARAMETRU [SBET] A T-STATISTIKY [TBET]
  DIAX=diag(INVX);
  SBET=SIGT*sqrt(DIAX);
   for J = 1:KPRO,
    TBET(J)=BETA(J)/SBET(J);
   end
   
% ZOBRAZENI MEZIVYSLEDKU [parametry]
  disp('   regresni parametry')
  disp([BETA'])
  disp('   smerodatne odchylky parametru')
  disp([SBET'])
  disp('   t-statistiky parametru')
  disp([TBET]) 
% pause

% KOEFICIENT DETERMINACE [R2]
  YPR=mean(YDEP);
  YDEV=YDEP-YPR;
  YDEV2=YDEV'*YDEV;
  R2=1.-UR2TR/YDEV2;

% DURBIN-WATSONUV KOEFICIENT [DW]
   for I = 1:NOB1,
    URTRD(I)=URTR(I+1)-URTR(I);
   end
  URTRD2=URTRD*URTRD';
  DW=URTRD2/UR2TR;

% von NEUMANNUV POMER [VN]
  VN=DW*NOBD/(NOBD-KPRO);

% ZOBRAZENI MEZIVYSLEDKU [vystiznost modelu]
  disp('   rezidualni chyba  koef.determinace')
  disp([   SIGT                 R2])

% ZOBRAZENI CHARAKTERISTIK PRIPADNE AUTOKORELACE REZIDUI
  disp('   Durbin-Watson  von Neumannuv pomer')
  disp([   DW                   VN])
  
% return
  
% Klasický F-TEST výstiznosti modelu jako celku F=(Q/k)/(SSE/(T-k))
%  BETC = [ 0 0 ]';
%  PX=(BETA-BETC)'*XMAT*(BETA-BETC)/KPRO;
  PX=(BETA)'*XMAT*(BETA)/KPRO;
  QX=URTR'*URTR/(NOBD-KPRO);
  FX=PX/QX;
  FT90=finv(0.90,KPRO,NOBD-KPRO);
  FT95=finv(0.95,KPRO,NOBD-KPRO);
  FT99=finv(0.99,KPRO,NOBD-KPRO);
  disp('   F-test miry shody modelu s daty ' )
  disp('   krit.hodnoty na hladine významnosti : ')
  disp('   F-stat      90%       95%       99% ')
  disp([     FX      FT90      FT95      FT99])
  disp('   *********************************** ' )
 
% GRAF pozorovanych, vyrovnanych a rezidualnich hodnot [YPOZ,YVYR,UREZ]

  figure
  plot(T,YPOZ,T,YVYR,T,URTR)
  legend('pozorovane','vyrovnane','rezidua')
  title ('Kvantifikace OLS : Pozorovane a vyrovnane hodnoty, rezidua rovnice')
  pause
  figure
  plot(T,URTR)
  legend('Casovy prubeh rezidui')
  title ('Kvantifikace OLS : rezidua rovnice')

%  return
