This example demonstrates the use of the AUXDATA= data set to input user-defined regressors for use in the regARIMA model. User-defined regressors are often economic indicators, but in this example a user-defined regressor is generated in the following statements:
data auxreg(keep=date lengthofmonth); set sales; lengthofmonth = (INTNX('MONTH',date,1) - date) - (365/12); format date monyy.; run;
When you use the AUXDATA= data set, it is not necessary to merge the user-defined regressor data set with the DATA= data set.
The following statements input the regressor lengthofmonth
in the data set auxreg
. The regressor lengthofmonth
is specified in the REGRESSION statement, and the data set auxreg
is specified in the AUXDATA= option in the PROC X12 statement.
title 'Align lengthofmonth Regressor from Auxreg to First Three Years'; ods select regParameterEstimates; proc x12 data=sales(obs=36) date=date auxdata=auxreg; var sales; regression uservar=lengthofmonth; arima model=((0 1 1) (0 1 1)); estimate; run;
title 'Align lengthofmonth Regressor from Auxreg to Second Three Years'; ods select regParameterEstimates; proc x12 data=sales(firstobs=37 obs=72) date=date auxdata=auxreg; var sales; regression uservar=lengthofmonth; arima model=((0 1 1) (0 1 1)); estimate; run;
Output 38.11.1 and Output 38.11.2 display the parameter estimates for the two series.
Output 38.11.1: Using Regressors in the AUXDATA= Data for the First Three Years of Series
Align lengthofmonth Regressor from Auxreg to First Three Years |
Regression Model Parameter Estimates | ||||||
---|---|---|---|---|---|---|
For Variable sales | ||||||
Type | Parameter | NoEst | Estimate | Standard Error | t Value | Pr > |t| |
User Defined | lengthofmonth | Est | 2.98046 | 5.36251 | 0.56 | 0.5840 |
Output 38.11.2: Using Regressors in the AUXDATA= Data for the Second Three Years of Series
Align lengthofmonth Regressor from Auxreg to Second Three Years |
Regression Model Parameter Estimates | ||||||
---|---|---|---|---|---|---|
For Variable sales | ||||||
Type | Parameter | NoEst | Estimate | Standard Error | t Value | Pr > |t| |
User Defined | lengthofmonth | Est | -0.51215 | 8.43145 | -0.06 | 0.9521 |
The X12 procedure uses the date
variable in the sales
data set and the auxreg
data set to align the user-defined regressors.
In the following example, the DATA= data set salesby
contains BY groups. The X12 procedure aligns the regressor in the auxreg
data set to each BY group in the salesby
data set according to the variable date
that is specified by the DATE= option in the PROC X12 statement. The variable date
must be present in the auxreg
data set to align the values.
data salesby; set sales(obs=72); if ( _n_ < 37 ) then by=1; else by=2; run; ods select regParameterEstimates; title 'Align lengthofmonth Regressor from Auxreg to BY Groups'; proc x12 data=salesby date=date auxdata=auxreg; var sales; by by; regression uservar=lengthofmonth; arima model=((0 1 1) (0 1 1)); estimate; run;
The results in Output 38.11.3 match the previous results in Output 38.11.1 and Output 38.11.2.
Output 38.11.3: Using Regressors in the AUXDATA= Data with BY Groups
Align lengthofmonth Regressor from Auxreg to BY Groups |
Regression Model Parameter Estimates | ||||||
---|---|---|---|---|---|---|
For Variable sales | ||||||
Type | Parameter | NoEst | Estimate | Standard Error | t Value | Pr > |t| |
User Defined | lengthofmonth | Est | 2.98046 | 5.36251 | 0.56 | 0.5840 |
Align lengthofmonth Regressor from Auxreg to BY Groups |
Regression Model Parameter Estimates | ||||||
---|---|---|---|---|---|---|
For Variable sales | ||||||
Type | Parameter | NoEst | Estimate | Standard Error | t Value | Pr > |t| |
User Defined | lengthofmonth | Est | -0.51215 | 8.43145 | -0.06 | 0.9521 |