Module 11: Structural VARs

From Connected Equations to Identification · Econ 6376

How to Use These Notes

The main text is Core: the concepts, interpretations, and applied skills expected of everyone. Deeper Dive explains a result further; Technical Note supplies a qualification; Looking Ahead previews a later module. Those three optional layers are not required for credit. The Core Practice questions use only the main reading path.

This chapter has a deliberately slow middle. We will draw a connected system, write its equations, solve those equations by substitution, and then recognize the same operations in matrix notation. The purpose of the algebra is to discover what a fitted VAR coefficient actually measures. Once the transformation is visible, the identification problem will be much easier to understand.

Our Concept → Math → Simulation → Application sequence runs through the chapter as one argument. Sections 11.1–11.2 establish the system; 11.3–11.4 work through its algebra; 11.5 generates and estimates it, including a deliberately mistaken interpretation; 11.6 asks what additional assumptions recover a structural explanation and applies that reasoning to a policy question. Section 11.7 motivates the response and uncertainty summaries developed in later modules. We use a substantive economic timing scenario for the application here, rather than adding a separate empirical estimation exercise to the algebra.

Before running the examples

Run the R chunks in chapter order in a fresh session. You need base R and knitr; no data download, credentials, or additional files are required. The HTML works offline. Our simulation is a small, single-process illustration, not a Monte Carlo experiment. The code writes the equations directly rather than hiding them inside a helper function.

Core Learning Objectives

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

  1. Explain why reciprocal relationships call for a system of equations and distinguish lagged feedback from contemporaneous simultaneity.
  2. Translate a two-variable structural diagram into a structural VAR(1).
  3. Derive both reduced-form equations by substitution, including their intercepts, lag coefficients, and innovations.
  4. Read the same derivation in vector and matrix notation and explain the role of an inverse.
  5. Explain what equation-by-equation OLS estimates and why a reduced-form coefficient is generally not a primitive structural effect.
  6. Explain the identification problem and recover a recursive two-variable structure under an explicit restriction.
  7. Extend the identification argument to three and four equations, and derive the additional restriction count m(m−1)/2m(m-1)/2 under the chapter’s normalization and shock assumptions.
  8. State the different system questions that motivate impulse responses and forecast error variance decomposition.

11.1 From One Outcome to a Connected System — Core

The pond

Imagine a still pond. Drop a stone near one edge. A disturbance begins at one location, but the motion you observe elsewhere depends on the connections across the water. Watching one point does not tell you everything about how the pond works. The location of the initial disturbance and the system that transmits it both matter.

An economic system presents the same difficulty. Inflation may influence a policy decision; policy may influence inflation. A movement in the policy rate could be a response to news about inflation, an unexpected policy disturbance, or a combination. Seeing the rate move does not tell us which explanation produced it.

The pond is an organizing picture, not a literal physical model of the economy. Our equations will specify the connections precisely. In particular, we will distinguish relationships within the observation period from relationships that carry movements into the next period.

Give the predictor an equation

In Module 8, the ARDL explained one outcome using its own lags and a predictor’s current and lagged values. A simple version was

yt=α+ϕ1yt−1+β0xt+β1xt−1+ϵt. y_t=\alpha+\phi_1y_{t-1}+\beta_0x_t+\beta_1x_{t-1}+\epsilon_t.

This equation already allowed a contemporaneous xt→ytx_t\rightarrow y_t connection when a structural interpretation was justified. It did not supply a complete model of how xtx_t was determined. A conditional analysis could take the xx information as given. To describe joint evolution, we give xx an equation too.

On the mixing board, the one-lag own-variable channels stay on. We add cross-variable lag channels and potentially contemporaneous connections, then provide an equation for each outcome. Calling the system vector autoregressive means that a vector of current outcomes depends on its own vector of past values. The “1” in VAR(1) refers to one lag of that vector, not one variable or one coefficient.

From one conditional equation to a simultaneous system Three panels show yesterday's y and x at left and today's y and x at right. Panel one has arrows into today's y from yesterday's y, yesterday's x, and today's x. Panel two adds arrows from yesterday's variables into today's x. Panel three adds a separate curved arrow from today's y back to today's x, forming a directed contemporaneous cycle. 1. One conditional outcomeYesterdayToday yₜ₋₁xₜ₋₁yₜxₜOnly y has an equation.Current x can enter it. 2. Give x an equation tooYesterdayToday yₜ₋₁xₜ₋₁yₜxₜBoth histories enterboth equations. 3. Allow current feedbackYesterdayToday yₜ₋₁xₜ₋₁yₜxₜTwo current arrows:a simultaneous system.
Gray arrows cross dates. Blue arrows run from current x to current y. The separate orange arrow adds current y to current x. Disturbance arrows are omitted only to keep the progression readable.

The first two time-unrolled diagrams are acyclic. The third contains a directed cycle within the current period, so it is a simultaneous structural diagram, not a directed acyclic graph (DAG). The two separate arrows represent two proposed mechanisms; a single two-headed arrow often denotes a different idea—correlated unobserved causes—and is not our notation here.

Lagged feedback causes no such contemporaneous cycle. An arrow from yt−1y_{t-1} into xtx_t crosses time. Once we also allow current yty_t to determine current xtx_t, solving either equation requires accounting for the other current variable. That is the algebraic problem we now tackle.

11.2 Translate the Arrows into Structural Equations — Core

Two equations, one period of memory

Write the proposed generating system as

yt=αy+byxxt+ϕyyyt−1+ϕyxxt−1+ηy,t,xt=αx+bxyyt+ϕxyyt−1+ϕxxxt−1+ηx,t. \begin{aligned} y_t&=\alpha_y+b_{yx}x_t+\phi_{yy}y_{t-1} +\phi_{yx}x_{t-1}+\eta_{y,t},\\ x_t&=\alpha_x+b_{xy}y_t+\phi_{xy}y_{t-1} +\phi_{xx}x_{t-1}+\eta_{x,t}. \end{aligned}

The first subscript names the equation receiving the effect; the second names the variable entering it. Thus byxb_{yx} multiplies current xx in the yy equation, while ϕyx\phi_{yx} multiplies lagged xx in that equation. The bb coefficients describe contemporaneous connections. The ϕ\phi coefficients describe one-period lag connections. The repeated-letter coefficients ϕyy\phi_{yy} and ϕxx\phi_{xx} describe own persistence.

The intercepts are αy\alpha_y and αx\alpha_x. Each equation has its own structural disturbance, ηy,t\eta_{y,t} or ηx,t\eta_{x,t}. We use a new symbol, η\eta, because the structural disturbances will generally differ from the reduced-form innovations ϵ\epsilon we estimate indirectly. An estimated residual will still be written ee, as in earlier modules.

For the constructed system, assume the structural disturbances have mean zero, positive constant variances ωy\omega_y and ωx\omega_x, are independent across dates and independent of the past, and are uncorrelated with one another at the same date:

Var(ηy,t)=ωy>0,Var(ηx,t)=ωx>0,Cov(ηy,t,ηx,t)=0. \operatorname{Var}(\eta_{y,t})=\omega_y>0,\qquad \operatorname{Var}(\eta_{x,t})=\omega_x>0,\qquad \operatorname{Cov}(\eta_{y,t},\eta_{x,t})=0.

These are assumptions about the generating system. We do not establish them by naming an equation “structural.” For simulation we will use independent Gaussian draws, which satisfy the assumptions. The algebra itself does not require Gaussian distributions.

What does a structural coefficient mean?

In the proposed yy equation, byxb_{yx} describes the direct contemporaneous dependence on xtx_t, with the other entries of that equation held fixed. But in the whole system, xtx_t also depends on yty_t. A change to one structural disturbance may move both variables. Neither equation’s direct coefficient alone measures that joint movement.

For a concrete economic reading, we might let yy be inflation and xx the policy rate. The first equation allows inflation to depend on current policy, while the second allows policy to respond to current inflation. Whether either current connection is plausible depends on the observation period and the economic timing. We will return to that choice in Section 11.6; the numerical DGP is a teaching model, not a calibrated monetary-policy model.

Pause and predict. If the two structural disturbances are uncorrelated, must the two variables’ unexpected movements also be uncorrelated? Keep that prediction in mind as we solve the system.

11.3 Solve the System by Substitution — Core

Our destination is a pair of equations with only known lags on the right-hand side, plus innovations. We will first solve for yty_t, then repeat the process for xtx_t. Repetition is useful here: each numerator reveals which connections enter the corresponding coefficient.

For this forward calculation, take the structural coefficients, yesterday’s values, and a particular pair of shock realizations as fixed inputs. We are solving for the two current outcomes generated by those inputs. This describes how the DGP works; it does not mean that an analyst observes the structural shocks in real data.

A coefficient to follow. Track the coefficient on yesterday’s xx in the yy equation. If its direct structural coefficient ϕyx\phi_{yx} is zero, must its reduced-form coefficient also be zero? Make a prediction before following the substitution.

First solve for current y

Start with the yy equation and replace its current xtx_t by the entire right-hand side of the xx equation:

yt=αy+byx(αx+bxyyt+ϕxyyt−1+ϕxxxt−1+ηx,t)+ϕyyyt−1+ϕyxxt−1+ηy,t. \begin{aligned} y_t={}&\alpha_y +b_{yx}\left(\alpha_x+b_{xy}y_t +\phi_{xy}y_{t-1}+\phi_{xx}x_{t-1}+\eta_{x,t}\right)\\ &+\phi_{yy}y_{t-1}+\phi_{yx}x_{t-1}+\eta_{y,t}. \end{aligned}

