What is a stationarity test and how to do it?

By Riya Jain & Priya Chetty on February 12, 2020

Stationarity in the stationarity test is a property of time series which states that the value of the variable doesn’t change with time i.e. variation in time does not serve as a factor that brings changes in the value of a variable.

For example, stock market prices are though are highly volatile in nature, these fluctuations are bounded by time. This means that stock prices rise over a period of time, whether the business is actually performing better or not.  However, if a person wants to check the impact of that business’s financial performance on its stock prices, they will have to first ensure that the stock price data is stationary. If it is non-stationary then the results will be biased because of the presence of variation in price due to the time factor. Therefore by making sure that the data is stationary, the person makes sure that the impact is tested purely, i.e. taking only financial performance and stock price as the factors. Thus, for analyzing the economic growth of a country or financial market performance, it is essential to de-trend the data.

In order to have a true analysis of the nature of variables, accurate prediction and forecasting, and acquire information about the true status of the relationship between the variables. It is required that data should be free from the effect of trends and seasonality.

Stationarity can be detected from a graph or a chart. The three graphs below show the trend of a variable over a period of time.

Comparing graphs for stationarity

The above graphs show that only Figure (b) is stationary as here the data is not affected by the time, However, Figure (a) shows an upward trend and Figure (c) shows a downward trend. Thus, they are not stationary.

Different types of stationarity tests

The second and more popular and accurate way of checking stationarity is through statistical testing. There are different tests available for this purpose. The table below depicts some of the most popular ones.

Tests Data Assumptions Benefit Disadvantage Hypothesis Rejection Criterion
Dickey-Fuller (DF) Test White noise (no autocorrelation).
Heteroscedastic Time series.
1 -year lagged values.
Parametric AR model.
Test Stationarity Not applicable for autocorrelated and heteroscedastic data.
The power of the Test is low.
H0: Variable has Unit Root Ha: Variable is stationary/ has no unit root. Test Statistic < Critical value at 1%, 5%, or 10%
P-value < α value.
Augmented Dickey-Fuller (ADF) Test Homoscedastic Time series.
Parametric AR model.
Test Stationarity.
Analyze autocorrelated data.
Include lag values as per the frequency of data.
The degree of Freedom and Power of the Test was reduced.
Size distortion problem (Type I error exists).
H0: Variable has Unit Root Ha: Variable is stationary/ has no unit root. Test Statistic < Critical value at 1%, 5%, or 10% OR
P-value < α value.
Philips-Perron (PP) Test Non-Parametric AR model.
Deal with 1-year lagged values.  
Add robustness to autocorrelated and heteroscedastic data.
Model modified as Ng-Perron Test to reduce the disadvantages of PP Test.
Power of Test low
Size distortion problem (Type I error exists).
Ignore serial correlation and heteroscedasticity.
H0: Variable has Unit Root Ha: Variable is stationary/ has no unit root. Test Statistic < Critical value at 1%, 5%, or 10% OR
P-value α value.
Dickey-Fuller – GLS (ERS) A generalized Linear Square Regression Model was used. Improves the power of the test.
Reduces Size Distortion.
Detrend the data.
Deal with constant and linear trends.
Applicable for 1 to K lags*.
Not applicable for the OLS model. H0: Variable has Unit Root Ha: Variable is stationary/ has no unit root. Test Statistic < Critical value at 1%, 5%, or 10% OR
P-value < α value.
Kwiatkowski, Phillips, Schmidt, and Shin (KPSS) Test Log Transformed Data analyzed.
OLS Regression model used.
Lagrange Multiplier Test applied.
Random Walk has Zero Variance, or the data is homoscedastic.
Test trend stationarity and unit root.
Combination of Deterministic trend, Random Walk, and stationary Error.
The high rate of Type I error.
A high p-value led to a reduction in the power of the test.
H0: Variable is trend stationary Ha: Variable has a unit root.LM Statistic > Critical value at 1%, 5%, or 10%.
*Optimal Level of Lag is decided using Akaike Information Criterion (AIC) or Schwartz Bayesian Information Criterion (SBIC).

The most popularly used tests in economics are ADF and KPSS tests, or a combination of both. These tests are performed using R, Stata, and EViews.

Understanding optimal stationarity test

Though most studies use the ADF test for stationarity check, still it is suggested that a combination of ADF and KPSS tests should be used. This helps in strengthening the results of the hypothesis test.

Suppose stationarity for the aggregate output of India from 2000 to 2015 needs to be tested in EViews then the Results of the ADF level test are:

Stationarity test results

While the result of the KPSS test is

Stationarity test results

The ADF statistic can be rejected by comparing the Test Statistic with the critical values i.e. as 0.159465 > (-3.959148), (-3.081002), and (-2.681330), thus the null hypothesis of having unit root in GDP is not rejected. This could also be done by comparing the p-value i.e. 0.9594 with the significance level considered for the study i.e. 0.01, 0.05, or 0.10.

Offer ID is invalid

The KPSS Statistic results has LM Statistic as 0.505599 which is greater than critical values at 5% and 10% level i.e. 0.505599 > 0.463000 and 0.347000 but less than the critical value at 1% significance level i.e. 0.505599 < 0.739000. Hence, for the former case, the null hypothesis of having trend stationery in GDP is rejected but for the latter case, the null hypothesis is not rejected and at a 1% level of significance, GDP has an existence of trend stationarity.

Understanding the results

As the above example depict different results thus the derivation of stationarity is considered at the level where both results are the same i.e.

  • If the ADF model rejects the null hypothesis, and KPSS do not reject; Stationarity Exist.
  • If ADF does not reject the Null Hypothesis while KPSS does reject; Unit Root Exists.
  • If ADF and KPSS reject the null hypothesis; Heteroscedasticity is impacting the results.
  • If ADF and KPSS do not reject the null hypothesis; Data does not have enough observations.

Hence, for the above case at 5% and 10% levels of significance stationarity does not exist while at 1% level of significance, the number of observations considered for the study is less. Thus, to derive stationarity at a 1% level of significance, more observations need to be included in the analysis.

In order to remove unit root/ non-stationarity from the data, the model is transformed using the differencing technique i.e. current observation is subtracted from its consecutive observation. This subtraction of observation is called lag transformation. The order of differencing though depends on the derivation of stationarity; however, the optimal level of lag could be determined using SIC or AIC method.


As the level test of the sample is not stationary thus 1st Order Differentiation is done.

ADF results for 1-year lagged GDP

Stationarity test results

KPSS results for 1-year Lagged GDP

Stationarity test results

The results show that at a 5% level of significance, the ADF test statistic is less than the critical value i.e. (-3.788118) < (-3.119910) and the KPSS LM statistic is also less than the critical value i.e. 0.355437 < 0.463000. In fact, p-value of ADF is 0.0159 < 0.05, the significance level. Hence, at a 5% level of significance, the ADF Null Hypothesis is rejected while the KPSS null hypothesis is not rejected. This shows that the 1st order difference of GDP does not have a unit root and is stationary in nature.


17 thoughts on “What is a stationarity test and how to do it?”