# Augmented Dickey–Fuller test

In statistics and econometrics, an augmented Dickey–Fuller test (ADF) is a test for a unit root in a time series sample. It is an augmented version of the Dickey–Fuller test for a larger and more complicated set of time series models. The augmented Dickey–Fuller (ADF) statistic, used in the test, is a negative number. The more negative it is, the stronger the rejection of the hypothesis that there is a unit root at some level of confidence.[1]

## Testing procedure

The testing procedure for the ADF test is the same as for the Dickey–Fuller test but it is applied to the model

$\Delta y_t = \alpha + \beta t + \gamma y_{t-1} + \delta_1 \Delta y_{t-1} + \cdots + \delta_{p-1} \Delta y_{t-p+1} + \varepsilon_t,$

where $\alpha$ is a constant, $\beta$ the coefficient on a time trend and $p$ the lag order of the autoregressive process. Imposing the constraints $\alpha = 0$ and $\beta = 0$ corresponds to modelling a random walk and using the constraint $\beta = 0$ corresponds to modelling a random walk with a drift. Consequently, there are three main versions of the test, analogous to the ones discussed on Dickey–Fuller test (see that page for a discussion on dealing with uncertainty about including the intercept and deterministic time trend terms in the test equation.)

By including lags of the order p the ADF formulation allows for higher-order autoregressive processes. This means that the lag length p has to be determined when applying the test. One possible approach is to test down from high orders and examine the t-values on coefficients. An alternative approach is to examine information criteria such as the Akaike information criterion, Bayesian information criterion or the Hannan–Quinn information criterion.

The unit root test is then carried out under the null hypothesis $\gamma = 0$ against the alternative hypothesis of $\gamma < 0.$ Once a value for the test statistic

$DF_\tau = \frac{\hat{\gamma}}{SE(\hat{\gamma})}$

is computed it can be compared to the relevant critical value for the Dickey–Fuller Test. If the test statistic is less (this test is non symmetrical so we do not consider an absolute value) than the (larger negative) critical value, then the null hypothesis of $\gamma = 0$ is rejected and no unit root is present.

## Intuition

The intuition behind the test is that if the series is not integrated then the lagged level of the series ($y_{t-1}$) will provide no relevant information in predicting the change in $y_{t}$ besides the one obtained in the lagged changes ($\Delta y_{t-k}$). In this case the $\gamma = 0$ null hypothesis is rejected.

## Examples

A model that includes a constant and a time trend is estimated using sample of 50 observations and yields the $DF_\tau$ statistic of −4.57. This is more negative than the tabulated critical value of −3.50, so at the 95 per cent level the null hypothesis of a unit root will be rejected.

Critical values for Dickey–Fuller t-distribution.
Without trend With trend
Sample size 1% 5% 1% 5%
T = 25 −3.75 −3.00 −4.38 −3.60
T = 50 −3.58 −2.93 −4.15 −3.50
T = 100 −3.51 −2.89 −4.04 −3.45
T = 250 −3.46 −2.88 −3.99 −3.43
T = 500 −3.44 −2.87 −3.98 −3.42
T = ∞ −3.43 −2.86 −3.96 −3.41
Source[2]:373

## Alternatives

There are alternative unit root tests such as the Phillips–Perron test or the ADF-GLS procedure developed by Elliott, Rothenberg and Stock (1996).[3]

## Implementations in statistics packages

• In R, the tseries package includes an adf.test function.[4]
• Gretl includes the Augmented Dickey–Fuller test.[5]
• In Matlab, the adftest function [6] is part of the Econometrics Toolbox,[7] and a free version is available as part of the 'Spatial Econometrics' toolbox[8]
• In SAS, PROC ARIMA can perform ADF tests.[9]
• In Stata, the dfuller command is used for ADF tests.
• In Eviews, the Augmented Dickey-Fuller is available under "Unit Root Test."[10]
• In Python, the adfuller function is available in the Statsmodels package.[11]
• In Java, the AugmentedDickeyFuller class is included in SuanShu[12][13] available under the com.numericalmethod.suanshu.stats.test.timeseries.adf package.