Distribute byxb_{yx} across every term inside the parentheses:

yt=αy+byxαx+byxbxyyt+byxϕxyyt−1+byxϕxxxt−1+byxηx,t+ϕyyyt−1+ϕyxxt−1+ηy,t. \begin{aligned} y_t={}&\alpha_y+b_{yx}\alpha_x+b_{yx}b_{xy}y_t\\ &+b_{yx}\phi_{xy}y_{t-1}+b_{yx}\phi_{xx}x_{t-1} +b_{yx}\eta_{x,t}\\ &+\phi_{yy}y_{t-1}+\phi_{yx}x_{t-1}+\eta_{y,t}. \end{aligned}

The substitution has brought yty_t back onto its own right-hand side. Move that term to the left, and collect the intercept, the yy lag, the xx lag, and the two disturbances:

(1−byxbxy)yt=αy+byxαx+(ϕyy+byxϕxy)yt−1+(ϕyx+byxϕxx)xt−1+ηy,t+byxηx,t. \begin{aligned} (1-b_{yx}b_{xy})y_t ={}&\alpha_y+b_{yx}\alpha_x\\ &+(\phi_{yy}+b_{yx}\phi_{xy})y_{t-1}\\ &+(\phi_{yx}+b_{yx}\phi_{xx})x_{t-1}\\ &+\eta_{y,t}+b_{yx}\eta_{x,t}. \end{aligned}

Define D=1−byxbxyD=1-b_{yx}b_{xy}. Provided D≠0D\neq0, divide every term by DD:

yt=αy+byxαxD+ϕyy+byxϕxyDyt−1+ϕyx+byxϕxxDxt−1+ηy,t+byxηx,tD. \boxed{ \begin{aligned} y_t={}&\frac{\alpha_y+b_{yx}\alpha_x}{D} +\frac{\phi_{yy}+b_{yx}\phi_{xy}}{D}y_{t-1}\\ &+\frac{\phi_{yx}+b_{yx}\phi_{xx}}{D}x_{t-1} +\frac{\eta_{y,t}+b_{yx}\eta_{x,t}}{D}. \end{aligned}}

There is no current xtx_t left on the right. Its influence has been incorporated into the intercept, both lag coefficients, and the innovation.

Pause and interpret. Point to the two pieces in the numerator of the xt−1x_{t-1} coefficient. Which came directly from the original yy equation, and which arrived when we substituted for current xtx_t?

Now solve for current x

Before repeating the calculation, predict whether the denominator should change when we solve for the other outcome. Watch for the reciprocal current-coefficient product as you work.

Start from the other equation and substitute for current yty_t:

xt=αx+bxy(αy+byxxt+ϕyyyt−1+ϕyxxt−1+ηy,t)+ϕxyyt−1+ϕxxxt−1+ηx,t. \begin{aligned} x_t={}&\alpha_x +b_{xy}\left(\alpha_y+b_{yx}x_t +\phi_{yy}y_{t-1}+\phi_{yx}x_{t-1}+\eta_{y,t}\right)\\ &+\phi_{xy}y_{t-1}+\phi_{xx}x_{t-1}+\eta_{x,t}. \end{aligned}

Distribute the contemporaneous coefficient:

xt=αx+bxyαy+bxybyxxt+bxyϕyyyt−1+bxyϕyxxt−1+bxyηy,t+ϕxyyt−1+ϕxxxt−1+ηx,t. \begin{aligned} x_t={}&\alpha_x+b_{xy}\alpha_y+b_{xy}b_{yx}x_t\\ &+b_{xy}\phi_{yy}y_{t-1}+b_{xy}\phi_{yx}x_{t-1} +b_{xy}\eta_{y,t}\\ &+\phi_{xy}y_{t-1}+\phi_{xx}x_{t-1}+\eta_{x,t}. \end{aligned}

Move the current xtx_t term to the left and collect:

Dxt=αx+bxyαy+(ϕxy+bxyϕyy)yt−1+(ϕxx+bxyϕyx)xt−1+ηx,t+bxyηy,t. \begin{aligned} Dx_t ={}&\alpha_x+b_{xy}\alpha_y\\ &+(\phi_{xy}+b_{xy}\phi_{yy})y_{t-1}\\ &+(\phi_{xx}+b_{xy}\phi_{yx})x_{t-1}\\ &+\eta_{x,t}+b_{xy}\eta_{y,t}. \end{aligned}

Dividing by the same DD gives

xt=αx+bxyαyD+ϕxy+bxyϕyyDyt−1+ϕxx+bxyϕyxDxt−1+ηx,t+bxyηy,tD. \boxed{ \begin{aligned} x_t={}&\frac{\alpha_x+b_{xy}\alpha_y}{D} +\frac{\phi_{xy}+b_{xy}\phi_{yy}}{D}y_{t-1}\\ &+\frac{\phi_{xx}+b_{xy}\phi_{yx}}{D}x_{t-1} +\frac{\eta_{x,t}+b_{xy}\eta_{y,t}}{D}. \end{aligned}}

The denominator is not an arbitrary adjustment. It arose because each substitution returned part of the variable to its own equation. If D=0D=0, these steps cannot produce a unique current solution for arbitrary lags and disturbances. We exclude that singular case.

Give the transformed quantities names

The reduced form expresses current outcomes using lagged information and innovations:

yt=ay0+ayyyt−1+ayxxt−1+ϵy,t,xt=ax0+axyyt−1+axxxt−1+ϵx,t. \begin{aligned} y_t&=a_{y0}+a_{yy}y_{t-1}+a_{yx}x_{t-1}+\epsilon_{y,t},\\ x_t&=a_{x0}+a_{xy}y_{t-1}+a_{xx}x_{t-1}+\epsilon_{x,t}. \end{aligned}

These equations are a shorter way to write exactly what we just derived. Every reduced-form object has a structural expression:

Reduced-form object Structural expression
ay0a_{y0} (αy+byxαx)/D(\alpha_y+b_{yx}\alpha_x)/D
ax0a_{x0} (αx+bxyαy)/D(\alpha_x+b_{xy}\alpha_y)/D
ayya_{yy} (ϕyy+byxϕxy)/D(\phi_{yy}+b_{yx}\phi_{xy})/D
ayxa_{yx} (ϕyx+byxϕxx)/D(\phi_{yx}+b_{yx}\phi_{xx})/D
axya_{xy} (ϕxy+bxyϕyy)/D(\phi_{xy}+b_{xy}\phi_{yy})/D
axxa_{xx} (ϕxx+bxyϕyx)/D(\phi_{xx}+b_{xy}\phi_{yx})/D
ϵy,t\epsilon_{y,t} (ηy,t+byxηx,t)/D(\eta_{y,t}+b_{yx}\eta_{x,t})/D
ϵx,t\epsilon_{x,t} (ηx,t+bxyηy,t)/D(\eta_{x,t}+b_{xy}\eta_{y,t})/D

The reduced form preserves the joint solution of the proposed structural system. It has not deleted the contemporaneous connections. It has folded them into new coefficients and mixed disturbances.

A numerical case: a coefficient without a direct lag arrow

Use this stable illustrative DGP for the rest of the chapter:

yt=0.2+0.5xt+0.3yt−1+0xt−1+ηy,t,xt=0.1+0.25yt+0.1yt−1+0.4xt−1+ηx,t. \begin{aligned} y_t&=0.2+0.5x_t+0.3y_{t-1}+0x_{t-1}+\eta_{y,t},\\ x_t&=0.1+0.25y_t+0.1y_{t-1}+0.4x_{t-1}+\eta_{x,t}. \end{aligned}

Both contemporaneous arrows are present. The direct structural xt−1→ytx_{t-1}\rightarrow y_t arrow is absent because ϕyx=0\phi_{yx}=0. Each structural shock has variance one.

Here D=1−(0.5)(0.25)=7/8D=1-(0.5)(0.25)=7/8. For the reduced-form yy equation,

ay0=0.2+0.5(0.1)0.875=27,ayy=0.3+0.5(0.1)0.875=25,ayx=0+0.5(0.4)0.875=835. \begin{aligned} a_{y0}&=\frac{0.2+0.5(0.1)}{0.875}=\frac27,\\ a_{yy}&=\frac{0.3+0.5(0.1)}{0.875}=\frac25,\\ a_{yx}&=\frac{0+0.5(0.4)}{0.875}=\frac8{35}. \end{aligned}

For the reduced-form xx equation,

ax0=0.1+0.25(0.2)0.875=635,axy=0.1+0.25(0.3)0.875=15,axx=0.4+0.25(0)0.875=1635. \begin{aligned} a_{x0}&=\frac{0.1+0.25(0.2)}{0.875}=\frac6{35},\\ a_{xy}&=\frac{0.1+0.25(0.3)}{0.875}=\frac15,\\ a_{xx}&=\frac{0.4+0.25(0)}{0.875}=\frac{16}{35}. \end{aligned}

The complete reduced form is therefore

yt=27+25yt−1+835xt−1+87ηy,t+47ηx,t,xt=635+15yt−1+1635xt−1+27ηy,t+87ηx,t. \begin{aligned} y_t&=\frac27+\frac25y_{t-1}+\frac8{35}x_{t-1} +\frac87\eta_{y,t}+\frac47\eta_{x,t},\\ x_t&=\frac6{35}+\frac15y_{t-1}+\frac{16}{35}x_{t-1} +\frac27\eta_{y,t}+\frac87\eta_{x,t}. \end{aligned}

