Lampiran 3 Program Macro SAS 9.3 Perbandingan Kinerja Model Ordo Waktu Sama
MACRO PERBANDINGAN;
DO UL=
1 TO
100 ;
DATA Lokasi_1; Zt_1=RANNOR
; DO i= -
50 TO
100 ;
TIME=i; et=RANNOR
; Zt1=
0.6
Zt_1+et; IF i
THEN OUTPUT; Zt_1=Zt1;
END; RUN;
DATA Lokasi_2; Zt_1=RANNOR
; DO i= -
50 TO
100 ;
TIME=i; et=RANNOR
; Zt2=
0.7
Zt_1+et; IF i
THEN OUTPUT; Zt_1=Zt2;
END; RUN;
DATA Lokasi_3; Zt_1=RANNOR
; DO i= -
50 TO
100 ;
TIME=i; et=RANNOR
; Zt3=
0.8 Zt_1+et;
IF i THEN OUTPUT;
Zt_1=Zt3; END;
RUN; DATA LOKASI_KORELASI;
MERGE LOKASI_1 LOKASI_2 LOKASI_3;
RUN; PROC IML;
USE LOKASI_KORELASI; READ ALL VAR{Zt1 Zt2 Zt3} INTO
Zt; K={
1.00 0.25
0.85 ,
0.25 1.00
0.70 ,
0.85 0.70
1.00
}; C=rootK;
Y=ZtC; N=NROWY;
T=
1 :N;
Y1=Y[, 1
]; Y2=Y[,
2
]; Y3=Y[,
3 ];
CREATE SPACE VAR{T Y1 Y2 Y3}; APPEND;
QUIT; DATA SPACE_1;
SET SPACE; IF
1 = T =
90 THEN OUTPUT SPACE_1;
RUN; DATA RAMAL_SPACE_1;
SET SPACE; IF
91 = T =
100 THEN OUTPUT
RAMAL_SPACE_1; RUN;
PROC ARIMA DATA=SPACE_1; IDENTIFY VAR=Y1 MINIC
STATIONARITY=adf=
1
NLAG=
15
SCAN; ESTIMATE P=
1 NOINT NOPRINT;
FORECAST LEAD= 10
OUT=DUGAAN1 NOPRINT;
RUN; PROC IML;
USE RAMAL_SPACE_1; READ ALL VAR{Y1} INTO Y_AKTUAL;
USE DUGAAN1; READ ALL VAR{FORECAST} INTO Y_DUGA;
Y_DUGA=Y_DUGA[
91
:
100
,]; e=ABSY_AKTUAL-Y_DUGA;
SSE=e`e; N=NROWY_DUGA;
RMSE_LOKASI1=SQRT
1
NSSE; CREATE RMSE_AR_LOK1
VAR{RMSE_LOKASI1}; APPEND;
QUIT; DATA SPACE_2;
SET SPACE; IF
1 = T =
90 THEN OUTPUT SPACE_2;
RUN; DATA RAMAL_SPACE_2;
SET SPACE; IF
91 = T =
100 THEN OUTPUT
RAMAL_SPACE_2; RUN;
PROC ARIMA DATA=SPACE_2; IDENTIFY VAR=Y2 MINIC
STATIONARITY=adf=
1 NLAG=
15 SCAN;
ESTIMATE P=
1
NOINT NOPRINT; FORECAST LEAD=
10 OUT=DUGAAN2
NOPRINT; RUN;
PROC IML; USE RAMAL_SPACE_2;
READ ALL VAR{Y2} INTO Y_AKTUAL; USE DUGAAN2;
READ ALL VAR{FORECAST} INTO Y_DUGA; Y_DUGA=Y_DUGA[
91 :
100 ,];
e=ABSY_AKTUAL-Y_DUGA; SSE=e`e;
N=NROWY_DUGA; RMSE_LOKASI2=SQRT
1 NSSE;
CREATE RMSE_AR_LOK2 VAR{RMSE_LOKASI2};
APPEND; QUIT;
DATA SPACE_3; SET SPACE;
IF
1 = T =
90 THEN OUTPUT SPACE_3;
RUN; DATA RAMAL_SPACE_3;
SET SPACE; IF
91 = T =
100 THEN OUTPUT
RAMAL_SPACE_3; RUN;
PROC ARIMA DATA=SPACE_3; IDENTIFY VAR=Y3 MINIC
STATIONARITY=adf=
1
NLAG=
15
SCAN; ESTIMATE P=
1 NOINT NOPRINT;
FORECAST LEAD= 10
OUT=DUGAAN3 NOPRINT;
RUN; PROC IML;
USE RAMAL_SPACE_3; READ ALL VAR{Y3} INTO Y_AKTUAL;
USE DUGAAN3; READ ALL VAR{FORECAST} INTO Y_DUGA;
Y_DUGA=Y_DUGA[
91
:
100
,]; e=ABSY_AKTUAL-Y_DUGA;
SSE=e`e; N=NROWY_DUGA;
RMSE_LOKASI3=SQRT
1
NSSE; CREATE RMSE_AR_LOK3
VAR{RMSE_LOKASI3}; APPEND;
QUIT; DATA RMSE_AR;
MERGE RMSE_AR_LOK1 RMSE_AR_LOK2 RMSE_AR_LOK3;
RUN; IF
UL= 1
THEN DO
; DATA HASIL_RMSE_AR;
SET RMSE_AR; RUN;
END ;
ELSE DO
; DATA HASIL_RMSE_AR;
SET HASIL_RMSE_AR RMSE_AR; RUN;
END ;
DATA RUANG; MERGE SPACE_1 SPACE_2 SPACE_3;
RUN; DATA VAR1;
SET RUANG; PROC VARMAX DATA=VAR1;
MODEL y1 y2 y3 P=
1
MINIC=p=
3
q= 3
DFTEST COINTTEST=JOHANSEN=IORDER=
1
LAGMAX= 3
PRINT=ESTIMATES DIAGNOSE ROOTS CORRY PCORR NOINT NOPRINT;
OUTPUT OUT=MODEL_VAR1 lead=
10
NOPRINT; RUN;
PROC IML; USE RAMAL_SPACE_1;
USE RAMAL_SPACE_2; USE RAMAL_SPACE_3;
READ ALL VAR{Y1 Y2 Y3} INTO Y_AKTUAL;
USE MODEL_VAR1; READ ALL VAR{FOR1 FOR2 FOR3} INTO
Y_DUGA; Y_DUGA=Y_DUGA[
91
:
100
,]; e=ABSY_AKTUAL-Y_DUGA;
e1=e[,
1 ];
e2=e[, 2
]; e3=e[,
3 ];
SSE1=e1`e1; SSE2=e2`e2;
SSE3=e3`e3; N=NROWY_DUGA;
RMSE_LOKASI1=SQRT
1 NSSE1;
RMSE_LOKASI2=SQRT
1
NSSE2; RMSE_LOKASI3=SQRT
1
NSSE3; CREATE RMSE_VAR1 VAR{RMSE_LOKASI1
RMSE_LOKASI2 RMSE_LOKASI3}; APPEND;
QUIT;