Statistics and Algorithms / Structural Breaks and Switching Models / Unit Roots and Breaks |
In a unit root process, the “trend” is the accumulation of a large number of small shocks. Perron (1989) showed that the standard procedures for detecting unit roots could be fooled by one (or more) sharp changes to the process. Since then, there have been a large number of procedures proposed to test for unit roots allowing (under the null, alternative or both) for breaks in the underlying process.
While it is possible that one of these tests will uncover the true data generating process, the main point of these is to examine the correctness of a basic unit root testing procedure. Do a standard unit root test. If that rejects the unit root, then there really isn’t much of a point to applying a fancy test that allows for breaks. It’s when you accept the unit root with the standard test that it would be a good idea to use one of the procedures described here.
Perron’s original paper picked specific dates for the break based on the historical record. Most subsequent work, however, has allowed for the break to be data-determined. The general framework of the tests is:
Loop over possible breaks
Do unit root test given the breaks
If this is least favorable to the unit root hypothesis
Save it
End
The resulting test statistic is the value produced by the set of breaks which is least favorable to the unit root hypothesis. The distribution of that statistic will be non-standard and will depend upon the number and form of the breaks allowed. A common misconception is that this is “estimating the location of the breaks.” Again, these are procedures for testing for unit roots, not for choosing a model. The breaks are chosen (in general) to be those that are least favorable to the unit root, not to be the best fitting.
The embedded unit root test will, in general, depend upon “nuisance” parameters such as the augmenting lags of the differences. In most testing procedures, these are chosen separately for each candidate set of breaks. This means that there is quite a bit of number-crunching required. Though any testing procedure can easily be extended from one to two to three or more breaks, once you’re beyond two breaks, the time to do the calculations may get too burdensome. The time complexity of the calculation goes up with \(T^{breaks+1}\). With \(T=400\), doing two breaks takes (roughly) 400 times as long as one break. so even two breaks might take too long with a large enough data set. However, if three or more breaks are a real possibility, it’s not clear that that will generate the same level of persistence that causes the false acceptance of a unit root that one or two does.
While a break in the mean can create a false acceptance for a unit root in a non-trending series, the main interest is in the behavior of trending series, such as log GDP. There are three main types of breaks considered for trending series:
Crash |
the trend rate remains the same before and after, but there is an immediate change in the level |
Join |
the trend rate changes, but there is no immediate change to the level |
Full Break |
both the trend rate and the level change |
Perron (1990) also distinguishes between Additive Outliers (AO) and Innovational Outliers (IO). The AO are as described above: direct changes to the level of the process. The IO add a shift to the error process, so the change works into the data more slowly.
There are many special-purpose RATS procedures for doing unit root tests with breaks. Of those, we have written three to handle any number of breaks. While these can do the computations for three or more breaks, there aren’t at this point tables of critical values for those. We’ve provided for a large number of breaks (as no extra code was required), but aren’t sure whether there is any value to this in practice.
The general procedures are @LSUnit (based upon Lee and Strazicich, 2003), @PerronBreaks (based on Perron, 2006) and @LPUNIT (based upon Lumsdaine and Papell, 1997). @LSUnit is an LM testing procedure, so it estimates under the null of a unit root process with a particular (broken) trend. @PerronBreaks estimates the model under the alternative and examines the restriction to the unit root. Even with the same assumption regarding the form of the break, the testing procedures might produce different values for the location of the break. @LPUNIT is based upon a Wald test, estimating the model under the more general alternative hypothesis.
All three procedures use the the same options for handling the added lags (LAGS, METHOD and SLSTAY). @LSUNIT and @PERRONBREAKS use the BREAKS option to choose the number of breaks. However, @LPUNIT uses the NBREAKS option for that.
@PerronBreaks allows for more general types of breaks, with an AO option for choosing additive outliers and IO for innovational outliers. You must use one (and only one) of these two options:
ao=[none]/mean/crash/join/break
io=[none]/mean/crash/break
@LSUnit has a MODEL option which does only the AO type.
model=[crash]/break
while @LPUNIT has a BREAK option to choose the break, which, for it, is an IO break.
break=[intercept]/trend/both
All three procedures are included in the Time Series—Unit Root Test wizard. UNITROOTBREAK.RPF is a simple example of the use of these.
Copyright © 2025 Thomas A. Doan