Why is ayx=8/35a_{yx}=8/35 positive when ϕyx=0\phi_{yx}=0? Yesterday’s xx enters today’s xx equation through 0.4xt−10.4x_{t-1}. Today’s xx then enters today’s yy equation through 0.5xt0.5x_t. The simultaneous solution also accounts for the reciprocal current connection. A nonzero reduced-form cross-lag coefficient is compatible with a zero direct structural cross-lag coefficient.

If software reports an estimate close to 8/358/35, it may be doing its job very well. The error would be to read that estimate as if it were the structural coefficient ϕyx\phi_{yx}.

11.4 Matrix Notation Records the Algebra — Core

Stack the quantities

A column vector places several numbers in a specified order. We choose yy first and xx second:

𝐘t=(ytxt),𝚪0=(αyαx),𝛈t=(ηy,tηx,t). \mathbf Y_t=\begin{pmatrix}y_t\\x_t\end{pmatrix},\qquad \boldsymbol\Gamma_0=\begin{pmatrix}\alpha_y\\\alpha_x\end{pmatrix},\qquad \boldsymbol\eta_t=\begin{pmatrix}\eta_{y,t}\\\eta_{x,t}\end{pmatrix}.

Each is a 2×12\times1 object: two rows and one column. The order must remain the same throughout the calculation.

Move the current cross-variable terms to the left in the scalar structural equations:

yt−byxxt=αy+ϕyyyt−1+ϕyxxt−1+ηy,t,−bxyyt+xt=αx+ϕxyyt−1+ϕxxxt−1+ηx,t. \begin{aligned} y_t-b_{yx}x_t&=\alpha_y+\phi_{yy}y_{t-1}+\phi_{yx}x_{t-1}+\eta_{y,t},\\ -b_{xy}y_t+x_t&=\alpha_x+\phi_{xy}y_{t-1}+\phi_{xx}x_{t-1}+\eta_{x,t}. \end{aligned}

Now define two 2×22\times2 matrices:

𝐁=(1−byx−bxy1),𝚪1=(ϕyyϕyxϕxyϕxx). \mathbf B=\begin{pmatrix}1&-b_{yx}\\-b_{xy}&1\end{pmatrix},\qquad \mathbf\Gamma_1=\begin{pmatrix}\phi_{yy}&\phi_{yx}\\\phi_{xy}&\phi_{xx}\end{pmatrix}.

Matrix multiplication takes a row from the matrix, multiplies its entries by the corresponding entries of the column vector, and adds. For example,

𝐁𝐘t=(1(yt)−byxxt−bxyyt+1(xt)),𝚪1𝐘t−1=(ϕyyyt−1+ϕyxxt−1ϕxyyt−1+ϕxxxt−1). \mathbf B\mathbf Y_t =\begin{pmatrix}1(y_t)-b_{yx}x_t\\-b_{xy}y_t+1(x_t)\end{pmatrix},\qquad \mathbf\Gamma_1\mathbf Y_{t-1} =\begin{pmatrix}\phi_{yy}y_{t-1}+\phi_{yx}x_{t-1}\\ \phi_{xy}y_{t-1}+\phi_{xx}x_{t-1}\end{pmatrix}.

The two structural equations have become one vector equation:

𝐁𝐘t=𝚪0+𝚪1𝐘t−1+𝛈t. \boxed{\mathbf B\mathbf Y_t =\boldsymbol\Gamma_0+\mathbf\Gamma_1\mathbf Y_{t-1}+\boldsymbol\eta_t.}

Every term is a 2×12\times1 vector after multiplication. The compact notation has changed the bookkeeping, not the model.

The identity and the inverse

The identity matrix leaves a vector unchanged:

𝐈=(1001),𝐈𝐘t=𝐘t. \mathbf I=\begin{pmatrix}1&0\\0&1\end{pmatrix},\qquad \mathbf I\mathbf Y_t=\mathbf Y_t.

For an invertible matrix 𝐁\mathbf B, its inverse 𝐁−1\mathbf B^{-1} satisfies 𝐁−1𝐁=𝐈\mathbf B^{-1}\mathbf B=\mathbf I. It undoes multiplication by 𝐁\mathbf B. For our two-by-two matrix,

𝐁−1=1D(1byxbxy1),D=1−byxbxy≠0. \mathbf B^{-1} =\frac1D\begin{pmatrix}1&b_{yx}\\b_{xy}&1\end{pmatrix}, \qquad D=1-b_{yx}b_{xy}\neq0.

We can verify the inverse directly:

1D(1byxbxy1)(1−byx−bxy1)=1D(D00D)=𝐈. \frac1D \begin{pmatrix}1&b_{yx}\\b_{xy}&1\end{pmatrix} \begin{pmatrix}1&-b_{yx}\\-b_{xy}&1\end{pmatrix} =\frac1D\begin{pmatrix}D&0\\0&D\end{pmatrix} =\mathbf I.

Multiply the structural vector equation on the left by that inverse. On the left-hand side, the operations are

𝐁−1(𝐁𝐘t)=(𝐁−1𝐁)𝐘t=𝐈𝐘t=𝐘t. \mathbf B^{-1}(\mathbf B\mathbf Y_t) =(\mathbf B^{-1}\mathbf B)\mathbf Y_t =\mathbf I\mathbf Y_t =\mathbf Y_t.

Apply the same premultiplication to every term on the right-hand side:

𝐘t=𝐁−1𝚪0+𝐁−1𝚪1𝐘t−1+𝐁−1𝛈t. \mathbf Y_t =\mathbf B^{-1}\boldsymbol\Gamma_0 +\mathbf B^{-1}\mathbf\Gamma_1\mathbf Y_{t-1} +\mathbf B^{-1}\boldsymbol\eta_t.

The order matters. Matrix multiplication is not generally commutative, and some reversed products would not even have compatible dimensions.

Define

𝐀0=𝐁−1𝚪0,𝐀1=𝐁−1𝚪1,𝛜t=𝐁−1𝛈t. \mathbf A_0=\mathbf B^{-1}\boldsymbol\Gamma_0,\qquad \mathbf A_1=\mathbf B^{-1}\mathbf\Gamma_1,\qquad \boldsymbol\epsilon_t=\mathbf B^{-1}\boldsymbol\eta_t.

Then the reduced form is

𝐘t=𝐀0+𝐀1𝐘t−1+𝛜t. \boxed{\mathbf Y_t=\mathbf A_0+\mathbf A_1\mathbf Y_{t-1} +\boldsymbol\epsilon_t.}

In this course 𝐀0\mathbf A_0 is the intercept vector. Our contemporaneous matrix is 𝐁\mathbf B; some books use different letters. Expanding the rows of 𝐁−1𝚪1\mathbf B^{-1}\mathbf\Gamma_1 gives every coefficient in the table in Section 11.3. The inverse is a compact record of the substitution we already understand.

Find the scalar coefficient inside the product

For a matrix times another matrix, choose a row from the first matrix and a column from the second, multiply matching entries, and add. The result goes in that row and column of the product. To find ayxa_{yx}, use row 1 of 𝐁−1\mathbf B^{-1} and column 2 of 𝚪1\mathbf\Gamma_1:

(𝐁−1𝚪1)12=1D(1byx)(ϕyxϕxx)=1ϕyx+byxϕxxD=ayx. \begin{aligned} (\mathbf B^{-1}\mathbf\Gamma_1)_{12} &=\frac1D\begin{pmatrix}1&b_{yx}\end{pmatrix} \begin{pmatrix}\phi_{yx}\\\phi_{xx}\end{pmatrix}\\ &=\frac{1\phi_{yx}+b_{yx}\phi_{xx}}D\\ &=a_{yx}. \end{aligned}

Row 1 identifies the receiving yy equation; column 2 identifies the entering lagged variable xt−1x_{t-1}. We have recovered exactly the coefficient from scalar substitution. In our numerical example,

(𝐁−1𝚪1)12=1(0)+0.5(0.4)0.875=835. (\mathbf B^{-1}\mathbf\Gamma_1)_{12} =\frac{1(0)+0.5(0.4)}{0.875} =\frac8{35}.

The zero direct structural entry has become a nonzero reduced-form entry through the same route as before. Your turn: which row of 𝐁−1\mathbf B^{-1} and which column of 𝚪1\mathbf\Gamma_1 would produce axya_{xy}, the coefficient on yesterday’s yy in today’s xx equation? Identify them before calculating the two products.

Let R do the arithmetic

B <- matrix(c(1, -0.5, -0.25, 1), nrow = 2, byrow = TRUE)
Gamma0 <- c(y = 0.2, x = 0.1)
Gamma1 <- matrix(c(0.3, 0, 0.1, 0.4), nrow = 2, byrow = TRUE)
Omega <- diag(2)  # two unit-variance, uncorrelated structural shocks

B_inverse <- solve(B)
A0 <- solve(B, Gamma0)
A1 <- solve(B, Gamma1)
dimnames(A1) <- list(c("y equation", "x equation"), c("y lag", "x lag"))

knitr::kable(A1, digits = 4, caption = "Population reduced-form lag coefficients")
Population reduced-form lag coefficients
y lag x lag
y equation 0.4 0.2286
x equation 0.2 0.4571
round(B_inverse %*% B, 10)
     [,1] [,2]
[1,]    1    0
[2,]    0    1

byrow = TRUE fills a matrix across rows in the order written. %*% is matrix multiplication; * would multiply matching entries separately. solve(B) returns the inverse. solve(B, Gamma1) solves the matrix equation directly and gives the same result as solve(B) %*% Gamma1. For larger systems, use the linear solver rather than doing the arithmetic by hand.

Solvable today is different from stable over time

