|
你好,我也要用SAS实现VAR模型请问你用VARMAX怎么做的?代码是什么?我这里有好多代码但看不懂,你能给我解释一下吗?我的数据是南宁北海的从08-14年的季度GDP数据,然后下面的代码不是很理解能给我解释下吗?我也想用VARMAX实现但不会代码。
data jdgdp;
set 'F:\毕设\SAS\jdgdp';
proc contents data=jdgdp;
options nolabel;
proc means data=jdgdp;
run;
data jdgdp;
set jdgdp;
dNN = NN - lag(NN);
dBH = BH - lag(BH);
retain date '1oct92'd;
date=intnx('qtr',date,_n_-1);
format date yyqc.;
year = 1993 + int((_n_-1)/4);
qtr = mod(_n_-1,4) + 1;
run;
symbol1 value=point interpol=join;
legend1 label=none
position=(top center inside)
mode=share;
proc gplot data=jdgdp;
plot NN*date BH*date / hminor=1 overlay legend=legend1;
plot dNN*date dBH*date / hminor=1 vref=0 overlay legend=legend1;
run;
% dftest (jdgdp,NN,ar=2,trend=2,outstat=df5);
proc print data=df5;
run;
% dftest (jdgdp,BH,ar=3,trend=2,outstat=df6);
proc print data=df6;
run;
% dftest (jdgdp,dNN,ar=4,trend=1,outstat=df5);
proc print data=df5;
run;
% dftest (jdgdp,dBH,ar=5,trend=1,outstat=df6);
proc print data=df6;
run;
ods graphics on;
proc autoreg data=jdgdp;
model NN = BH;
output out=jdgdpout r=ehat;
run;
ods graphics off;
data jdgdpout;
set jdgdpout;
ehat_1 = lag(ehat);
dehat = ehat - lag(ehat);
run;
proc autoreg data=jdgdpout;
model dehat = ehat_1 / noint;
run;
data jdgdp;
set jdgdp;
dNN = NN - lag(NN);
dBH = BH - lag(BH);
dNN_1 = lag(NN) - lag2(NN);
dBH_1 = lag(BH) - lag2(BH);
run;
proc autoreg data=jdgdp;
model dBH = dBH_1 dNN_1;
run;
proc autoreg data=jdgdp;
model dNN = dBH_1 dNN_1;
run;
|