Resources

Getting Started Example for PROC STATESPACE

/*--------------------------------------------------------------

                    SAS Sample Library

        Name: stags.sas
 Description: Example program from SAS/ETS User's Guide,
              The STATESPACE Procedure
       Title: Getting Started Example for PROC STATESPACE
     Product: SAS/ETS Software
        Keys: multivariate time series, state space model
        PROC: STATESPACE
       Notes:

--------------------------------------------------------------*/

data in;
   x=10;  y=40;
   x1=0; y1=0;
   a1=0; b1=0;
   iseed=123;
   do t=-100 to 200;
      a=rannor(iseed);
      b=rannor(iseed);
      dx = 0.5*x1 + 0.3*y1 + a - 0.2*a1 - 0.1*b1;
      dy = 0.3*x1 + 0.5*y1 + b;
      x = x + dx + .25;
      y = y + dy + .25;
      if t >= 0 then output;
      x1 = dx; y1 = dy;
      a1 = a; b1 = b;
   end;
   keep t x y;
run;

proc sgplot data=in noautolegend;
   series x=t y=x / markers
    markerattrs=(symbol=circlefilled color=blue)
    lineattrs=(color=blue pattern=solid);
  series x=t y=y / markers
   markerattrs=(symbol=circlefilled color=blue)
   lineattrs=(color=blue pattern=solid);
run;


proc statespace data=in out=out lead=10;
   var x(1) y(1);
   id t;
run;

proc print data=out;
   id t;
   where t > 190;
run;

proc sgplot data=out noautolegend;
   where t > 150;
   series x=t y=for1 / markers
    markerattrs=(symbol=circle color=blue)
    lineattrs=(pattern=solid color=blue);
  series x=t y=for2 / markers
   markerattrs=(symbol=circle color=blue)
   lineattrs=(pattern=solid color=blue);
  series x=t y=x / markers
   markerattrs=(symbol=circle color=red)
   lineattrs=(pattern=solid color=red);
  series x=t y=y / markers
   markerattrs=(symbol=circle color=red)
   lineattrs=(pattern=solid color=red);
  refline 200.5 / axis=x;
run;

proc statespace data=in out=out lead=10;
   var x(1) y(1);
   id t;
   form x 2 y 1;
   restrict f(2,3)=0;
run;

proc statespace data=in out=out lead=10 cancorr;
   var x(1) y(1);
   id t;
run;