D≠0D\neq0 ensures that the contemporaneous equations have a unique solution for given lags and shocks. Stability asks a different question: does a disturbance’s propagated effect eventually die away as the system moves forward through time?

For this VAR(1), all eigenvalues of 𝐀1\mathbf A_1 must have modulus below one. An eigenvalue describes how the matrix scales a corresponding direction of movement; for now R can calculate them. This is the system version of checking the characteristic coefficient of an AR(1), not a requirement that every individual matrix entry be smaller than one.

eigenvalues <- eigen(A1)$values
eigenvalues
[1] 0.6442810 0.2128619
all(Mod(eigenvalues) < 1)
[1] TRUE

The eigenvalues are approximately 0.644 and 0.213, so our numerical system is stable. With the stated shock assumptions, it has a covariance-stationary solution. We use a burn-in below to reduce the effect of initialization. The course’s alternative lag-polynomial statement is that the roots of det(𝐈−𝐀1z)=0\det(\mathbf I-\mathbf A_1z)=0 lie outside the unit circle. The two checks are equivalent.

We solved two simultaneous equations. We did not assume that yy updates, then xx updates, then yy updates again an infinite number of times inside the period. A convergent iteration story would require an additional convergence condition. Algebraic invertibility only requires D≠0D\neq0. Similarly, changing the lag coefficients can make 𝐀1\mathbf A_1 unstable while leaving DD unchanged.

11.5 What Does VAR Output Estimate? — Core

The innovations are mixtures

Return to the scalar formulas:

ϵy,t=ηy,t+byxηx,tD,ϵx,t=bxyηy,t+ηx,tD. \epsilon_{y,t}=\frac{\eta_{y,t}+b_{yx}\eta_{x,t}}D, \qquad \epsilon_{x,t}=\frac{b_{xy}\eta_{y,t}+\eta_{x,t}}D.

Both reduced-form innovations can contain both structural shocks. Even though ηy,t\eta_{y,t} and ηx,t\eta_{x,t} are uncorrelated, the two mixtures share components. Using our shock assumptions,

Var(ϵy,t)=ωy+byx2ωxD2,Var(ϵx,t)=bxy2ωy+ωxD2,Cov(ϵy,t,ϵx,t)=bxyωy+byxωxD2. \begin{aligned} \operatorname{Var}(\epsilon_{y,t}) &=\frac{\omega_y+b_{yx}^2\omega_x}{D^2},\\ \operatorname{Var}(\epsilon_{x,t}) &=\frac{b_{xy}^2\omega_y+\omega_x}{D^2},\\ \operatorname{Cov}(\epsilon_{y,t},\epsilon_{x,t}) &=\frac{b_{xy}\omega_y+b_{yx}\omega_x}{D^2}. \end{aligned}

For example, the covariance numerator comes from multiplying the two mixtures. The term ηy,t(bxyηy,t)\eta_{y,t}(b_{xy}\eta_{y,t}) contributes bxyωyb_{xy}\omega_y; the term (byxηx,t)ηx,t(b_{yx}\eta_{x,t})\eta_{x,t} contributes byxωxb_{yx}\omega_x; the two cross-shock terms have expectation zero. Contemporaneous covariance in the reduced form is compatible with uncorrelated structural shocks.

The covariance matrix arranges those quantities as

𝚺=(Var(ϵy,t)Cov(ϵy,t,ϵx,t)Cov(ϵy,t,ϵx,t)Var(ϵx,t)). \boldsymbol\Sigma= \begin{pmatrix} \operatorname{Var}(\epsilon_{y,t}) & \operatorname{Cov}(\epsilon_{y,t},\epsilon_{x,t})\\ \operatorname{Cov}(\epsilon_{y,t},\epsilon_{x,t}) & \operatorname{Var}(\epsilon_{x,t}) \end{pmatrix}.

The diagonal contains two variances. The mirrored off-diagonal entries contain the same covariance, so the matrix provides three distinct numbers. For our numerical case,

𝚺=(80/4948/4948/4968/49). \boldsymbol\Sigma =\begin{pmatrix} 80/49&48/49\\48/49&68/49 \end{pmatrix}.

The off-diagonal value is positive. Its presence does not mean we secretly generated correlated structural shocks. It follows from solving the connected equations.

Generate the system, then estimate the reduced form

We know every primitive parameter in simulation. That lets us compare the truth to what OLS estimates. Draw the structural disturbances, transform them through the simultaneous system, and let the lagged vector carry the resulting values forward.

set.seed(637611)
n <- 2000
burn <- 250
eta <- matrix(rnorm(2 * (n + burn)), ncol = 2)
Y <- matrix(0, nrow = n + burn + 1, ncol = 2)
colnames(Y) <- c("y", "x")
Y[1, ] <- solve(diag(2) - A1, A0)  # initialize at the system mean

for (tt in seq_len(nrow(eta))) {
  Y[tt + 1, ] <- A0 + A1 %*% Y[tt, ] + B_inverse %*% eta[tt, ]
}

keep <- (burn + 1):(burn + n)
dat <- data.frame(y = Y[keep + 1, 1], x = Y[keep + 1, 2],
                  y_lag = Y[keep, 1], x_lag = Y[keep, 2])
fit_y <- lm(y ~ y_lag + x_lag, data = dat)
fit_x <- lm(x ~ y_lag + x_lag, data = dat)

The loop is the reduced-form master equation. It solves the original structural system at each date, using the derived mapping; it does not impose a sequential current update of yy followed by xx. Both regressions use exactly the same dated regressors and observations.

comparison <- data.frame(
  Entry = c("y intercept", "y: y lag", "y: x lag",
            "x intercept", "x: y lag", "x: x lag"),
  Structural = c(Gamma0[1], Gamma1[1, ], Gamma0[2], Gamma1[2, ]),
  Reduced = c(A0[1], A1[1, ], A0[2], A1[2, ]),
  Estimated_reduced = c(coef(fit_y), coef(fit_x)))
knitr::kable(comparison, digits = 4,
             caption = "Same equation positions, different parameters")
Same equation positions, different parameters
Entry Structural Reduced Estimated_reduced
y intercept 0.2 0.2857 0.2550
y: y lag 0.3 0.4000 0.3756
y: x lag 0.0 0.2286 0.2742
x intercept 0.1 0.1714 0.1577
x: y lag 0.1 0.2000 0.1852
x: x lag 0.4 0.4571 0.4838

The first numerical column gives the primitive intercept or lag coefficient occupying that position in the structural equation. The next gives the transformed population coefficient. The last estimates the transformed quantity. The differences between the last two columns are sampling variation, not failure of the structural-to-reduced algebra.

In particular, the direct structural coefficient ϕyx\phi_{yx} is zero, the reduced-form coefficient is ayx=8/35≈0.229a_{yx}=8/35\approx0.229, and the estimate is 0.274. The output can recover the reduced relationship without recovering the primitive zero.

Read the coefficient table carefully

The fitted equations are

yt=ây0+âyyyt−1+âyxxt−1+ey,t,xt=âx0+âxyyt−1+âxxxt−1+ex,t. \begin{aligned} y_t&=\hat a_{y0}+\hat a_{yy}y_{t-1}+\hat a_{yx}x_{t-1}+e_{y,t},\\ x_t&=\hat a_{x0}+\hat a_{xy}y_{t-1}+\hat a_{xx}x_{t-1}+e_{x,t}. \end{aligned}

Hats mark estimated parameters. The ee’s are fitted residuals, not the original structural disturbances and not the unobserved population innovations.

knitr::kable(coef(summary(fit_y)), digits = 4,
             caption = "The familiar coefficient table for the reduced y equation")
The familiar coefficient table for the reduced y equation
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.2550 0.0301 8.4784 0
y_lag 0.3756 0.0282 13.3415 0
x_lag 0.2742 0.0287 9.5477 0

The xx-lag coefficient describes the conditional mean of current yy as yesterday’s xx varies, holding yesterday’s yy fixed. A test of ayx=0a_{yx}=0 is a legitimate predictive restriction under the appropriate statistical conditions. For this VAR(1), it is the cross-lag exclusion encountered in Module 9. But the structural algebra says

ayx=0⇔ϕyx+byxϕxx=0(D≠0). a_{yx}=0 \quad\Longleftrightarrow\quad \phi_{yx}+b_{yx}\phi_{xx}=0 \qquad(D\neq0).

That is a restriction on a combination of structural parameters. It is not generally the restriction ϕyx=0\phi_{yx}=0. Even a precisely estimated reduced-form coefficient does not change that distinction.

Equation-by-equation OLS works here because each reduced-form innovation has conditional mean zero given the included history. The current reduced-form innovations may be correlated across equations while remaining unrelated to the past regressors. These are different kinds of dependence. White-looking residuals alone would not establish all the assumptions in a real application.

Break the interpretation: fit the structural-looking regressions

It is tempting to put current xx back into the yy regression and read its coefficient as byxb_{yx}. We even know that the true generating equation contains current xx. Why would that fail?

Hold the past fixed. Current xx contains (bxyηy,t+ηx,t)/D(b_{xy}\eta_{y,t}+\eta_{x,t})/D. Consequently,

Cov(xt,ηy,t∣ℱt−1)=bxyωyD. \operatorname{Cov}(x_t,\eta_{y,t}\mid\mathcal F_{t-1}) =\frac{b_{xy}\omega_y}{D}.

This is nonzero in our simultaneous DGP. The current regressor contains part of the structural disturbance in the equation we are trying to estimate. Similarly,

