Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Chapter 18 — Dynamic Regression and ARDL Models

In the previous chapter, we saw that regressions involving nonstationary variables can produce spurious results.

One common response was to difference the data:

Δyt=α+βΔxt+ut\Delta y_t = \alpha + \beta \Delta x_t + u_t

At first glance, this may look like a technical fix. But it is more than that.

This chapter introduces dynamic regression models more generally. These models allow us to study how relationships unfold over time.


Learning Objectives

By the end of this chapter, you should be able to:


18.1 From Spurious Regression to Dynamics

Recall the differenced regression:

Δyt=α+βΔxt+ut\Delta y_t = \alpha + \beta \Delta x_t + u_t

This model no longer explains the level of yty_t using the level of xtx_t. Instead, it explains how changes in one variable are related to changes in another.

For example:

This is already a dynamic way of thinking.


18.2 What Is a Dynamic Model?

A dynamic model allows current outcomes to depend on time-related information, such as:

Static vs Dynamic Models

A static model is:

yt=α+βxt+uty_t = \alpha + \beta x_t + u_t

This says that yty_t responds immediately to xtx_t.

A dynamic model might be:

yt=α+βxt+γyt1+uty_t = \alpha + \beta x_t + \gamma y_{t-1} + u_t

Here, yty_t depends not only on xtx_t, but also on its own past value.


18.3 Why Dynamics Matter

Many economic relationships do not adjust instantly.

For example:

This makes them especially useful in economics, finance, and business forecasting.


18.4 Distributed Lag Models

A natural way to introduce dynamics is to include current and past values of an explanatory variable.

A simple distributed lag model is:

yt=α+β0xt+β1xt1+β2xt2+uty_t = \alpha + \beta_0 x_t + \beta_1 x_{t-1} + \beta_2 x_{t-2} + u_t

Here:

Short-Run and Cumulative Effects

In the distributed lag model:

yt=α+β0xt+β1xt1+β2xt2+uty_t = \alpha + \beta_0 x_t + \beta_1 x_{t-1} + \beta_2 x_{t-2} + u_t

the short-run effect is:

β0\beta_0

The cumulative effect over three periods is:

β0+β1+β2\beta_0 + \beta_1 + \beta_2

18.5 Autoregressive Distributed Lag Models

We now combine two ideas:

This gives the autoregressive distributed lag model, or ARDL.


where:


18.6 Interpreting an ARDL Model

Consider a simple ARDL(1,1):

yt=α+ϕyt1+β0xt+β1xt1+uty_t = \alpha + \phi y_{t-1} + \beta_0 x_t + \beta_1 x_{t-1} + u_t

The coefficients have different roles:


18.7 Short-Run and Long-Run Effects

Dynamic models distinguish between:

For the ARDL(1,1):

yt=α+ϕyt1+β0xt+β1xt1+uty_t = \alpha + \phi y_{t-1} + \beta_0 x_t + \beta_1 x_{t-1} + u_t

the immediate short-run effect is:

β0\beta_0

If the system is stable, the long-run multiplier is:

β0+β11ϕ\frac{\beta_0 + \beta_1}{1-\phi}

More generally:

Long-run multiplier=jβj1iϕi\text{Long-run multiplier} = \frac{\sum_j \beta_j}{1-\sum_i \phi_i}

18.8 Dynamic Interpretation

Consider an increase in interest rates.

Its effect on output may not be immediate:

A dynamic model allows this adjustment path to be represented explicitly.


18.9 Differencing as a Restricted Dynamic Model

Recall from Chapter 17:

Δyt=βΔxt+ut\Delta y_t = \beta \Delta x_t + u_t

This can be viewed as a restricted dynamic model:

This is useful for avoiding spurious regression, but it may discard economically meaningful long-run information.


18.10 Why Differencing Is Not Enough

While differencing often solves the spurious regression problem, it comes at a cost.

Differencing may remove:

This motivates cointegration and the error correction model.


