Vector AR(1) Estimation
/*--------------------------------------------------------------
SAS Sample Library
Name: modex03.sas
Description: Example program from SAS/ETS User's Guide,
The MODEL Procedure
Title: Vector AR(1) Estimation
Product: SAS/ETS Software
Keys: nonlinear simultaneous equation models
PROC: MODEL
Notes:
--------------------------------------------------------------*/
data grunfeld;
input year gei gef gec whi whf whc;
label gei = 'Gross Investment GE'
gec = 'Capital Stock Lagged GE'
gef = 'Value of Outstanding Shares GE Lagged'
whi = 'Gross Investment WH'
whc = 'Capital Stock Lagged WH'
whf = 'Value of Outstanding Shares Lagged WH';
datalines;
1935 33.1 1170.6 97.8 12.93 191.5 1.8
1936 45.0 2015.8 104.4 25.90 516.0 .8
1937 77.2 2803.3 118.0 35.05 729.0 7.4
1938 44.6 2039.7 156.2 22.89 560.4 18.1
1939 48.1 2256.2 172.6 18.84 519.9 23.5
1940 74.4 2132.2 186.6 28.57 628.5 26.5
1941 113.0 1834.1 220.9 48.51 537.1 36.2
1942 91.9 1588.0 287.8 43.34 561.2 60.8
1943 61.3 1749.4 319.9 37.02 617.2 84.4
1944 56.8 1687.2 321.3 37.81 626.7 91.2
1945 93.6 2007.7 319.6 39.27 737.2 92.4
1946 159.9 2208.3 346.0 53.46 760.5 86.0
1947 147.2 1656.7 456.4 55.56 581.4 111.1
1948 146.3 1604.4 543.4 49.56 662.3 130.6
1949 98.3 1431.8 618.3 32.04 583.8 141.8
1950 93.5 1610.5 647.4 32.24 635.2 136.7
1951 135.2 1819.4 671.3 54.38 723.8 129.7
1952 157.3 2079.7 726.1 71.78 864.1 145.5
1953 179.5 2371.6 800.3 90.08 1193.5 174.8
1954 189.6 2759.9 888.9 68.60 1188.9 213.5
;
title1 'Example of Vector AR(1) Error Process Using Grunfeld''s Model';
/* Note: GE stands for General Electric
WH stands for Westinghouse */
proc model outmodel=grunmod;
var gei whi gef gec whf whc;
parms ge_int ge_f ge_c wh_int wh_f wh_c;
label ge_int = 'GE Intercept'
ge_f = 'GE Lagged Share Value Coef'
ge_c = 'GE Lagged Capital Stock Coef'
wh_int = 'WH Intercept'
wh_f = 'WH Lagged Share Value Coef'
wh_c = 'WH Lagged Capital Stock Coef';
gei = ge_int + ge_f * gef + ge_c * gec;
whi = wh_int + wh_f * whf + wh_c * whc;
run;
title2 'With Unrestricted Vector AR(1) Error Process';
proc model data=grunfeld model=grunmod;
%ar( ar, 1, gei whi )
fit gei whi / sur;
run;
title2 'With restricted AR(1) Error Process';
proc model data=grunfeld model=grunmod;
%ar( gei, 1 )
%ar( whi, 1)
fit gei whi / sur;
run;