What is the difference between the Kwiatkowski–Phillips–Schmidt–Shin (KPSS) test and the augmented Dickey-Fuller (ADF) test? Are they testing the same thing? Or do we need to use them in different situations?


4 Answers 4


I don't know how those tests work in detail, but one difference is that ADF test uses null hypothesis that a series contains a unit root, while KPSS test uses null hypothesis that the series is stationary.

Here is wikipedia passage that might be useful:

In econometrics, Kwiatkowski–Phillips–Schmidt–Shin (KPSS) tests are used for testing a null hypothesis that an observable time series is stationary around a deterministic trend. Such models were proposed in 1982 by Alok Bhargava in his Ph.D. thesis where several John von Neumann or Durbin–Watson type finite sample tests for unit roots were developed (see Bhargava, 1986). Later, Denis Kwiatkowski, Peter C.B. Phillips, Peter Schmidt and Yongcheol Shin (1992) proposed a test of the null hypothesis that an observable series is trend stationary (stationary around a deterministic trend). The series is expressed as the sum of deterministic trend, random walk, and stationary error, and the test is the Lagrange multiplier test of the hypothesis that the random walk has zero variance. KPSS type tests are intended to complement unit root tests, such as the Dickey–Fuller tests. By testing both the unit root hypothesis and the stationarity hypothesis, one can distinguish series that appear to be stationary, series that appear to have a unit root, and series for which the data (or the tests) are not sufficiently informative to be sure whether they are stationary or integrated.

KPSS test

  • 3
    $\begingroup$ My answer seems to pertain to unit root test like Dickey-Fuller. It appears that the KPSS test is not a test that the series is stationary but rather that the residual from a deterministic trend is stationary. These two test clearly look for different aspects of nonstationarity. $\endgroup$ Jun 16, 2012 at 17:51

The Concepts and examples of Unit-root tests and stationarity tests

Concept of Unit-root tests:

Null hypothesis: Unit-root

Alternative hypothesis: Process has root outside the unit circle, which is usually equivalent to stationarity or trend stationarity

Concept of Stationarity tests

Null hypothesis: (Trend) Stationarity

Alternative hypothesis: There is a unit root.

There are many different Unit-root tests and many Stationarity tests.

Some Unit root tests:

  • Dickey-Fuller test
  • Augmented Dickey Fuller test
  • Phillipps-Perron test
  • Zivot-Andrews test
  • ADF-GLS test

The most simple test is the DF-test. The ADF and the PP test are similar to the Dickey-Fuller test, but they correct for lags. The ADF does so by including them the PP test does so by adjusting the test statistics.

Some Stationarity tests:

  • KPSS

  • Leybourne-McCabe

In practice KPSS test is used far more often. The main difference of both tests is that KPSS is a non-parametric test and Leybourne-McCabe is a parametric test.

How unit-root test and stationarity-test complement each other

If you have a time series data set how it usually appears in econometric time series I propose you should apply both a Unit root test: (Augmented) Dickey Fuller or Phillips-Perron depending on the structure of the underlying data and a KPSS test.

Case 1 Unit root test: you can’t reject $H_0$; KPSS test: reject $H_0$. Both imply that series has unit root.

Case 2 Unit root test: Reject $H_0$. KPSS test: don't reject $H_0$. Both imply that series is stationary.

Case 3 If we can’t reject both test: data give not enough observations.

Case 4 Reject unit root, reject stationarity: both hypotheses are component hypotheses – heteroskedasticity in a series may make a big difference; if there is structural break it will affect inference.

Power problem: if there is small random walk component (small variance $\sigma^{2}_{\mu}$), we can’t reject unit root and can’t reject stationarity.

Economics: if the series is highly persistent we can’t reject $H_0$ (unit root) – highly persistent may be even without unit root, but it also means we shouldn’t treat/take data in levels. Whether a time series is "highly persistent" can be measured with the p-value of a unit-root test. For a more detailed discussion what "persistence" means in time-series see: Persistence in time series

General rule about statistical testing You cannot proove a null hypothesis, you can only affirm it. However, if you reject a null hypothesis then you can be very sure that the null hypothesis is really not true. Thus alternative hypothesis is always a stronger hypothesis than the null hypothesis.