Cov(yt,ηx,t∣ℱt−1)=byxωxD. \operatorname{Cov}(y_t,\eta_{x,t}\mid\mathcal F_{t-1}) =\frac{b_{yx}\omega_x}{D}.

The familiar OLS orthogonality condition fails for these structural regressions. We have not changed the sample or the true system; we are deliberately using a regression interpretation whose assumptions do not hold.

naive_y <- lm(y ~ x + y_lag + x_lag, data = dat)
naive_x <- lm(x ~ y + y_lag + x_lag, data = dat)
naive_comparison <- data.frame(
  Current_connection = c("x into y", "y into x"),
  True_structural = c(0.5, 0.25),
  Naive_OLS = c(coef(naive_y)["x"], coef(naive_x)["y"]))
knitr::kable(naive_comparison, digits = 4,
             caption = "Structural-looking regressions do not identify the generating coefficients")
Structural-looking regressions do not identify the generating coefficients
Current_connection True_structural Naive_OLS
x x into y 0.50 0.6841
y y into x 0.25 0.6143

Increasing the sample does not repair the missing orthogonality. After accounting for both lags, these regressions compare the two reduced-form innovations. Their population current-variable coefficients are Σyx/Σxx=12/17≈0.706\Sigma_{yx}/\Sigma_{xx}=12/17\approx0.706 and Σyx/Σyy=0.6\Sigma_{yx}/\Sigma_{yy}=0.6, respectively, rather than the generating values 0.50.5 and 0.250.25. The regression has found an association between mixtures of shocks.

Reconcile the experiment. The reduced-form OLS estimates can be useful conditional predictors. The naïve structural-looking OLS estimates can also describe conditional associations. Neither fact supplies the missing argument that a reported coefficient isolates a particular structural mechanism. To work backward from the reduced form, we need identification.

11.6 Identification: Can We Work Backward? — Core

Knowing the mixture does not reveal its ingredients

So far we started with a complete structural DGP and derived the reduced form. In real data we face the opposite direction: estimate the reduced form, then ask which structural system could have generated it.

For this exercise, put the generating coefficients out of view. Use only the reduced-form objects to recover a proposed structure; afterward, compare it with the generator we know in simulation.

Available to the hypothetical analyst Hidden generating information, used later to check the exercise
Reduced intercepts 𝐀0\mathbf A_0, lag coefficients 𝐀1\mathbf A_1, and innovation covariance 𝚺\boldsymbol\Sigma. Initially treat these as known exactly to remove sampling noise. The original contemporaneous coefficients, structural shock variances, and structural lag coefficients, including the zero ϕyx\phi_{yx}.

In particular, we do not give the analyst ϕyx=0\phi_{yx}=0 as an identifying restriction in this exercise. Knowing that generating zero would supply information beyond the reduced form. Our question is what can be recovered without it, under a separately stated contemporaneous restriction.

Let 𝛀\boldsymbol\Omega contain the structural variances. It is diagonal under our assumption of uncorrelated structural shocks:

𝛀=(ωy00ωx). \boldsymbol\Omega=\begin{pmatrix}\omega_y&0\\0&\omega_x\end{pmatrix}.

The matrix version of the covariance formulas is

𝚺=𝐁−1𝛀(𝐁−1)′. \boldsymbol\Sigma =\mathbf B^{-1}\boldsymbol\Omega(\mathbf B^{-1})'.

The prime denotes a transpose: rows become columns. For a linear transformation of a random vector, the covariance is transformed by the matrix on the left and its transpose on the right. This expression gives the same three scalar formulas we already computed.

Suppose we knew the reduced-form parameters without sampling error. The covariance matrix contains three distinct entries: Σyy\Sigma_{yy}, Σxx\Sigma_{xx}, and Σyx=Σxy\Sigma_{yx}=\Sigma_{xy}. Yet the contemporaneous structure contains four unknowns: byxb_{yx}, bxyb_{xy}, ωy\omega_y, and ωx\omega_x. The structural equation coefficients on their own left-hand-side outcomes have been normalized to one.

The lag coefficients do not automatically resolve the problem. For any proposed invertible 𝐁\mathbf B compatible with the covariance assumptions, we can set

𝚪0=𝐁𝐀0,𝚪1=𝐁𝐀1. \boldsymbol\Gamma_0=\mathbf B\mathbf A_0,\qquad \mathbf\Gamma_1=\mathbf B\mathbf A_1.

Those choices reproduce the same reduced-form intercept and lag matrix. With unrestricted structural intercepts and lags, they do not provide extra restrictions on 𝐁\mathbf B.

Counting shows where information is missing. It is not by itself a proof that a particular added restriction will identify the model. We will demonstrate recovery under one concrete restriction.

Remove one contemporaneous arrow

Assume byx=0b_{yx}=0: current xx does not enter the structural yy equation. Current yy may still enter the structural xx equation. This is a recursive ordering, with yy first:

yt=αy+ϕyyyt−1+ϕyxxt−1+ηy,t,xt=αx+bxyyt+ϕxyyt−1+ϕxxxt−1+ηx,t. \begin{aligned} y_t&=\alpha_y+\phi_{yy}y_{t-1}+\phi_{yx}x_{t-1}+\eta_{y,t},\\ x_t&=\alpha_x+b_{xy}y_t+\phi_{xy}y_{t-1}+\phi_{xx}x_{t-1}+\eta_{x,t}. \end{aligned}

Given the past and the two shocks, we can determine current yy and then current xx. The exclusion concerns only the current connection. It does not rule out lagged xx effects or feedback in future periods.

Two alternative recursive restrictions on the current connections y first: bᵧₓ = 0x first: bₓᵧ = 0 yₜxₜyₜxₜ Current y may enter the x equation.Current x may enter the y equation.
Only the contemporaneous connections are shown. Both lagged variables can still enter both equations. These are different economic restrictions, not two labels for the same structural claim.

With byx=0b_{yx}=0, the innovation mapping simplifies to

ϵy,t=ηy,t,ϵx,t=bxyηy,t+ηx,t. \epsilon_{y,t}=\eta_{y,t},\qquad \epsilon_{x,t}=b_{xy}\eta_{y,t}+\eta_{x,t}.

Take variances and covariance:

Σyy=ωy,Σyx=bxyωy,Σxx=bxy2ωy+ωx. \Sigma_{yy}=\omega_y,\qquad \Sigma_{yx}=b_{xy}\omega_y,\qquad \Sigma_{xx}=b_{xy}^2\omega_y+\omega_x.

Now the recovery is visible. First recover ωy\omega_y, then divide the covariance by that variance to recover bxyb_{xy}, then subtract its contribution to the second variance:

ωy=Σyy,bxy=ΣyxΣyy,ωx=Σxx−Σyx2Σyy. \boxed{ \omega_y=\Sigma_{yy},\qquad b_{xy}=\frac{\Sigma_{yx}}{\Sigma_{yy}},\qquad \omega_x=\Sigma_{xx}-\frac{\Sigma_{yx}^2}{\Sigma_{yy}}.}

If 𝚺\boldsymbol\Sigma is positive definite, Σyy>0\Sigma_{yy}>0 and the final variance is positive. This is a usable recovery formula, not merely an unknowns-versus-equations count. Once 𝐁\mathbf B is known under the restriction, premultiplying 𝐀0\mathbf A_0 and 𝐀1\mathbf A_1 recovers the structural intercepts and lags under that same restriction.

Apply the restriction to our reduced form

Our population reduced covariance gives

bxy(y first)=48/4980/49=0.6,ωy(y first)=8049,ωx(y first)=0.8. b_{xy}^{(y\text{ first})}=\frac{48/49}{80/49}=0.6, \qquad \omega_y^{(y\text{ first})}=\frac{80}{49}, \qquad \omega_x^{(y\text{ first})}=0.8.

This produces a recursive structural explanation of the reduced form. It does not recover our original simultaneous DGP, where byx=0.5b_{yx}=0.5 and bxy=0.25b_{xy}=0.25. We deliberately know that the imposed zero is false for the generating system. The point is to see that another structure can reproduce the same reduced-form information.

If we instead impose bxy=0b_{xy}=0, making xx first, the analogous recovery is

byx(x first)=ΣyxΣxx,ωx(x first)=Σxx,ωy(x first)=Σyy−Σyx2Σxx. b_{yx}^{(x\text{ first})}=\frac{\Sigma_{yx}}{\Sigma_{xx}},\qquad \omega_x^{(x\text{ first})}=\Sigma_{xx},\qquad \omega_y^{(x\text{ first})} =\Sigma_{yy}-\frac{\Sigma_{yx}^2}{\Sigma_{xx}}.

For the same population covariance, this gives byx=12/17≈0.706b_{yx}=12/17\approx0.706, ωx=68/49\omega_x=68/49, and ωy=16/17\omega_y=16/17. These are the ratios that appeared in the structural-looking regressions in Section 11.5. Each regression can supply a recursive statistical decomposition; choosing which decomposition describes the economic mechanism requires an assumption. They are alternative orderings: combining the two naïve current-variable coefficients does not produce an identified simultaneous model with uncorrelated structural shocks.

Verify both explanations in R

First use the population objects so sampling error cannot obscure the identification issue:

Sigma <- B_inverse %*% Omega %*% t(B_inverse)

B_y_first <- matrix(c(1, 0, -Sigma[2, 1] / Sigma[1, 1], 1),
                    nrow = 2, byrow = TRUE)
Omega_y_first <- diag(c(Sigma[1, 1],
                       Sigma[2, 2] - Sigma[2, 1]^2 / Sigma[1, 1]))
Gamma0_y_first <- B_y_first %*% A0
Gamma1_y_first <- B_y_first %*% A1

