DATA RAMAL_GSTAR1; SET RAMAL;
SET KOEFISIEN; DO i=
1 TO
10 ;
Y1T=aY1T_1+dY3T_1; Y2T=bY2T_1+eY3T_1;
Y3T=cY3T_1+
0.5
fY1T_1+Y2T_1; OUTPUT;
Y1T_1=Y1T; Y2T_1=Y2T;
Y3T_1=Y3T; END;
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 RAMAL_GSTAR1;
READ ALL VAR{Y1T Y2T Y3T} INTO Y_DUGA;
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_GSTAR1 VAR{RMSE_LOKASI1
RMSE_LOKASI2 RMSE_LOKASI3}; APPEND;
QUIT;
IF UL=
1 THEN
DO ;
DATA HASIL_RMSE_GSTAR1; SET RMSE_GSTAR1;
RUN; END
; ELSE
DO ;
DATA HASIL_RMSE_GSTAR1; SET HASIL_RMSE_GSTAR1 RMSE_GSTAR1;
RUN; END
; END
; MEND
PERBANDINGAN; PERBANDINGAN;
PROC PRINT
DATA =HASIL_RMSE_AR;
PROC PRINT
DATA =HASIL_RMSE_VAR1;
PROC PRINT
DATA =HASIL_RMSE_STAR1;
PROC PRINT
DATA =HASIL_RMSE_GSTAR1;
RUN ;
Ordo Waktu Berbeda
MACRO PERBANDINGAN;
DO UL=
1
TO
100
; DATA Lokasi_1;
Zt_1=RANNOR ;
Zt_2=RANNOR ;
DO i= -
50
TO
100
; TIME=i;
et=RANNOR ;
Zt1= 1.3
Zt_1 - 0.5
Zt_2 + et;
IF i THEN OUTPUT;
Zt_2=Zt_1; Zt_1=Zt1;
END; RUN;
DATA Lokasi_2; Zt_1=RANNOR
; DO i= -
50 TO
100 ;
TIME=i; et=RANNOR
; Zt2=
0.2 Zt_1+et;
IF i THEN OUTPUT;
Zt_1=Zt2; END;
RUN; DATA Lokasi_3;
Zt_1=RANNOR
; Zt_2=RANNOR
; DO i= -
50
TO
100
; TIME=i;
et=RANNOR ;
Zt3= 1.6
Zt_1 - 0.8
Zt_2 + et;
IF i THEN OUTPUT;
Zt_2=Zt_1; 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= 2
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=
2
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;
IF UL=
1 THEN
DO ;
DATA HASIL_RMSE_VAR1; SET RMSE_VAR1;
RUN; END
; ELSE
DO ;
DATA HASIL_RMSE_VAR1; SET HASIL_RMSE_VAR1 RMSE_VAR1;
RUN; END
;