Sims-Zha Prior

bayesianvarminnesota-priorestimationdummy-observationsstructural-varkronecker-product

Definition

The Sims-Zha prior is a conjugate Gaussian prior over the structural VAR parameters, proposed in Sims and Zha (1997). It extends Litterman's (1986) Minnesota Prior to identified (structural) VARs, adds a cointegration/unit-root component via dummy observations, and is designed to prevent overfitting in large VARs without truncating lag length.

Key Ideas

How It Works

Structural VAR Notation (Sims-Zha 1998)

Write the model as A(L)y(t)+C=ε(t)A(L)y(t) + C = \varepsilon(t), or in matrix form stacking TT observations:

YA0XA+=E(eq. 4)Y A_0 - X A_+ = E \tag{eq. 4}

where YY is T×mT \times m, A0A_0 is m×mm \times m (contemporaneous), XX is T×kT \times k, A+A_+ is k×mk \times m (lag coefficients; k=mp+1k = mp + 1), and each column of EE is i.i.d. N(0,I)\mathcal{N}(0,I). Defining Z=[Y  X]Z = [Y\; -X] and A=[A0;A+]A = [A_0'; A_+']':

L(YA)A0Texp ⁣[12tr(ZA)(ZA)]=A0Texp ⁣[12a(IZZ)a](eq. 6)L(Y \mid A) \propto |A_0|^T \exp\!\left[-\tfrac{1}{2} \operatorname{tr}(ZA)'(ZA)\right] = |A_0|^T \exp\!\left[-\tfrac{1}{2} a'(I \otimes Z'Z)a\right] \tag{eq. 6}

The prior takes the form:

π(a)=π0(a0)  ϕ ⁣(a+μ(a0);H(a0))(eq. 7)\pi(a) = \pi_0(a_0)\; \phi\!\left(a_+ - \mu(a_0);\, H(a_0)\right) \tag{eq. 7}

where π0\pi_0 is the marginal prior on a0a_0, μ(a0)\mu(a_0) centers a+a_+ conditional on A0A_0, and H(a0)H(a_0) is the lag-coefficient prior covariance. The resulting posterior is:

q(a)π0(a0)A0TH(a0)1/2exp ⁣[12(quadratic in a+)](eq. 8)q(a) \propto \pi_0(a_0)\,|A_0|^T\,|H(a_0)|^{-1/2} \exp\!\left[-\tfrac{1}{2}(\cdots \text{quadratic in } a_+\cdots)\right] \tag{eq. 8}

Conditional posterior q(a+a0)q(a_+ \mid a_0) is Gaussian (eq. 9):

a+=(IXX+H(a0)1)1 ⁣[(IXY)a0+H(a0)1μ(a0)]a_+^* = \left(I \otimes X'X + H(a_0)^{-1}\right)^{-1}\!\left[(I \otimes X'Y)a_0 + H(a_0)^{-1}\mu(a_0)\right]

Marginal posterior q(a0)q(a_0) integrates out a+a_+ analytically (eq. 10), leaving a determinantal and quadratic form in a0a_0 that can be evaluated equation-by-equation.

Kronecker Symmetry and Computational Speedup (eq. 12)

The bottleneck in evaluating q(a0)q(a_0) is inverting or decomposing (IXX)+H(a0)1(I \otimes X'X) + H(a_0)^{-1}, which is (mk)×(mk)(mk) \times (mk). For m=20m = 20 variables and p=6p = 6 lags (k=121k = 121), this is a 2420×24202420 \times 2420 problem — roughly 2420310102420^3 \approx 10^{10} operations.

Preserving Kronecker product structure requires:

H(a0)=BG,B=cIm(eq. 12)H(a_0) = B \otimes G, \quad B = c\,I_m \tag{eq. 12}

With equation-specific prior covariances GiG_i (eq. 13) this becomes diag(G1,,Gm)\operatorname{diag}(G_1, \ldots, G_m), and the combined term reduces to:

(IXX)+diag(G11,,Gm1)=diag(G11+XX,  ,  Gm1+XX)(I \otimes X'X) + \operatorname{diag}(G_1^{-1}, \ldots, G_m^{-1}) = \operatorname{diag}(G_1^{-1} + X'X,\; \ldots,\; G_m^{-1} + X'X)

Each block is k×kk \times k and can be decomposed independently. For m=20m = 20, k=121k = 121: twenty 12131.77×106121^3 \approx 1.77 \times 10^6 operations versus one 242031.42×10102420^3 \approx 1.42 \times 10^{10} — a ~400× speedup in cubic-order computation. This is the central practical contribution of SZ98.

Random Walk Prior (Section 4.1)

The prior mean for lag coefficients encodes the random walk belief: E[A+A0]=[A0;  0;  ;  0]E[A_+ \mid A_0] = [A_0;\; 0;\; \ldots;\; 0] (eq. 16), i.e., the reduced-form companion matrix B1=A01A1ImB_1 = A_0^{-1} A_1 \approx I_m and higher lags shrink toward zero. The conditional standard deviation on lag \ell of variable jj in equation ii is:

λ0λ1σjλ3(eq. 17)\frac{\lambda_0 \lambda_1}{\sigma_j \ell^{\lambda_3}} \tag{eq. 17}

where σj\sigma_j is the residual std. dev. from a univariate AR fit to series jj. Key differences from Litterman (1986b): the scale factor is σj\sigma_j alone (not the σi/σj\sigma_i/\sigma_j ratio of Litterman), and there is no separate own/other distinction in eq. 17 — cross-equation tightness enters through λ2\lambda_2 in the full hyperparameter set (λ0,λ1,λ2,λ3,λ4)(\lambda_0, \lambda_1, \lambda_2, \lambda_3, \lambda_4).

Component 1 — Coefficient Prior

Write the structural VAR in compact form:

ytA0=xtF+εt,xt=[yt1,,ytp,zt]y_t'\, A_0 = x_t'\, F + \varepsilon_t', \quad x_t = [y_{t-1}',\ldots,y_{t-p}',z_t']'

For j=1,,nj = 1,\ldots,n, let aja_j be the jjth column of A0A_0 (contemporaneous) and fjf_j the jjth column of FF (lag coefficients + deterministic). The prior is:

ajN(0,S)a_j \sim \mathcal{N}(0,\, S)

fjajN(Paj,Hj)f_j \mid a_j \sim \mathcal{N}(P\, a_j,\, H_j)

where P=[In,0,,0]n×kP = [I_n,\, 0,\, \ldots,\, 0]^{n \times k} encodes the random walk belief: fjf_j's first nn components (the lag-1 coefficients) are centered at aja_j, i.e., A1A0A_1 \approx A_0, or equivalently B1=A01A1InB_1 = A_0^{-1} A_1 \approx I_n.

Hyperparameter roles:

Symbol Controls
λ0\lambda_0 Overall scale of SS and HH; global tightness
λ1\lambda_1 Tightness of random-walk belief on lagged coefficients
λ2\lambda_2 Cross-variable influence (iji \neq j shrunk relative to own lags)
λ3\lambda_3 Lag-decay rate: coefficient on lag \ell shrunk by λ3\ell^{-\lambda_3}
λ4\lambda_4 Tightness of prior on constant toward zero

The iith diagonal element of SS is:

Sii=λ0σiS_{ii} = \frac{\lambda_0}{\sigma_i}

where σi\sigma_i is the residual standard deviation from a univariate AR fit to series ii (Litterman's scale normalization). The diagonal element of HjH_j for the coefficient on lag \ell of variable ii in equation jj reflects λ0\lambda_0, λ1\lambda_1, λ2\lambda_2, and the lag decay λ3\lambda_3.

Typical hyperparameter values:

Frequency λ0\lambda_0 λ1\lambda_1 λ2\lambda_2λ4\lambda_4 μ5\mu_5, μ6\mu_6
Quarterly 1.0 0.2 1.0 1.0
Monthly 0.6 0.1 1.0, -, 0.1 5.0

Explicit Standard Deviation Formulas (Minnesota Parametrization)

Meseguer (2010) states the prior standard deviations explicitly in the Minnesota parametrization. For equation jj, the prior standard deviation on the coefficient of lag pp of variable ii is:

Own lags (i=ji = j): σijp=λ1pλ3\sigma_{ijp} = \frac{\lambda_1}{p^{\lambda_3}}

Cross lags (iji \neq j): σijp=λ1λ2(i,j)pλ3sisj\sigma_{ijp} = \frac{\lambda_1 \,\lambda_2(i,j)}{p^{\lambda_3}} \cdot \frac{s_i}{s_j}

Intercepts / deterministic components: σi=λ4si\sigma_i = \lambda_4 \, s_i

where sis_i is the residual standard deviation from a univariate AR fit to series ii (Litterman's scale normalization). The ratio si/sjs_i/s_j rescales cross-lag coefficients for the difference in units between series ii and jj.

Correlation-adaptive λ2\lambda_2 (Meseguer 2010). Rather than setting λ2\lambda_2 to a single scalar, Meseguer makes it a function of the empirical correlation between the two series:

λ2(i,j)=0.8×Corr[Δlogyi,Δlogyj]\lambda_2(i,j) = 0.8 \times \mathrm{Corr}[\Delta\log y_i,\, \Delta\log y_j]

This is particularly effective in demographic applications where adjacent age groups have very high pairwise correlations — it automatically allows strong cross-age shrinkage where the data support it and enforces tighter shrinkage where they do not. The factor 0.8 caps the effective cross-variable weight below 1 even for perfectly correlated series, preserving some shrinkage.

Component 2 — Unit-Root / Cointegration Prior (Dummy Observations)

Adds n+1n+1 dummy observations to the system, expressed as:

YdA0=XdF+EY_d\, A_0 = X_d\, F + E

where YdY_d and XdX_d are constructed from pre-sample means yˉ0,i\bar{y}_{0,i} (sample average of the pp initial conditions for variable ii) and hyperparameters μ5\mu_5, μ6\mu_6. The first nn dummies express the belief that variables are stationary around their pre-sample means or that cointegration holds. The (n+1)(n+1)th dummy expresses the belief that the system's intercept is zero relative to the pre-sample level.

Larger values of μ5\mu_5 and μ6\mu_6 strengthen these beliefs. The dummy observations can be incorporated by augmenting the data matrix, so no change in the likelihood calculation is needed.

Dummy Observation Taxonomy (Sims-Zha 1998, Tables 1–3)

All three dummy types are implemented by augmenting [Y,X][Y, X] with artificial rows, so no modification of the estimation code is needed. Let yˉ0i\bar{y}_{0i} denote the pre-sample mean of variable ii and σr\sigma_r the univariate-AR residual std. dev. for variable rr.

Table 1 — Equation-specific dummies (one block of k1k-1 dummies per equation, hyperparameters μ0μ4\mu_0\text{–}\mu_4):

Table 2 — Sums-of-coefficients (m system-wide dummies, hyperparameter μ5\mu_5):

Table 3 — Dummy initial observation (one system-wide dummy, hyperparameter μ6\mu_6):

The two cointegration hyperparameters μ5\mu_5 and μ6\mu_6 are independent and can be tuned separately: large μ5\mu_5 alone aggressively differences the data; large μ6\mu_6 alone allows cointegrated behavior around the pre-sample mean.

Prior on A0A_0 (Section 4.3)

For structural identification, A0A_0 is not triangular in general. The prior on A0A_0 encodes identifying restrictions (zero entries forced to zero, non-zero entries given informative priors). Under a triangular normalization within blocks of equations:

A+A0A_+|A_0 vs. BA0B|A_0 Prior: Empirical Comparison (Section 5)

SZ98 demonstrate the two approaches on a 6-variable US quarterly model (interest rate RR, M1, output yy, price level PP, unemployment UU, investment II; 1948:1–1982:4, p=6p = 6):

Approach Prior on Mode computation MCMC draws Posterior quality
A+A0A_+\|A_0 (structural) Lag coefficients given A0A_0 No mode needed 31 sec/1,000 68% bands cover data (Fig. 2)
BA0B\|A_0 (reduced-form) Reduced form BB given A0A_0 2.8 hours 16 min/1,000 Unemployment bands miss data; inflation badly overpredicted (Fig. 3)

The BA0B|A_0 prior (eq. 26: H(a0)=(A0I)diag({Gi})(A0I)H(a_0) = (A_0 \otimes I)\operatorname{diag}(\{G_i\})(A_0 \otimes I)') loses the Kronecker symmetry and implicitly imposes cross-equation restrictions that are not economically motivated. The A+A0A_+|A_0 approach exploits the block-diagonal decomposition and produces well-calibrated posteriors with dramatically lower computational cost.

Combined Prior

With both components, the overall prior retains the Gaussian form (Zha 2005, result (7)):

ajN(0,Sˉ),fjajN(Paj,Hˉj)a_j \sim \mathcal{N}(0,\, \bar{S}), \qquad f_j \mid a_j \sim \mathcal{N}(P a_j,\, \bar{H}_j)

where Hˉj1=Hj1+XdXd\bar{H}_j^{-1} = H_j^{-1} + X_d' X_d (the dummy observations tighten the prior on FF). This closed-form structure is critical for enabling the Chib (1995) MDD algorithm via Gibbs sampling.

Canonical Application: 6-Variable Monthly Model

The standard policy application (Zha 1997/1998) uses: consumer price index (CPI), commodity prices (International Monetary Fund (IMF) index), federal funds rate, real gross domestic product (GDP) (Leeper-Sims-Zha monthly interpolation), M2, unemployment. Data begin 1959:1; lag length = 13 months. The Bayesian priors resolve three ordinary least squares (OLS) failure modes: (1) in-sample overfitting with near-perfect fit but poor out-of-sample performance; (2) erratic large coefficients from low degrees of freedom; (3) resulting explosiveness at long horizons. Regime-shift robustness: dropping the pre-1983 Volcker data worsens out-of-sample inflation forecasting, implying the prior successfully extracts information from that structural episode without being overwhelmed by it.

Why It Matters

Contrast with Noninformative Priors

The Sims-Zha prior is an informative prior — it encodes substantive economic beliefs (random walk, cointegration) via carefully chosen hyperparameters. An alternative approach uses noninformative priors that encode as little prior information as possible. The most common noninformative choice is the constant-Jeffreys prior: flat on Φ\Phi, Jeffreys (Σ(p+1)/2\propto |\Sigma|^{-(p+1)/2}) on Σ\Sigma. Sun and Ni (2005) show this prior systematically over-estimates Σ\Sigma variances by a factor of p/(T(L+1)p1)p/(T-(L+1)p-1), which is substantial in typical macro VAR settings. The Yang-Berger (1994) reference prior πR(Σ)Σ1i<j(didj)1\pi_R(\Sigma) \propto |\Sigma|^{-1}\prod_{i<j}(d_i-d_j)^{-1} corrects this bias while remaining noninformative. See Noninformative Prior for VAR.

Open Questions

Related