18.11 Looking Ahead: ECM

Dynamic models (ARDL) attempt to bridge this gap by modeling:

in a unified framework.

If two variables share a long-run equilibrium relationship, we may want to model both:

  1. short-run changes

  2. adjustment back toward the long-run relationship

This leads to the Error Correction Model (ECM):

Δyt=βΔxt+γ(yt1θxt1)+ut\Delta y_t = \beta \Delta x_t + \gamma (y_{t-1} - \theta x_{t-1}) + u_t

We return to this idea in later chapters.


18.12 Gretl Example: ARDL Model

We now estimate a simple ARDL model using the denmark dataset in GRETL.

Step 1: Load the Data

File → Open data → Sample file...

Select the denmark data from the GRETL database.

The variables include:

LRM     log of real money supply, M2
LRY     log of real income
IBO     bond rate
IDE     bank deposit rate
Denmark macroeconomic data

Figure 1:Denmark macroeconomic data

Step 2: Estimate ARDL(1,1)

We estimate:

LRMt=α+ϕLRMt1+β0LRYt+β1LRYt1+utLRM_t = \alpha + \phi LRM_{t-1} + \beta_0 LRY_t + \beta_1 LRY_{t-1} + u_t

Model → Ordinary Least Squares

To create lags, click the lags... icon in the model specification window.

Command

ols LRM const LRM(-1) LRY LRY(-1)

Example output:

Model 1: OLS, using observations 1974:2-1987:3 (T = 54)
Dependent variable: LRM

             coefficient   std. error   t-ratio    p-value 
  ---------------------------------------------------------
  const        0.125046    0.342856      0.3647   0.7169   
  LRM_1        1.00090     0.0580381    17.25     1.09e-022 ***
  LRY          0.630431    0.173817      3.627    0.0007    ***
  LRY_1       −0.652328    0.170176     −3.833    0.0004    ***

Mean dependent var   11.75666   S.D. dependent var   0.152858
Sum squared resid    0.044114   S.E. of regression   0.029703
R-squared            0.964377   Adjusted R-squared   0.962240
F(3, 50)             451.2022   P-value(F)           3.49e-36
Log-likelihood       115.3464   Akaike criterion    −222.6929
Schwarz criterion   −214.7370   Hannan-Quinn        −219.6246
rho                 −0.186568   Durbin's h          −1.515760

This can be written as:

LRM^t=0.125(0.343)+1.001(0.058)LRMt1+0.630(0.174)LRYt0.652(0.170)LRYt1T=54R2=0.9622F(3,50)=451.20σ^=0.0297(standard errors in parentheses)\begin{gather*} \widehat{LRM}_t = \underset{(0.343)}{0.125} + \underset{(0.058)}{1.001} LRM_{t-1} + \underset{(0.174)}{0.630} LRY_t - \underset{(0.170)}{0.652} LRY_{t-1} \\ T = 54 \quad \overline{R}^2 = 0.9622 \quad F(3,50)=451.20 \quad \hat{\sigma}=0.0297 \\ \text{\footnotesize (standard errors in parentheses)} \end{gather*}

18.13 Diagnosing ARDL Models

After estimating an ARDL model, we need to check whether the model has captured the relevant dynamics.

If residuals still contain autocorrelation, the model is missing some dynamic structure.

What Do We Mean by White Noise Residuals?

Residuals should show:

Step 1: Plot Residuals

Graph → Time series plot

Select residuals, such as uhat.

You can also right click on the residual variable and select Time series plot.

Command

gnuplot uhat --time-series
Residual plot

Figure 2:Residual plot

Step 2: Residual Correlogram

Select uhat.

Variable → Correlogram

You can also right click on uhat and select Correlogram.

Command

corrgm uhat
Correlogram of residuals

Figure 3:Correlogram of residuals

Step 3: Formal Test for Serial Correlation

In the model window:

Tests → Autocorrelation

GRETL reports tests such as the Breusch–Godfrey test and Ljung–Box Q test.

