RATS 10.1
RATS 10.1

Background

We are using the phrase distributed lag to refer to a model with a form such as

\begin{equation} y_t = \sum\limits_{l = L_0 }^L {\beta _l } X_{t - l} + u_t \label{eq:linreg_dlgeneral} \end{equation}

where the explanatory variable \(X\) is different from \(y\). This distributes the effect of \(X\) on \(y\) across a number of lags, hence the name. We are not using this term when \(X\) is the same as y—we refer to such models as autoregressions, which have very different statistical properties from the models which we are describing here.

 

RATS offers several major advantages for distributed lag estimation, among them:

You can specify lag ranges using the compact and flexible notation: series{lag1 TO lag2}.

RATS computes the estimates in a memory and time-efficient fashion.

RATS can easily handle polynomial distributed lags, as well as splines and other restricted forms.

You can use spectral methods for estimation or analysis of results.

DISTRIBLAG.RPF example

The DISTRIBLAG.RPF estimates a distributed lag of long-term interest rate series (composite yield on long-term U.S. Treasury bonds) on a short-term one (yield on 90 day Treasury bills), monthly from 1947:1 to 2007:4. This same data set is used in example files AKAIKE.RPF (lag length selection), PDL.RPF (polynomial distributed lags), SHILLER.RPF (Shiller Smoothness Prior) and SHILLERGIBBS.RPF (Shiller Smoothness Prior with Gibbs sampling) to demonstrate various ways to estimate distribute lags. An unrestricted distributed lag from 0 to 24 is done with

 

linreg longrate

# constant shortrate{0 to 24}

 

The long unrestricted lags tend to have individual coefficients which are not easy to interpret. See, for instance, the graph of these from that example program.

Summary Measures

Because of multicollinearity, the individual coefficients in a distributed lag regression usually are poorly determined. For instance, in the unconstrained lag estimate, only the 0 and 24 are (individually) statistically significant at conventional levels. Thus we are interested more in summary measures, in particular, the sum and the shape of the lag distribution. There are several instructions or options which can be very helpful in obtaining this information:

The instruction SUMMARIZE is designed specifically for computing the sum of a set of lag coefficients.

The lag coefficients themselves can be extracted from the %BETA vector defined by LINREG.

This uses SUMMARIZE to compute the sum of the full set of lag coefficients. Then lag coefficients are pulled out of the %BETA vector into LAGDIST, using SET. The lag coefficients are in slots 2 through 26 of %BETA, corresponding to lags 0 to 24, in order (slot 1 is the coefficient on the CONSTANT). The NUMBER option on GRAPH causes it to label entry 1 as 0, 2 as 1, etc, thus getting the lag labels correct.

 

summarize

# shortrate{0 to 24}

set lagdist 1 25 = %beta(t+1)

graph(header="Lag Distribution-Long Unconstrained",number=0)

# lagdist 1 25

 

Estimation Techniques

There are five basic ways to approach distributed lag estimation:

1.Unrestricted long lags, as advocated by Sims (1974), which has just been demonstrated.

2.Data-determined lag length with no shape restrictions.

3.“Hard” shape restrictions, such as polynomial (Almon) distributed lags or splines.

4.“Soft” shape restrictions, such as Shiller’s smoothness prior (Shiller, 1973).

5.ARDL (AutoRegressive Distributed Lags) which adds autoregressive terms to deal with possible serial correlation in the residuals.

 

Unrestricted long lags are easy to estimate. The others take a bit more work, though we do have a procedure for doing standard polynomial distributed lags (PDL’s).

Data-determined lag lengths

These use one of the information criteria such as Akaike or Schwarz, or a general-to-specific testing strategy to find the “optimal” lag length. The AKAIKE.RPF offers an example of that applied to this model. Note that both criteria used there pick the same lag length: the maximum given. This is not uncommon for a distributed lag where the X variable is highly serially correlated—Sims (1974) explains why the tail coefficients (no matter what the length chosen) tend to turn sharply higher when X has those properties.

 

“Hard” restrictions

These are done using restricted least squares typically with ENCODE and LINREG(UNRAVEL...). You should note that the t-statistics on individual coefficients may end up being extremely high in such a regression. This is because each tests whether its coefficient can be made zero while maintaining the shape restriction, which is often nearly impossible. The most common of these is the polynomial or Almon lag. The procedure @PDL handles these types of estimates; see PDL.RPF for an example.

 

Geometric distributed lags (or Koyck lags), which are “hard,” infinite (rather than finite) lags, are a special case of transfer functions. See the instruction BOXJENK for more on that.

 

“Soft” restrictions

Compute these by mixed estimation. An example is provided on SHILLER.RPF.

 

ARDL (AutoRegressive Distributed Lags)

An increasingly common way to handle this type of analysis is the ARDL model (AutoRegressive Distributed Lag) which combines the distributed lag with lagged dependent variables. The standard distributed lag model \eqref{eq:linreg_dlgeneral} usually leaves very high serial correlation in the residuals. Adding lags of the dependent variable to the regression gives a model which can be represented in lag form as:

\begin{equation} \alpha (L)y_t = \beta (L)x_t + u_t \label{eq:linreg_ardl} \end{equation}

The dynamic responses of \(y\) to \(x\) can be computed by doing the polynomial division \(\beta (L)/\alpha (L)\). The RATS polynomial functions can be used to do this.

 

The following (also from DISTRIBLAG.RPF) estimates an ARDL for the interest rates, with three lags of the dependent variable and current to four lags of the explanatory variable. These were chosen using a preliminary stepwise regression (done with STWISE).

 

linreg longrate

# constant longrate{1 2 3} shortrate{0 to 4}

 

The following extract the lag polynomials from the regression. (On the %EQNxxxxx functions equation “0” is the most recent regression). %EQNLAGPOLY recognizes the LONGRATE is the dependent variable, so it returns in ARPOLY the coefficients for

\begin{equation} 1 - \alpha _1 L - \alpha _2 L^2 - \alpha _3 L^3 \label{eq:linreg_ardldenominator} \end{equation}

while DLPOLY (for the explanatory variable) will be

\begin{equation} \beta _0 + \beta _1 L + \beta _2 L^2 + \beta _3 L^3 + \beta _4 L^4 \label{eq:linreg_ardlnumerator} \end{equation}

Then DLPOLY is divided by ARPOLY and expanded out to the 24th degree. (The distributed lag is theoretically infinite in length, so it has to be truncated at some point).

 

compute arpoly=%eqnlagpoly(0,longrate)

compute dlpoly=%eqnlagpoly(0,shortrate)

compute ardlpoly=%polydiv(dlpoly,arpoly,24)

 

The long-run response can be computed by evaluating the polynomials at the value 1.

 

disp "LR Response" %polyvalue(dlpoly,1.0)/%polyvalue(arpoly,1.0)

 


Copyright © 2025 Thomas A. Doan