BookmarkSubscribeRSS Feed
FeiGu
Calcite | Level 5

Hi,

Can someone help me verify that the following code generate a bivariate vector "z" that follows a VAR(2) structure? The first AR matrix is

0.6  0.0

0.0  0.6

and the second AR matrix is

0.18  0.00

0.00  0.18

This vector series also has a linear time trend with coefficient vector, g =

0.3

0.5

Thanks!

Fei

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PROC IML;

mean_eta  = J(1,2,0);

sigma_eta = {1.0 0.5,

                    0.5 1.0};

eta       = randnormal(300,Mean_eta,Sigma_eta);

f    ={

0.6  0.0,

0.0  0.6};

g    = {0.3, 0.5};

t    = T(do(1,300,1));

z = J(300,2,0);

do i = 3 to 300;

  z[i,] = T( f*T(z[i-1,]) + 0.3#f*T(z[i-2,]) + g*t ) + eta[i,];

end;

Quit;

1 REPLY 1
udo_sas
SAS Employee

Hello -

This might give you some ideas:

Taken from http://support.sas.com/documentation/cdl/en/etsug/60372/HTML/default/viewer.htm#etsug_varmax_sect003...:

The following IML procedure statements simulate a bivariate vector time series from this model to provide test data for the VARMAX procedure:

   proc iml;
      sig = {1.0  0.5, 0.5 1.25};
      phi = {1.2 -0.5, 0.6 0.3};
      /* simulate the vector time series */
      call varmasim(y,phi) sigma = sig n = 100 seed = 34657;
      cn = {'y1' 'y2'};
      create simul1 from y[colname=cn];
      append from y;
   quit;

Thanks,

hackathon24-white-horiz.png

The 2025 SAS Hackathon Kicks Off on June 11!

Watch the live Hackathon Kickoff to get all the essential information about the SAS Hackathon—including how to join, how to participate, and expert tips for success.

YouTube LinkedIn

Discussion stats
  • 1 reply
  • 1148 views
  • 0 likes
  • 2 in conversation