A recent email query about the language that we use in the context of non-stationary seasonal data, and how we should respond to the presence of “seasonal unit roots”, suggested to me that a short background post about some of this might be in order.
There’s an extensive econometrics literature on stochastic seasonality and testing for seasonal unit roots, and this dates back at least to 1990. This is hardly a new topic, but it’s one that’s often overlooked in the empirical applications.
Although several tests for seasonal unit roots are available, the most commonly used one is that proposed by Hylleberg et al. (1990) – hereafter “HEGY”. Depending on what statistical/econometrics package you prefer to use, you’ll have at least some access to the HEGY test(s), and perhaps some others. For instance there are routines that you can use with R, stata, and Gretl.
I’m not going to be going over the tests themselves here.
Rather, the objectives of this post are, first, to provide a bit of background information about the language that’s used when we’re talking about seasonal unit roots. For instance, why do we refer to roots at the zero, π, frequencies, etc.? Second, in what way(s) do we need to filter a time series in order to remove the unit roots at the various frequencies?
Let’s begin by considering a quarterly time series, Xt (t = 1, 2, ……..). We’ll use the symbol “L” to denote the lag operator. So. L(Xt) = Xt-1; L2(Xt) = L(L(Xt)) = L(Xt-1) = Xt-2; etc. In general, Lk(Xt) = Xt-k.
If we consider the difference between the value of the series, X, now and its value four quarters (one year) ago, we can represent this by (Xt – Xt-4) = (Xt – L4Xt) = (1 – L4)Xt. Let’s take a closer look at the polynomial equation, (1 – L4) = 0, in the lag operator, and ask what are its roots?”
We can factorize (1 – L4) as follows:
(1 – L4) = (1 – L2)(1 + L2)
= (1 – L)(1 + L)(1 + L2) = (1 – L)(1 + L)(1 + iL)(1 – iL) = 0, (1)
and then we see that the roots of (1) are L = 1; L = -1; L = i; and L = -i. Here, “i” is the imaginary number, whose square is -1.
Alright, so where does this leave us? Well, we’re going to have to recall some of that trigonometry that you learned in high school!
These two functions “repeat themselves” every 2π radians (i.e., 360 degrees). This corresponds, of course, to going exactly once around a circle.
So, the root of (1) corresponding to L = 1 can be written as (1 + i 0) = (cosθ + i sinθ), and from the sine and cosine graphs we can see that this implies that θ = 0 (or 0 +/- multiples of 2π, which are still 0). In other words, the series exhibits one cycle per year.
(We don’t need to worry about the additional multiples of 2π, as this would take us “around the circle” more than once. So let’s forget about this detail.)
To summarize, we can have roots of equation (1) that correspond to one or more of the zero, π, or π/2 or 3π/2 frequencies. Moreover, these last two frequencies really need to be thought of as a pair – after all, they’re associated with a complex conjugate pair in the Cartesian coordinate system, whereas the other two roots are “real”.
So much for the language associated with seasonal unit roots.
Filtering the data
What filters are need to eliminate the various roots, so as to render the X series stationary?
(i) If L = 1, then this corresponds to the transformation, or filter, (1 – L)Xt = 0. In other words, if there is a unit root at the zero frequency then we need to construct Yt = (1 – L)Xt = (Xt – Xt-1) to get a stationary series. The usual first-differencing of the data is appropriate.
(ii) If L = -1, then this corresponds to the filter, (1 + L)Xt = 0. That is, if there is a unit root at the π frequency then we need to construct Yt = (1 + L)Xt = (Xt + Xt-1) to get a stationary series. Notice that this particular filter doesn’t involve “differencing” the data.