B_x_first <- matrix(c(1, -Sigma[1, 2] / Sigma[2, 2], 0, 1),
                    nrow = 2, byrow = TRUE)
Omega_x_first <- diag(c(Sigma[1, 1] - Sigma[1, 2]^2 / Sigma[2, 2],
                       Sigma[2, 2]))
Gamma0_x_first <- B_x_first %*% A0
Gamma1_x_first <- B_x_first %*% A1

structures <- data.frame(
  Structure = c("Generating simultaneous", "y first", "x first"),
  b_yx = c(-B[1, 2], -B_y_first[1, 2], -B_x_first[1, 2]),
  b_xy = c(-B[2, 1], -B_y_first[2, 1], -B_x_first[2, 1]),
  phi_yx = c(Gamma1[1, 2], Gamma1_y_first[1, 2], Gamma1_x_first[1, 2]),
  omega_y = c(Omega[1, 1], Omega_y_first[1, 1], Omega_x_first[1, 1]),
  omega_x = c(Omega[2, 2], Omega_y_first[2, 2], Omega_x_first[2, 2]))
knitr::kable(structures, digits = 4,
             caption = "Different structural explanations of the same reduced moments")
Different structural explanations of the same reduced moments
Structure b_yx b_xy phi_yx omega_y omega_x
Generating simultaneous 0.5000 0.25 0.0000 1.0000 1.0000
y first 0.0000 0.60 0.2286 1.6327 0.8000
x first 0.7059 0.00 -0.0941 0.9412 1.3878
Sigma_y_first <- solve(B_y_first) %*% Omega_y_first %*% t(solve(B_y_first))
Sigma_x_first <- solve(B_x_first) %*% Omega_x_first %*% t(solve(B_x_first))
round(c(y_first = max(abs(Sigma_y_first - Sigma)),
        x_first = max(abs(Sigma_x_first - Sigma))), 12)
y_first x_first 
      0       0 

Both covariance discrepancies are zero to numerical precision. The reduced intercepts and lag matrices also agree because we constructed each 𝚪0\boldsymbol\Gamma_0 and 𝚪1\mathbf\Gamma_1 by premultiplying the same 𝐀0\mathbf A_0 and 𝐀1\mathbf A_1. The data’s reduced mean and covariance do not select the generating structural column for us. More observations would estimate those reduced quantities more precisely without resolving this ambiguity.

For an empirical analysis, we replace the population quantities by estimates. For example, using yy first,

E <- cbind(y = residuals(fit_y), x = residuals(fit_x))
Sigma_hat <- crossprod(E) / nrow(E)  # residual covariance, divisor n
b_xy_hat_y_first <- Sigma_hat[2, 1] / Sigma_hat[1, 1]
B_hat_y_first <- matrix(c(1, 0, -b_xy_hat_y_first, 1),
                        nrow = 2, byrow = TRUE)
A0_hat <- c(coef(fit_y)[1], coef(fit_x)[1])
A1_hat <- rbind(coef(fit_y)[2:3], coef(fit_x)[2:3])
Gamma0_hat_y_first <- B_hat_y_first %*% A0_hat
Gamma1_hat_y_first <- B_hat_y_first %*% A1_hat
b_xy_hat_y_first
[1] 0.6142564

The result is an estimate under the yy-first restriction, not an estimate of the true simultaneous bxyb_{xy} without qualification. This distinction belongs in the interpretation whenever structural results are reported.

Three equations: unemployment, inflation, and policy

The two-equation example needed one additional restriction. What happens when we give a third variable its own equation? Keep the same VAR(1) architecture, but consider a Phillips-curve-type policy setting with unemployment, inflation, and the federal funds rate. The point is to enlarge the identification problem; we are not fitting a new empirical model.

For this larger illustration, let each period be a quarter. Write utu_t for the unemployment rate, πt\pi_t for inflation, and iti_t for the federal funds rate, with all three measured at the same quarterly frequency. Here utu_t names unemployment, not a disturbance. Structural shocks remain η\eta, and reduced-form innovations remain ϵ\epsilon. We will add quarterly real GDP growth next. Choosing rates and growth does not establish stationarity; an empirical specification would still need the earlier modules’ diagnostics and transformation decisions.

Stack the variables in the stated order:

𝐙t=(utπtit),𝐁3=(1−buπ−bui−bπu1−bπi−biu−biπ1). \mathbf Z_t=\begin{pmatrix}u_t\\\pi_t\\i_t\end{pmatrix}, \qquad \mathbf B_3= \begin{pmatrix} 1&-b_{u\pi}&-b_{ui}\\ -b_{\pi u}&1&-b_{\pi i}\\ -b_{iu}&-b_{i\pi}&1 \end{pmatrix}.

As before, a row names the receiving equation and a column names the current variable entering it. Each equation also contains an intercept and one lag of all three variables. To keep the current connections visible, define their past-information part as

qj,t−1=αj+ϕjuut−1+ϕjππt−1+ϕjiit−1,j∈{u,π,i}. q_{j,t-1}=\alpha_j+\phi_{ju}u_{t-1} +\phi_{j\pi}\pi_{t-1}+\phi_{ji}i_{t-1}, \qquad j\in\{u,\pi,i\}.

This is just a short name for the intercept and lag terms. It introduces no restrictions on them. The structural equations are

ut=qu,t−1+buππt+buiit+ηu,t,πt=qπ,t−1+bπuut+bπiit+ηπ,t,it=qi,t−1+biuut+biππt+ηi,t. \begin{aligned} u_t&=q_{u,t-1}+b_{u\pi}\pi_t+b_{ui}i_t+\eta_{u,t},\\ \pi_t&=q_{\pi,t-1}+b_{\pi u}u_t+b_{\pi i}i_t+\eta_{\pi,t},\\ i_t&=q_{i,t-1}+b_{iu}u_t+b_{i\pi}\pi_t+\eta_{i,t}. \end{aligned}

The inflation equation permits a current unemployment–inflation connection; the policy equation permits a response to current conditions. That motivates the variable choice. It does not impose a sign on bπub_{\pi u} or establish a complete structural Phillips curve or policy rule.

Maintain the earlier zero-mean, constant-variance, and independence-from-the-past assumptions for structural shocks. Assume again that they are uncorrelated with each other and have positive variances, so 𝛀3=diag(ωu,ωπ,ωi)\boldsymbol\Omega_3=\operatorname{diag}(\omega_u,\omega_\pi,\omega_i). Before adding restrictions, there are six current cross-variable coefficients plus three shock variances: nine unknowns. The reduced innovation covariance supplies only six distinct entries:

𝚺3=(ΣuuΣuπΣuiΣuπΣππΣπiΣuiΣπiΣii). \boldsymbol\Sigma_3= \begin{pmatrix} \Sigma_{uu}&\Sigma_{u\pi}&\Sigma_{ui}\\ \Sigma_{u\pi}&\Sigma_{\pi\pi}&\Sigma_{\pi i}\\ \Sigma_{ui}&\Sigma_{\pi i}&\Sigma_{ii} \end{pmatrix}.

There are three variances and three covariances. The mirrored entries do not supply new information. The gap is therefore 9−6=39-6=3, rather than the single missing restriction in the two-equation example.

These are covariances of the reduced-form innovations after conditioning on the past. For example, Σuπ=Cov(ϵu,t,ϵπ,t)\Sigma_{u\pi}=\operatorname{Cov}(\epsilon_{u,t},\epsilon_{\pi,t}); it is not the raw covariance between the observed unemployment and inflation series. The recovery below uses these innovation moments throughout.

Three restrictions that let us recover the system

Choose the recursive ordering unemployment, then inflation, then policy, written (u,π,i)(u,\pi,i). This imposes three specific zeros:

buπ=0,bui=0,bπi=0,𝐁3rec=(100−bπu10−biu−biπ1). b_{u\pi}=0,\qquad b_{ui}=0,\qquad b_{\pi i}=0, \qquad \mathbf B_3^{\mathrm{rec}}= \begin{pmatrix} 1&0&0\\ -b_{\pi u}&1&0\\ -b_{iu}&-b_{i\pi}&1 \end{pmatrix}.

The restricted equations become

ut=qu,t−1+ηu,t,πt=qπ,t−1+bπuut+ηπ,t,it=qi,t−1+biuut+biππt+ηi,t. \begin{aligned} u_t&=q_{u,t-1}+\eta_{u,t},\\ \pi_t&=q_{\pi,t-1}+b_{\pi u}u_t+\eta_{\pi,t},\\ i_t&=q_{i,t-1}+b_{iu}u_t+b_{i\pi}\pi_t+\eta_{i,t}. \end{aligned}

The allowed current connections are u→πu\rightarrow\pi, u→iu\rightarrow i, and π→i\pi\rightarrow i. The zeros assert that unemployment does not respond to current inflation or policy within the quarter, and inflation does not respond to current policy within the quarter. Policy may respond to both current unemployment and inflation. These are proposed timing restrictions, not facts supplied by the covariance matrix. All lagged connections remain available.

To see that these restrictions do more than balance a count, subtract the conditional means given the past. The reduced innovations satisfy

ϵu,t=ηu,t,ϵπ,t=bπuϵu,t+ηπ,t,ϵi,t=biuϵu,t+biπϵπ,t+ηi,t. \epsilon_{u,t}=\eta_{u,t},\qquad \epsilon_{\pi,t}=b_{\pi u}\epsilon_{u,t}+\eta_{\pi,t},\qquad \epsilon_{i,t}=b_{iu}\epsilon_{u,t}+b_{i\pi}\epsilon_{\pi,t}+\eta_{i,t}.