Example output:

Breusch-Godfrey test for autocorrelation up to order 4
OLS, using observations 1974:2-1987:3 (T = 54)
Dependent variable: uhat

             coefficient   std. error   t-ratio    p-value
  --------------------------------------------------------
  const       0.342059     0.336486      1.017     0.3147 
  LRY        −0.00513435   0.162471     −0.03160   0.9749 
  LRY_1       0.0773596    0.173429      0.4461    0.6576 
  LRM_1      −0.0657127    0.0631492    −1.041     0.3035 
  uhat_1     −0.0607536    0.158039     −0.3844    0.7024 
  uhat_2      0.427085     0.147320      2.899     0.0057  ***
  uhat_3      0.110868     0.162276      0.6832    0.4979 
  uhat_4      0.240594     0.160901      1.495     0.1417 

  Unadjusted R-squared = 0.283633

Test statistic: LMF = 4.553230,
with p-value = P(F(4,46) > 4.55323) = 0.0035

Alternative statistic: TR^2 = 15.316197,
with p-value = P(Chi-square(4) > 15.3162) = 0.00409

Ljung-Box Q' = 23.0858,
with p-value = P(Chi-square(4) > 23.0858) = 0.000122

What If Residuals Are Not White Noise?

If residuals show autocorrelation, possible responses include:

Important Distinction


18.14 Practical Checklist


18.15 Common Mistakes


18.16 Looking Ahead

Dynamic models help us understand how variables adjust over time.

But they do not fully resolve the issue of nonstationarity.

Is it possible to retain long-run information while avoiding spurious regression?

Yes — if a particular combination of nonstationary variables is stationary.

This concept is called cointegration, which we study later.

Key Takeaways

Concept Check

Basic

  1. What is a dynamic regression model?

  2. What is the difference between a static and a dynamic model?

  3. What is a distributed lag model?


Intuition

  1. Why do many economic relationships adjust gradually rather than instantly?

  2. What does it mean for effects to “unfold over time”?

  3. Why is including lagged variables important?


ARDL Models

  1. What are the two key components of an ARDL model?

  2. What does the lagged dependent variable capture?

  3. What do lagged explanatory variables capture?


Short-Run vs Long-Run

  1. What is the short-run effect in a distributed lag model?

  2. What is the long-run multiplier?

  3. Why are these two effects different?


Diagnostics

  1. What should residuals look like in a well-specified dynamic model?

  2. Why is residual autocorrelation a problem?


Challenge

  1. Why is differencing alone not sufficient for economic modeling?


Interpretation & Practice

  1. A static model shows poor fit, but a dynamic model fits well.

    • What does this suggest?

  2. A model includes lagged dependent variables.

    • What type of behavior is being captured?

  3. Residuals show strong autocorrelation.

    • What does this imply?

    • What should you do?

  4. A model shows strong short-run effects but weak long-run effects.

    • What might this indicate?

  5. A model shows large long-run multiplier.

    • What does this imply about persistence?


Trade-Off Interpretation

  1. Differencing removes long-run relationships.

    • Why is this a problem?

  2. A levels regression shows strong relationship but residuals are nonstationary.

    • What does this imply?


Challenge

  1. Why might ARDL be preferred over simple differencing?


Numerical Practice

Distributed Lag

  1. Suppose:

yt=2+0.5xt+0.3xt1y_t = 2 + 0.5x_t + 0.3x_{t-1}

ARDL(1,1)

  1. Suppose:

yt=1+0.6yt1+0.4xt+0.2xt1y_t = 1 + 0.6y_{t-1} + 0.4x_t + 0.2x_{t-1}

Interpretation

  1. If ϕ=0.9\phi = 0.9, what does this imply about adjustment speed?


Diagnostics

  1. Residual correlogram shows significant spikes.


Model Improvement

  1. What are two ways to improve a poorly specified ARDL model?


Challenge

  1. Suppose:


