BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
ubshams
Quartz | Level 8

I have some conceptual/technical questions:

 

When I do ADF test in proc arima, and proc autoreg (using default option of not setting any lags) I get  following results:

 

title1 ' Staionarity Test ADF No Lag Specified';
proc arima data= adf_test;
identify var=value stationarity=(dickey);
run;
title1;

 

ubshams_0-1613516388542.png

 

But when I do adf test in proc autoreg I get results upto 0 lags only.

 

title1 ' Staionarity Test proc autoreg ADF No Lag Specified';
proc autoreg data = adf_test;
model value = / stationarity =(adf);
run;
title1;

 

ubshams_1-1613516610903.png

 

Questions:

1. Why the discrepancy in how many lags are shown (albeit the numbers do match for "0 lags" in both cases).

2. Is default lags always 2 for proc arima adf test and 0 lags for proc autoreg adf test? Couldn't tell from the documentations

 

Thanks in advance!

1 ACCEPTED SOLUTION

Accepted Solutions
dw_sas
SAS Employee

Hi @ubshams , 

 

Different default settings were chosen to be used for the number of augmenting lags for the ADF stationarity tests computed by PROCs ARIMA and AUTOREG.

 

By default, PROC ARIMA computes the stationarity tests for 0, 1 and 2 augmenting lags.  This is noted in the initial paragraph of the STATIONARITY= option documentation shown in the excerpt below:

 

STATIONARITY=

performs stationarity tests. Stationarity tests can be used to determine whether differencing terms should be included in the model specification. In each stationarity test, the autoregressive orders can be specified by a range, test= ar_max , or as a list of values, test=(ar1,...arn) , where test is ADF, PP, or RW. The default is (0,1,2).

 

 

PROC AUTOREG, on the other hand, assumes that the specified syntax for the STATIONARITY= option results in models for the ADF test, where the disturbances are distributed as white noise.  Therefore, a specification of STATIONARITY=(ADF) assumes that the residuals from the standard Dickey-Fuller test (without any augmenting lags) are white noise.  This assumption is noted in the following excerpt from the PROC AUTOREG documentation, however, the default behavior could be more clearly described:

 

STATIONARITY=(ADF)
STATIONARITY=(ADF=(value …value)

produces the augmented Dickey-Fuller unit root test (Dickey and Fuller 1979). As in the Phillips-Perron test, three regression models can be specified for the null hypothesis for the augmented Dickey-Fuller test (zero mean, single mean, and trend). These models assume that the disturbances are distributed as white noise. The augmented Dickey-Fuller test can account for the serial correlation between the disturbances in some way.

 

 

For more details on the stationarity tests fit in PROC AUTOREG, please see the following link:

 

https://go.documentation.sas.com/?docsetId=etsug&docsetTarget=etsug_autoreg_details27.htm&docsetVers... 

 

I hope this helps explain the difference in the results you obtained when running the two procedures.  I will request that the documentation for PROC AUTOREG be updated to further clarify the default behavior for this option.  Thank you for your feedback!

Best Regards,

DW

View solution in original post

1 REPLY 1
dw_sas
SAS Employee

Hi @ubshams , 

 

Different default settings were chosen to be used for the number of augmenting lags for the ADF stationarity tests computed by PROCs ARIMA and AUTOREG.

 

By default, PROC ARIMA computes the stationarity tests for 0, 1 and 2 augmenting lags.  This is noted in the initial paragraph of the STATIONARITY= option documentation shown in the excerpt below:

 

STATIONARITY=

performs stationarity tests. Stationarity tests can be used to determine whether differencing terms should be included in the model specification. In each stationarity test, the autoregressive orders can be specified by a range, test= ar_max , or as a list of values, test=(ar1,...arn) , where test is ADF, PP, or RW. The default is (0,1,2).

 

 

PROC AUTOREG, on the other hand, assumes that the specified syntax for the STATIONARITY= option results in models for the ADF test, where the disturbances are distributed as white noise.  Therefore, a specification of STATIONARITY=(ADF) assumes that the residuals from the standard Dickey-Fuller test (without any augmenting lags) are white noise.  This assumption is noted in the following excerpt from the PROC AUTOREG documentation, however, the default behavior could be more clearly described:

 

STATIONARITY=(ADF)
STATIONARITY=(ADF=(value …value)

produces the augmented Dickey-Fuller unit root test (Dickey and Fuller 1979). As in the Phillips-Perron test, three regression models can be specified for the null hypothesis for the augmented Dickey-Fuller test (zero mean, single mean, and trend). These models assume that the disturbances are distributed as white noise. The augmented Dickey-Fuller test can account for the serial correlation between the disturbances in some way.

 

 

For more details on the stationarity tests fit in PROC AUTOREG, please see the following link:

 

https://go.documentation.sas.com/?docsetId=etsug&docsetTarget=etsug_autoreg_details27.htm&docsetVers... 

 

I hope this helps explain the difference in the results you obtained when running the two procedures.  I will request that the documentation for PROC AUTOREG be updated to further clarify the default behavior for this option.  Thank you for your feedback!

Best Regards,

DW

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

Multiple Linear Regression in SAS

Learn how to run multiple linear regression models with and without interactions, presented by SAS user Alex Chaplin.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 1 reply
  • 2324 views
  • 0 likes
  • 2 in conversation