Start with the first two equations, exactly as in the two-variable recovery:

ωu=Σuu,bπu=ΣuπΣuu,ωπ=Σππ−Σuπ2Σuu. \omega_u=\Sigma_{uu},\qquad b_{\pi u}=\frac{\Sigma_{u\pi}}{\Sigma_{uu}},\qquad \omega_\pi=\Sigma_{\pi\pi}-\frac{\Sigma_{u\pi}^2}{\Sigma_{uu}}.

There are now two current coefficients in the policy equation. Taking its covariance with each earlier innovation gives two equations:

Σui=biuΣuu+biπΣuπ,Σπi=biuΣuπ+biπΣππ. \begin{aligned} \Sigma_{ui}&=b_{iu}\Sigma_{uu}+b_{i\pi}\Sigma_{u\pi},\\ \Sigma_{\pi i}&=b_{iu}\Sigma_{u\pi}+b_{i\pi}\Sigma_{\pi\pi}. \end{aligned}

Record that pair in the matrix notation we have already learned:

(ΣuuΣuπΣuπΣππ)(biubiπ)=(ΣuiΣπi). \begin{pmatrix} \Sigma_{uu}&\Sigma_{u\pi}\\ \Sigma_{u\pi}&\Sigma_{\pi\pi} \end{pmatrix} \begin{pmatrix}b_{iu}\\b_{i\pi}\end{pmatrix} =\begin{pmatrix}\Sigma_{ui}\\\Sigma_{\pi i}\end{pmatrix}.

The computer can solve this pair together. In particular, Σui/Σuu\Sigma_{ui}/\Sigma_{uu} alone is not biub_{iu}: unemployment can also reach policy through the current inflation equation. After recovering both coefficients, the remaining policy-shock variance is

ωi=Σii−biuΣui−biπΣπi. \omega_i=\Sigma_{ii}-b_{iu}\Sigma_{ui}-b_{i\pi}\Sigma_{\pi i}.

A positive-definite 𝚺3\boldsymbol\Sigma_3 makes the displayed two-by-two covariance block invertible and the three recovered shock variances positive. Thus the recursive restrictions give a unique recovery under the chosen ordering. They do not establish that its within-quarter timing story is economically correct.

Add GDP: three more restrictions

Now give real activity its own equation. Let gt=100Δlog(realGDPt)g_t=100\Delta\log(\mathrm{real\ GDP}_t) denote quarterly real GDP growth. This defines the output variable in this illustration; it does not replace the separate work an empirical specification needs on integration or long-run relations.

For illustration, choose the order GDP growth, unemployment, inflation, policy, (g,u,π,i)(g,u,\pi,i). The original three variables keep their relative order, but placing GDP first is an additional economic assumption. With four variables, the unrestricted contemporaneous matrix has 4×3=124\times3=12 cross-variable coefficients. Adding four structural shock variances gives 16 unknowns, while the reduced covariance has four variances plus six distinct covariances: 10 pieces of information. The gap is 16−10=616-10=6.

The recursive restriction set is visible in the upper triangle:

𝐁4rec=(1000−bug100−bπg−bπu10−big−biu−biπ1). \mathbf B_4^{\mathrm{rec}}= \begin{pmatrix} 1&0&0&0\\ -b_{ug}&1&0&0\\ -b_{\pi g}&-b_{\pi u}&1&0\\ -b_{ig}&-b_{iu}&-b_{i\pi}&1 \end{pmatrix}.

Keep the three earlier zeros, buπ=bui=bπi=0b_{u\pi}=b_{ui}=b_{\pi i}=0, and add

bgu=bgπ=bgi=0.b_{gu}=b_{g\pi}=b_{gi}=0.

These new restrictions exclude current unemployment, inflation, and policy from the GDP-growth equation. The later equations may respond to current GDP growth, and every equation may still contain all four one-period lags. Adding one variable has created three new pairs of variables, so this recursive ordering requires three additional exclusions, for six in total.

Putting GDP first is contestable. Quarterly aggregates contain events from throughout the quarter, and the measured data used by a researcher need not match the information available when policymakers act. Neither the economic story nor the correct ordering follows from the variable names. A different ordering selects a different set of restrictions; the restriction count alone cannot choose between them.

The restriction count for m equations

We can now count the general case without expanding an mm-equation inverse. Maintain the same setup: each own-current coefficient in 𝐁\mathbf B is normalized to one, structural shocks are uncorrelated with positive variances, and structural intercepts and lag coefficients are unrestricted.

Object Number of unknowns or distinct observed moments
Off-diagonal current coefficients in 𝐁\mathbf B m(m−1)m(m-1)
Structural shock variances in diagonal 𝛀\boldsymbol\Omega mm
Total current/shock unknowns m2m^2
Reduced innovation variances mm
Distinct reduced innovation covariances m(m−1)/2m(m-1)/2
Total distinct entries of 𝚺\boldsymbol\Sigma m(m+1)/2m(m+1)/2

The remaining gap is

m2−m(m+1)2=m(m−1)2. m^2-\frac{m(m+1)}{2}=\frac{m(m-1)}{2}.

Thus the usual order count requires m(m−1)/2m(m-1)/2 additional, suitably independent restrictions for exact identification from these covariance moments, beyond the own-current normalizations and the shock-uncorrelatedness assumptions already imposed. This is a count for the whole contemporaneous structure, not a number of restrictions per equation. Those baseline assumptions are not being counted a second time. Identifying restrictions need not always be zero exclusions; this lesson uses recursive zeros because their equation and timing meanings are visible.

Number of equations mm Additional restrictions
2 1
3 3
4 6
5 10

A consistent recursive ordering supplies exactly this many zeros: the first equation excludes m−1m-1 later current variables, the second excludes m−2m-2, and so on. Their total is

(m−1)+(m−2)+⋯+1=m(m−1)2. (m-1)+(m-2)+\cdots+1=\frac{m(m-1)}{2}.

With a positive-definite reduced covariance, this triangular pattern permits the successive recovery illustrated above. An arbitrary collection of the same number of restrictions need not identify the system. Counting is a necessary information check; the restrictions must also deliver a well-defined, unique recovery in the model under consideration. Additional independent restrictions beyond an identifying set can create testable implications, but neither their count nor a successful fit proves their economic validity.

Finally, the unrestricted lag coefficients do not supply the missing contemporaneous information. For any admissible 𝐁\mathbf B, the structural intercept and lag matrices can still adapt through 𝚪0=𝐁𝐀0\boldsymbol\Gamma_0=\mathbf B\mathbf A_0 and 𝚪1=𝐁𝐀1\boldsymbol\Gamma_1=\mathbf B\mathbf A_1. The restriction count concerns the dimension of the system and its current/shock structure, not the amount of algebra we choose to do by hand.

Where Cholesky fits

The recursive calculation can be implemented with a triangular matrix factorization called Cholesky decomposition. Return to our original two-variable example to recognize the software operation. In the yy-first ordering, a lower-triangular matrix 𝐏\mathbf P satisfies 𝚺=𝐏𝐏′\boldsymbol\Sigma=\mathbf P\mathbf P'. Its first column describes how a standardized first structural shock enters both reduced-form innovations; its second column has zero in the first row under the recursive restriction.

For this recursive model, 𝐏=𝐁−1𝛀1/2\mathbf P=\mathbf B^{-1}\boldsymbol\Omega^{1/2}, where 𝛀1/2\boldsymbol\Omega^{1/2} has the structural shock standard deviations on its diagonal. In this expression, 𝐁\mathbf B and 𝛀\boldsymbol\Omega are the recovered y-first objects, not the original simultaneous generating matrices. This absorbs the scales into the impact matrix. We will use that representation when developing impulse responses. Here its role is simply to recognize the software’s implementation of the ordering assumption.

P_y_first <- t(chol(Sigma))  # R returns the upper factor; transpose for lower
round(P_y_first %*% t(P_y_first) - Sigma, 12)
     [,1] [,2]
[1,]    0    0
[2,]    0    0

R’s chol() returns an upper-triangular factor, so the transpose above matters. The factorization can be mathematically correct even when the economic zero restriction is false. Software performs the calculation; it does not decide whether inflation is unable to respond within the period.

Application: what does “within the period” mean for policy?

Suppose yy is inflation and xx is the policy rate, observed monthly. A yy-first recursive explanation assumes that an unexpected policy disturbance cannot affect measured inflation within the same month, while policy may respond to current inflation news. This sets byx=0b_{yx}=0 and leaves bxyb_{xy} unrestricted.

The restriction needs an economic argument. Which prices are measured, when are decisions made, and what information is actually available to the policymaker? Publication timing and the way monthly observations are aggregated can complicate a seemingly simple ordering. The same restriction may have a different plausibility at daily, monthly, and quarterly frequencies.

Reversing the ordering assumes policy does not respond to current inflation within the period while allowing current inflation to respond to policy. That is a different account of the timing. Better fit of the unrestricted reduced form cannot choose between these two just-identified recursive explanations; both reproduce its covariance. Nor does significant Granger predictability from lagged inflation establish a contemporaneous ordering.

For this chapter, the applied task is to state the timing restriction, defend it in words, and explain what the alternative would mean. We have not estimated an empirical monetary-policy effect. An eventual empirical analysis would also need defensible variables, transformations, lags, residual diagnostics, and attention to integration and structural change. Those choices cannot be settled by the factorization alone.