Appendix 18A — Dynamic Models and Long-Run Effects

This appendix shows how long-run effects arise from a simple ARDL model.


A.1 A Simple ARDL(1,1)

Consider:

yt=α+ϕyt1+β0xt+β1xt1+uty_t = \alpha + \phi y_{t-1} + \beta_0 x_t + \beta_1 x_{t-1} + u_t

A.2 Steady-State Long-Run Equilibrium

In the long run, suppose:

yt=yt1=yandxt=xt1=xy_t = y_{t-1}=y \quad \text{and} \quad x_t = x_{t-1}=x

Substitute these into the ARDL(1,1) model:

y=α+ϕy+β0x+β1xy = \alpha + \phi y + \beta_0 x + \beta_1 x

So:

y=α+ϕy+(β0+β1)xy = \alpha + \phi y + (\beta_0+\beta_1)x

Rearranging:

(1ϕ)y=α+(β0+β1)x(1-\phi)y = \alpha + (\beta_0+\beta_1)x

Therefore:

y=α1ϕ+β0+β11ϕxy = \frac{\alpha}{1-\phi} + \frac{\beta_0+\beta_1}{1-\phi}x


A.3 Stability Condition

For the long-run expression to be meaningful, the process must be dynamically stable.

For ARDL(1,1), this requires:

ϕ<1|\phi| < 1

A.4 Dynamic Adjustment

Start again from:

yt=α+ϕyt1+β0xt+β1xt1+uty_t = \alpha + \phi y_{t-1} + \beta_0 x_t + \beta_1 x_{t-1} + u_t

Subtract yt1y_{t-1} from both sides:

Δyt=α+(ϕ1)yt1+β0xt+β1xt1+ut\Delta y_t = \alpha + (\phi-1)y_{t-1} + \beta_0 x_t + \beta_1 x_{t-1} + u_t

Since:

xt=xt1+Δxtx_t = x_{t-1} + \Delta x_t

we can write:

Δyt=α+β0Δxt+(ϕ1)yt1+(β0+β1)xt1+ut\Delta y_t = \alpha + \beta_0 \Delta x_t + (\phi-1)y_{t-1} + (\beta_0+\beta_1)x_{t-1} + u_t

This expression begins to reveal the link between ARDL and ECM.


An ECM has the form:

Δyt=βΔxt+γ(yt1θxt1)+ut\Delta y_t = \beta \Delta x_t + \gamma (y_{t-1}-\theta x_{t-1}) + u_t

The ECM representation makes this separation explicit.


Appendix 18B — ARDL Bounds Test for Cointegration

The ARDL framework can also be used to test for long-run relationships between variables.

This approach is known as the ARDL bounds testing procedure (Pesaran et al.).


B.1 Motivation

Recall the key problem:


B.2 From ARDL to Error Correction Form

Consider an ARDL(1,1):

yt=α+ϕyt1+β0xt+β1xt1+uty_t = \alpha + \phi y_{t-1} + \beta_0 x_t + \beta_1 x_{t-1} + u_t

This can be rewritten as:

Δyt=α+β0Δxt+γyt1+δxt1+ut\Delta y_t = \alpha + \beta_0 \Delta x_t + \gamma y_{t-1} + \delta x_{t-1} + u_t

where:



B.3 The Bounds Test

We test:

H0:γ=0andδ=0H_0: \gamma = 0 \quad \text{and} \quad \delta = 0
No long-run relationship

against:

At least one is non-zero → long-run relationship exists

B.4 Decision Rule

The test uses an F-statistic.

Compare it with two bounds:



B.5 Why This Is Useful


B.6 Intuition


If cointegration is confirmed, we can write:

Δyt=βΔxt+λ(yt1θxt1)+ut\Delta y_t = \beta \Delta x_t + \lambda (y_{t-1} - \theta x_{t-1}) + u_t

B.8 Important Caution


B.9 Looking Ahead

We will study cointegration formally in Chapter 20.