/* THIS THE FOURTH AND FINAL SAS PROGRAM THAT YOU NEED TO RUN TO COMPLETE YOUR "SUPER" PROBLEM. THIS PROGRAM CONDUCTS THE HOLD-OUT SAMPLE FORECASTING EXPERIMENT. IT COMPARES THE FORECASTING ACCURACY MEASURES OF THE TRANSFER FUNCTION MODEL WITH THOSE OF THE STATISTICIAN'S BOX- JENKINS MODEL FOR Y. ALSO PREDICTION-REALIZATIONS DIAGRAMS FOR BOTH FORECASTING METHODS ARE PRODUCED, MINCER-ZARNOWITZ TESTS FOR THE UNBIASEDNESS OF THE TWO FORECASTS ARE CONDUCTED, AND DIEBOLD-MARIANO TESTS FOR SIGNIFICANT DIFFERENCES BETWEEN THE MAES AND MSES OF THE TWO ARE PERFORMED. */ DATA ONE; input obs x?? y??; X = X??; Y = Y??; cards; ; /* ROLL YOUR TRANSFER FUNCTION MODEL THROUGH THE HOLD-OUT SAMPLE DATA (OBS. 81 - 110) WHILE FORECASTING ONE STEP AHEAD EACH TIME. YOU WILL HAVE TO FILL IN THE QUESTION MARKS BELOW DEPENDING ON THE APPROPRIATE CHOICE OF P AND Q FOR THE BOX-JENKINS MODEL OF X?? AND THE APPROPRIATE VALUES OF B, R, AND S FOR THE TRANSFER FUNCTION FOR YOUR X?? AND Y?? SERIES (AND P AND Q TO "SOP" UP THE AUTOCORRELATION IN THE ERRORS OF YOUR TRANSFER FUNCTION MODEL IF NECESSARY). */ %MACRO TF(NUM); PROC ARIMA DATA=ONE(OBS=&NUM) OUT=RESULT; IDENTIFY VAR=X NOPRINT; ESTIMATE P=? Q=? NOPRINT; IDENTIFY VAR=Y CROSSCOR=(X) NOPRINT; ESTIMATE ??? INPUT=(???X) METHOD=ML NOPRINT; FORECAST LEAD=1 NOOUTALL NOPRINT; PROC APPEND BASE=COLLECT1 DATA=RESULT; %MEND; %MACRO DOIT; %DO II = 80 %TO 109; %TF(&II); %END; %MEND; %DOIT; DATA TFA; SET ONE; IF 80 < _N_; ACTUAL=Y; KEEP ACTUAL; DATA TFF; SET COLLECT1; F1=FORECAST; KEEP F1; DATA TFAF; MERGE TFA TFF; /* ROLL THE BOX-JENKINS MODEL FOR Y (THE STATISTICIAN'S MODEL) THROUGH THE HOLD-OUT SAMPLE DATA (OBS. 80 - 110) FORECASTING ONE PERIOD AHEAD EACH TIME. THIS IS THE BENCHMARK FORECAST. YOU WILL HAVE TO FILL IN THE PROPER VALUES FOR P AND Q BELOW FOR THE BOX-JENKINS MODEL FOR Y (THE STATISTICIAN'S MODEL). */ %MACRO BJ(NUM); PROC ARIMA DATA=ONE(OBS=&NUM) OUT=RESULT; IDENTIFY VAR=Y NOPRINT; ESTIMATE P=? Q=? METHOD=ML NOPRINT; FORECAST LEAD=1 NOOUTALL NOPRINT; PROC APPEND BASE=COLLECT2 DATA=RESULT; %MEND; %MACRO DOIT; %DO II = 80 %TO 109; %BJ(&II); %END; %MEND; %DOIT; DATA BJF; SET COLLECT2; F2=FORECAST; KEEP F2; /* PLOT THE PREDICTION-REALIZATION DIAGRAMS OF THE TWO COMPETING FORECASTING METHODS. FORECAST METHOD 1 = THE TRANSFER FUNCTION MODEL. FORECAST METHOD 2 = THE BOX-JENKINS MODEL OF Y. */ DATA COMPARE; MERGE TFAF BJF; PROC PRINT DATA=COMPARE; TITLE 'ACTUAL VS. METHOD 1 = TF METHOD 2 = BJ'; PROC PLOT DATA=COMPARE; PLOT ACTUAL*F1; TITLE 'PREDICTION-REALIZATION DIAGRAM FOR FORECAST METHOD 1'; PROC PLOT DATA=COMPARE; PLOT ACTUAL*F2; TITLE 'PREDICTION-REALIZATION DIAGRAM FOR FORECAST METHOD 2'; DATA ERRORS; SET COMPARE; E1=ACTUAL - F1; E2=ACTUAL - F2; ABSE1=ABS(E1); ABSE2=ABS(E2); E12=E1**2.0; E22=E2**2.0; AE1MAE2 = ABSE1 - ABSE2; E12ME22 = E12 - E22; /* CALCULATE THE MAES AND MSES OF THE TRANSFER FUNCTION MODEL AND THE BOX-JENKINS MODEL FOR Y OVER THE HOLD-OUT SAMPLE DATA SET (OBSERVATIONS 81 - 110). MAE1 AND MSE1 ARE FOR THE TF MODEL WHILE MAE2 AND MSE2 ARE FOR THE BOX-JENKINS MODEL FOR Y (I.E. THE BENCHMARK FORECASTING METHOD). ALSO CONDUCT TESTS OF UNBIASEDNESS OF FORECASTS FOR THE COMPETING METHODS AND A TEST (THE GANGER-NEWBOLD TEST) FOR SIGNIFICANT DIFFERENCE IN THE MSES OF THE COMPETING METHODS. IS THE TF MODEL SIGNIFICANTLY BETTER THAN THE BENCHMARK FORECASTING MODEL? IS THE PROPOSED LEADING INDICATOR USEFUL IN THE SENSE OF THE CURRENT HOLD-OUT FORECASTING EXPERIMENT? */ PROC UNIVARIATE DATA=ERRORS NOPRINT; VAR ABSE1 E12 ABSE2 E22; OUTPUT MEAN = MAE1 MSE1 MAE2 MSE2 OUT=RESULTS; PROC PRINT DATA=RESULTS; VAR MAE1 MSE1 MAE2 MSE2; TITLE1 ' '; TITLE2 'FORECASTING ACCURACY METHODS OF COMPETING METHODS'; TITLE3 'FORECAST HORIZON = 1'; PROC REG DATA=COMPARE; MODEL ACTUAL = F1; TEST INTERCEPT=0, F1=1.0; TITLE1 'MINCER-ZARNOWITZ TEST'; TITLE2 'FOR UNBIASEDNESS OF FORECAST METHOD 1'; PROC REG DATA=COMPARE; MODEL ACTUAL = F2; TEST INTERCEPT=0, F2=1.0; TITLE1 'MINCER-ZARNOWITZ TEST'; TITLE2 'FOR UNBIASEDNESS OF FORECAST METHOD 2'; /* Here we test the significant difference in MAEs of the two competing models using the Diebold-Mariano ARMA approach. This approach DOES NOT require that the competing forecasting methods be unbiased. It is just a matter of testing the significance of the sample mean of an appropriate ARMA model.*/ proc arima data=errors; identify var=ae1mae2; estimate p = 0 q = 0; estimate p = 1 q = 0; estimate p = 0 q = 1; title1 'Test for Significant Difference in MAEs'; title2 'Using the Diebold-Mariano ARMA approach'; run; /* Here we test the significant difference in MSEs of the two competing models using the Diebold-Mariano ARMA approach. This approach DOES NOT require that the competing forecasting methods be unbiased. It is just a matter of testing the significance of the sample mean of an appropriate ARMA model. */ title1 'Test for Significant Difference in MSEs'; title2 'Using the Diebold-Mariano ARMA approach'; proc arima data=errors; identify var=e12me22; estimate p = 0 q = 0; estimate p = 1 q = 0; estimate p = 0 q = 1; run; /* THIS IS THE END OF PROGRAM SPRO4.SAS */