With a positive-definite bivariate reduced covariance, either recursive ordering provides exactly enough restrictions to recover its own parameters. A zero off-diagonal entry in the resulting structural covariance is imposed by construction. It is not independent evidence that the chosen economic shocks are the true ones. Additional restrictions can create testable implications, but counting restrictions alone does not establish their validity or identification in more general models.

11.7 Return to the Pond — Core

We can now explain why the coefficient table is an incomplete answer to the system question. A reduced-form coefficient combines structural connections. Identification supplies assumptions that select a structural interpretation. Even then, a single structural coefficient describes one part of the system, while a disturbance can move both variables today and alter the lags entering both equations tomorrow.

Return to the pond. Identifying where the stone entered is one task. Describing how the disturbance moves across the water over time is another. Explaining which sources of disturbance account for uncertainty about future water levels is a third. The later modules develop the corresponding economic summaries:

Question Tool developed later
After a specified identified disturbance, how does each variable respond over subsequent periods? Impulse response function (IRF) — Module 12
At a specified horizon, what share of each variable’s forecast-error variance is attributable to each identified disturbance? Forecast error variance decomposition (FEVD) — Module 13

An IRF traces a response path. FEVD allocates forecast uncertainty, not an ordinary regression’s R2R^2 or the fraction of every observed movement “caused by” another variable. Both depend on which disturbances the identification assumptions define. Neither is a way around the identification problem.

We stop at their motivation here. Their formulas, computation, and statistical uncertainty belong to the later modules. The groundwork is knowing what system the software estimated and what assumptions connect it to the structural question.

Harry and Mouse in Module 10 share a stochastic trend. Their levels are not the stable VAR baseline used in this chapter, and some level effects need not decay. A vector error-correction model brings their long-run relation into a system of short-run adjustments. Module 13 returns to that setting. Do not automatically difference every series and discard a supported cointegrating relationship simply because our present example is stationary.

Common Misconceptions — Core

  1. “The ARDL never allowed current x to enter y.” It did. The new issue is jointly determining both current variables, potentially with reciprocal contemporaneous dependence.
  2. “Two opposite current arrows still form a DAG.” They create a directed cycle. A recursive exclusion removes one current arrow; lagged feedback can remain.
  3. “Reduced form means the contemporaneous connections disappeared.” They were absorbed into the reduced coefficients and innovations.
  4. “A significant cross-lag coefficient establishes a direct structural lag effect.” The coefficient can combine several structural connections, including a route through the other variable’s current equation.
  5. “Uncorrelated structural shocks imply uncorrelated VAR innovations.” Solving the simultaneous system can mix the same structural shocks into both innovations.
  6. “Correlated innovations across equations automatically invalidate reduced-form OLS.” The relevant regressor condition concerns innovation–history orthogonality. Cross-equation correlation at the same date is a different matter.
  7. “Once B is invertible, the VAR is stable.” Invertibility concerns the current solution. Stability concerns propagation through the reduced lag matrix over time.
  8. “Cholesky discovers the correct economic ordering.” It implements a recursive restriction. The economic defense of that restriction comes from outside the factorization.
  9. “IRFs will solve identification for us.” Structural response analysis requires identified disturbances. It does not manufacture them from a coefficient table.
  10. “Any m(m−1)/2m(m-1)/2 zeros identify an m-equation system.” The count applies under stated normalizations and uncorrelated-shock assumptions, and is necessary rather than sufficient by itself. A consistent recursive ordering gives a pattern for which we can demonstrate recovery.

Core Practice

  1. From arrows to equations. Draw yt−1,xt−1,yt,xty_{t-1},x_{t-1},y_t,x_t. Include both own lags, both cross-lags, and both current connections. Label the arrows with the coefficients in Section 11.2. Explain why the graph is not a DAG. Then remove the current xt→ytx_t\rightarrow y_t arrow and write the restricted equations.

  2. Do the substitution. Starting from the general structural equations, derive the reduced-form xx equation without using an inverse. Identify the transformed intercept, both lag coefficients, and innovation. Explain why the same denominator appears in the reduced-form yy equation.

  3. A nonzero estimate with a zero structural coefficient. Use the numerical DGP in Section 11.3. Calculate the reduced-form coefficient on xt−1x_{t-1} in the yy equation. Describe the route that makes it nonzero. State precisely which hypothesis a test of ayx=0a_{yx}=0 addresses and why it is not the same hypothesis as ϕyx=0\phi_{yx}=0.

  4. Read the matrix. Write 𝐁\mathbf B, 𝚪0\boldsymbol\Gamma_0, and 𝚪1\mathbf\Gamma_1 for the numerical example. State each object’s dimensions. Multiply the first row of 𝐁\mathbf B by 𝐘t\mathbf Y_t and explain the result. Verify one entry of 𝐁−1𝚪1\mathbf B^{-1}\mathbf\Gamma_1 by hand, then check the complete product in R.

  5. Explain the two OLS exercises. Why can the regressions on the lagged variables estimate the reduced form under our assumptions? Why does adding current xx to the yy regression not automatically identify byxb_{yx}? Use the dependence of current xx on ηy,t\eta_{y,t} in your explanation.

  6. Identify under a stated restriction. Suppose a population reduced covariance is 𝚺=(4223)\boldsymbol\Sigma=\begin{pmatrix}4&2\\2&3\end{pmatrix}. Impose byx=0b_{yx}=0 and recover the remaining contemporaneous coefficient and both structural variances. Repeat under bxy=0b_{xy}=0. Explain why obtaining two valid numerical decompositions does not tell you which timing restriction is economically correct.

  7. Defend an application. For monthly inflation and a policy rate, state in words what the yy-first ordering assumes when yy is inflation. Give one timing argument that could support it and one feature of measurement or behavior that could challenge it. Explain why changing the observation frequency could change the argument.

  8. Count and interpret the restrictions. In the quarterly (u,π,i)(u,\pi,i) system, list the three zeros implied by the recursive ordering and describe one timing assumption they impose. Explain why adding GDP growth first, giving order (g,u,π,i)(g,u,\pi,i), requires three more zeros. Derive the general m(m−1)/2m(m-1)/2 additional restriction count, naming the baseline assumptions. Why is the count alone insufficient to justify an arbitrary restriction set?

  9. State the next question. Explain in one sentence each what an IRF and FEVD would add after identification. Neither answer should describe the tool as a way to avoid making identifying assumptions.

Textbook Connections and Notation

Enders, Applied Econometric Time Series, 4th edition, Chapter 5 §§5–6, pp. 285–294, is the main companion. Pages 285–286 develop the bivariate structural/reduced-form mapping and shock mixing; pp. 290–291 discuss estimation; pp. 292–294 develop the identification problem and a recursive restriction. Work through the two-equation calculations alongside Section 11.3 rather than treating matrix notation as a substitute for them.

There is an important sign translation. Enders writes the contemporaneous cross-variable terms with minus signs in the scalar equations, so their coefficients enter his contemporaneous matrix with plus signs. We write the scalar cross-variable terms with plus signs, so our 𝐁\mathbf B has entries −byx-b_{yx} and −bxy-b_{xy} off its diagonal, while its inverse has entries byx/Db_{yx}/D and bxy/Db_{xy}/D. These are algebraic sign conventions, not restrictions that the underlying parameters must be positive. A change of convention is harmless; combining the scalar equations from one convention with the inverse from the other is not.

Enders also uses different shock notation. Here 𝛈t\boldsymbol\eta_t denotes structural disturbances, 𝛜t\boldsymbol\epsilon_t denotes reduced-form innovations, and 𝐞t\mathbf e_t denotes fitted residuals. Estimates carry hats. The course reserves 𝐀0\mathbf A_0 for the reduced-form intercept vector.

Hamilton, Time Series Analysis, §11.6, especially pp. 326–330, provides optional depth on the structural/reduced mapping, contemporaneous-regressor endogeneity, and recursive interpretation. The structural interpretation of a triangular decomposition requires the corresponding model restriction; obtaining a triangular factor is not evidence that the restriction is true. His neighboring sections on impulse responses, variance decomposition, and confidence bands support the later modules.

For the larger-system extension, Dieppe, Legrand, and van Roye (2016), The BEAR Toolbox, §§4.4–4.5, pp. 77–79, documents the covariance count and recursive factorization (ECB Working Paper 1934). Its impact-matrix notation differs from our current-coefficient 𝐁\mathbf B. Rubio-Ramírez, Waggoner, and Zha, Structural Vector Autoregressions: Theory of Identification and Algorithms for Inference explains why a restriction count alone does not establish identification for a general restriction pattern (Federal Reserve Bank of Atlanta Working Paper 2008-18). These are optional references for the count-versus-recovery distinction developed in Section 11.6.

Key Takeaways — Core

  1. A system supplies an equation for each jointly evolving variable. Lagged feedback and contemporaneous simultaneity are distinct connections.
  2. Solving the structural equations transforms intercepts, lag coefficients, and disturbances. A reduced-form coefficient generally combines structural parameters.
  3. Matrix notation records the same operations as scalar substitution. An inverse solves the contemporaneous equations; dynamic stability is a separate property.
  4. Reduced-form OLS estimates conditional predictive relationships under appropriate assumptions. A coefficient table alone does not identify primitive structural effects.
  5. Identification requires additional information or restrictions. With normalized own-current coefficients and uncorrelated structural shocks, the whole mm-equation current structure needs m(m−1)/2m(m-1)/2 additional restrictions by the usual order count. Recursive zeros provide a recoverable pattern under a positive-definite reduced covariance; their economic timing still needs a defense.
  6. Identified disturbances still move through a connected system. IRFs and FEVD will summarize its dynamic responses and forecast uncertainty in Modules 12–13.