Variance ratio tests:

If we want to quantify how important the unit root is, we should use a variance ratio test.

In contrast to unit root and stationarity tests, variance ratio tests can also detect the strength of the unit root. The outcomes of a variance ratio test can be divided into roughly 5 different groups.

Bigger than 1 After the shock the value of the variable explodes even more in the direction of the shock.

(Close to) 1 You get this value in the "classical case of a unit root"

Between 0 and 1 After the shock the value approaches a level between the value before the shock and the value after the shock.

(Close to) 0 The series is (close to) stationary

Negative After the shock the value goes into the opposite direction, i.e. if the value before the shock is 20 and the value after the shock is 10 over the long haul the variable will take on values greater than 20.

  • 1
    $\begingroup$ I love this answer! Especially because basing inference on both tests for unit root and for stationarity, helps guard against confirmation bias. Can you clarify whether the "persistence" you refer to with "if the series is highly persistence" (should be either 'high persistence' or 'highly persistent' by the way) means the same thing as a 'long memory' process? For example, if $\alpha_{y} \approx 0.95$ in $y_{t} = \alpha_{0} + \alpha_{y}y_{t-1} + \varepsilon_{t}$ would that be a high persistence process? $\endgroup$
    – Alexis
    Sep 4, 2018 at 14:56
  • 1
    $\begingroup$ Thank you for your nice words. I have added some words about persistence of a time-series. $\endgroup$
    – Ferdi
    Sep 4, 2018 at 15:17
  • 1
    $\begingroup$ Rad! (That link affirms my intuition about long-memory and high persistence. :) Do you mind if I make a few edits for grammar/clarity? $\endgroup$
    – Alexis
    Sep 4, 2018 at 15:18
  • $\begingroup$ Feel free to improve my answer. ;-) $\endgroup$
    – Ferdi
    Sep 4, 2018 at 15:18
  • 1
    $\begingroup$ You are too kind. :) It's mostly commas and spelling... but please make confirm if you meant $\sigma^{2}_{\mu}$ in the Power problem section (I think that's what you meant). Cheers. $\endgroup$
    – Alexis
    Sep 4, 2018 at 15:26

I don't totally agree with the accepted answer: the null hypothesis of the KPSS test is not stationarity, but trend stationarity, which is quite a different concept.

To summarize:

KPSS test:

  • Null Hypothesis: the process is trend-stationary
  • Alternative Hypothesis: the process has a unit root (this is how the authors of the test defined the alternative in their original 1992 paper)

ADF test:

  • Null Hypothesis: the process has a unit-root ("difference stationary")
  • Alternative Hypothesis: the process has no unit root. It can mean either that the process is stationary, or trend stationary, depending on which version of the ADF test is used.

If the "deterministic time trend alternative hypothesis" version of the ADF test is used, then both tests are similar, except that ones defines the null hypothesis as the unit-root while the other defines it as the alternative.


I don't know the specifics of the two tests you mentioned but I can address the general question posed in the title of your question and maybe that applies to these specific tests. Stationarity is a property of stochastic processes (or time series in particular) where the joint distribution of any k consecutive observations does not change with a time shift. There can be many ways to test for this, or its weaker form covariance stationary, where only the mean and the second moments remain constant with time changes. If the time series specifically follows an autoregressive process there is a characteristic polynomial corresponding to the model. For autoregressive time series, the series is covariance stationary if and only if all the roots of the characteristic polynomial are outside the unit circle in the complex plane. So testing for unit roots is a test for a specific type of non-stationarity for a specific type of time series models. Other tests can test for other forms of nonstationarity and deal with more general forms of time series.

  • $\begingroup$ Michael, can you reference any literature about "For autoregressive time series, the series is covariance stationary if and only if all the roots of the characteristic polynomial are outside the unit circle in the complex plane." ? Thanks. $\endgroup$
    – Veliko
    Dec 8, 2020 at 9:53
  • 1
    $\begingroup$ There are many time series books that cover this. I'll mention Box, G E P, Jenkins, G M and Reinsel, G C (1994) "Time Series Analysis: Forecasting and Control 3rd Edition" Prentice-Hall. It can also be found in the earlier editions. $\endgroup$ Dec 8, 2020 at 18:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.