adf.test

0th

Percentile

Augmented Dickey-Fuller Test

Performs the Augmented Dickey-Fuller test for the null hypothesis of a unit root of a univarate time series x (equivalently, x is a non-stationary time series).

Usage
adf.test(x, nlag = NULL, output = TRUE)
Arguments
x
a numeric vector or univariate time series.
nlag
the lag order with default to calculate the test statistic. See details for the default.
output
a logical value indicating to print the test results in R console. The default is TRUE.
Details

The Augmented Dickey-Fuller test incorporates three types of linear regression models. The first type (type1) is a linear model with no drift and linear trend with respect to time: $$dx[t] = \rho*x[t-1] + \beta[1]*dx[t-1] + ... + \beta[nlag - 1]*dx[t - nlag + 1] +e[t],$$ where $d$ is an operator of first order difference, i.e., $dx[t] = x[t] - x[t-1]$, and $e[t]$ is an error term.

The second type (type2) is a linear model with drift but no linear trend: $$dx[t] = \mu + \rho*x[t-1] + \beta[1]*dx[t-1] + ... + \beta[nlag - 1]*dx[t - nlag + 1] +e[t].$$

The third type (type3) is a linear model with both drift and linear trend: $$dx[t] = \mu + \beta*t + \rho*x[t-1] + \beta[1]*dx[t-1] + ... + \beta[nlag - 1]*dx[t - nlag + 1] +e[t].$$

We use the default nlag = floor(4*(length(x)/100)^(2/9)) to calcuate the test statistic. The Augmented Dickey-Fuller test statistic is defined as $$ADF = \rho.hat/S.E(\rho.hat),$$ where $\rho.hat$ is the coefficient estimation and $S.E(\rho.hat)$ is its corresponding estimation of standard error for each type of linear model. The p.value is calculated by interpolating the test statistics from the corresponding critical values tables (see Table 10.A.2 in Fuller (1996)) for each type of linear models with given sample size $n$ = length(x). The Dickey-Fuller test is a special case of Augmented Dickey-Fuller test when nlag = 2.

Value

  • A list containing the following components:
  • type1a matrix with three columns: lag, ADF, p.value, where ADF is the Augmented Dickey-Fuller test statistic.
  • type2same as above for the second type of linear model.
  • type3same as above for the third type of linear model.

Note

Missing values are removed.

References

Fuller, W. A. (1996). Introduction to Statistical Time Series, second ed., New York: John Wiley and Sons.

See Also

pp.test, kpss.test, stationary.test

Aliases
  • adf.test
Examples
# ADF test for AR(1) process
x <- arima.sim(list(order = c(1,0,0),ar = 0.2),n = 100)
adf.test(x)
# ADF test for co2 data
adf.test(co2)
Documentation reproduced from package aTSA, version 3.1.2, License: GPL-2 | GPL-3

Community examples

Looks like there are no examples yet.