Time Varying Structural Vector Autoregressions and Monetary Policy: A Corrigendum
📄 Summarized from the full manuscript · Human-reviewed for faithfulness before publication
In brief
A widely used 2005 method for estimating how monetary policy's effects change over time rested on a computational sampling procedure. Was it right? This 2015 correction shows one step was invalid: it ignored information that does in fact affect the quantity being drawn, so the procedure would not have converged on the intended answer even if everything else had been exact. The fix simply reorders two steps already in the original code; a further variant removes the remaining approximation. Re-running the original study, the conclusions come out qualitatively similar but some estimated paths are smoother. Why it matters: users learn exactly what to change and how much to re-trust.
What this paper finds — and why it matters
This 2015 Review of Economic Studies corrigendum by Marco Del Negro and Giorgio Primiceri identifies and fixes a flaw in the Gibbs-sampling algorithm that Primiceri (2005) used to estimate time-varying-parameter structural VARs (TVP-VARs) with stochastic volatility via the Kim-Shephard-Chib (KSC) mixture-of-normals approximation. The original three-block sampler draws the log-volatility history from an approximate density conditional on the coefficients and the KSC mixture-component indicators, then draws the indicators from another approximate density, and finally draws the coefficients from the correct likelihood conditional on the volatilities but not on the mixture indicators; the authors show this last step is invalid because the mixture indicators affect the coefficients’ conditional posterior, so the algorithm would not sample from the correct posterior even if the KSC approximation were made arbitrarily accurate. The fix, Algorithm 2, simply reorders the existing computational steps into two blocks – volatilities in one block, and coefficients followed immediately by the mixture indicators in the other – which the authors note is equivalent to swapping steps (d) and (e) in the original paper’s Appendix A.5 and is therefore trivial to implement in existing code; Algorithm 3 additionally replaces the volatility draw with a Metropolis-Hastings step (using the KSC density as a proposal) to remove the residual approximation error entirely. Geweke (2004) joint-distribution tests confirm Algorithm 3 is fully correct, Algorithm 2 is a close approximation to it, and Algorithm 1 is a poor approximation; separately, re-estimating the original Primiceri (2005) empirical exercise, the authors find Algorithm 2’s results are indistinguishable from Algorithm 3’s (the KSC approximation error is negligible in practice), while Algorithm 1’s results differ from both, albeit qualitatively similar; the main empirical consequence is that some of the estimated time-varying objects come out smoother under the corrected algorithms, with the paper’s qualitative conclusions described as similar to, but not identical to, the original results.
Summary of a classic paper, AI-assisted and human-reviewed. See the linked original for the authoritative claims and full conditions.
Questions & answers
Q1. What object does this corrigendum correct, and what exactly was wrong with it?
It corrects the Gibbs-sampling algorithm Primiceri (2005) used to estimate time-varying-parameter structural VARs with stochastic volatility, showing that its third step drew the time-varying coefficients from an invalid conditional distribution. The original three-block “Algorithm 1” alternates: (1) draw the log-volatility history Σ^T from an approximate density given the coefficients θ and the Kim-Shephard-Chib (KSC) mixture-component indicators s^T; (2) draw s^T from another approximate density given θ and Σ^T; (3) draw θ from the correct likelihood given only Σ^T. The problem is step (3): because s^T records which normal-mixture component approximates the log-χ²(1) innovation at each date and variable, it changes the likelihood of the data and therefore affects θ’s true conditional posterior — so drawing θ without conditioning on s^T is not a valid Gibbs step.
Q2. Are there one or two distinct problems with the original algorithm, and which one actually invalidates it?
The authors identify two distinct problems, and state explicitly that the second is the one that matters. The first is an “approximation inconsistency”: steps (1) and (2) use the KSC mixture-of-normals approximation to the true error distribution while step (3) uses the exact likelihood, so the sampler mixes two different likelihood functions. The second, described as “the more important problem,” is the incorrect conditioning in step (3) described in Q1. The authors state this conditioning error “exposes the problems of Algorithm 1, even abstracting from the approximation error” — meaning the sampler would still fail to deliver the correct posterior even if the KSC approximation were made arbitrarily precise with more mixture components.
Q3. How does the corrected algorithm (Algorithm 2) fix the problem, and how disruptive is it to implement?
Algorithm 2 fixes the problem purely by reordering the existing draws into two Gibbs blocks — {Σ^T} and {θ, s^T} — rather than by changing any individual computation. Within the second block, θ is drawn first (given Σ^T only) and s^T is drawn immediately after (given θ and Σ^T), which makes {θ, s^T} jointly a valid single Gibbs block without requiring θ’s draw to condition on s^T. The authors note this is “equivalent to switching steps (d) and (e)” in Appendix A.5 of Primiceri (2005), so existing code needs only a reordering of two steps, not a rewrite. A related typo is also flagged: step (d) of that appendix should condition on B^T as well as A^T and Σ^T, though the authors call this typo inconsequential since drawing s^T without B^T “is mechanically not possible.”
Q4. Does reordering the steps fully solve the problem, or does an approximation error remain?
Algorithm 2 remains an approximate sampler, because the KSC mixture-of-normals density is still only an approximation to the true log-χ²(1) distribution of the volatility innovations; a fully exact sampler requires the further correction in Algorithm 3. Algorithm 3 keeps Algorithm 2’s block structure but replaces the volatility draw with a Metropolis-Hastings step that uses the KSC density as a proposal and accepts candidates with probability proportional to the ratio of the correct to the proposal density (following the functional form in Stroud, Müller, and Polson 2003). This yields the correct posterior for both the volatilities and the coefficients regardless of how accurate the KSC approximation is, at the cost of an added MH acceptance/rejection step.
Q5. How much do the original Primiceri (2005) results actually change under the corrected algorithms?
Geweke (2004) joint-distribution-test diagnostics confirm Algorithm 3 is a correctly specified sampler, Algorithm 2 is a close approximation to it, and the original Algorithm 1 is a poor approximation; separately, re-estimating the model, the authors find Algorithm 2’s results are indistinguishable from Algorithm 3’s, while Algorithm 1’s results differ from both. The authors report that some estimates of the time-varying objects come out “smoother” under the corrected algorithms, and that the paper’s qualitative conclusions are similar to, but not identical to, the original Primiceri (2005) findings. The revised full results are provided only in online Supplementary Material rather than the four-page print corrigendum itself.
Q6. Does the fix matter only for this one paper, or does it generalize?
The authors state the lesson generalizes to any model using the KSC mixture-of-normals approach to estimate stochastic volatility with Gibbs sampling, including VARs, DSGE models, and factor models with time-varying volatility, as well as unobserved-components models with stochastic volatility (citing Stock and Watson 2007 as an example). The general prescription is to sample the mixture indicators s^T “right before” — i.e., immediately after and in the same block as — the coefficients or states they depend on, rather than treating them as a separate block conditioned on the volatility history alone. The authors separately note, in a footnote, that Justiniano and Primiceri (2008) happens to implement the correct block order for a DSGE stochastic-volatility model even though that paper’s own appendix describes a different (incorrect) order.
Key terms in this paper
Definitions below follow the paper's own usage.
- Kim-Shephard-Chib (KSC) mixture-of-normals approximation
- as used in this corrigendum, a technique for approximating the non-Gaussian distribution of a log-volatility innovation (a log-χ²(1) term) as a mixture of a small number of normal distributions, each selected via an auxiliary "mixture-component indicator" for each date and variable; the approximation is what makes the volatility block of the Gibbs sampler tractable in closed form.
- mixture-component indicators (s^T)
- the auxiliary latent variables, one per date and equation, that record which normal component of the KSC mixture approximates that observation's volatility innovation; the corrigendum's central point is that these indicators affect the coefficients' conditional posterior and so cannot be omitted from the conditioning set when the coefficients are drawn.
- Gibbs-sampler block validity
- in this paper's usage, the requirement that each block of a Gibbs sampler be drawn conditional on the current values of every other block; Algorithm 1 violates this because its coefficient-draw step conditions on the volatilities but not on the mixture indicators, even though the indicators are not independent of the coefficients' posterior.
- Metropolis-Hastings correction (Algorithm 3)
- the paper's method for eliminating the residual error from the KSC approximation, in which the approximate mixture-of-normals density is used only as a candidate-generating proposal for the volatility history, and candidates are accepted or rejected with probability set by the ratio of the true to the proposal density, yielding draws from the exact posterior.
- Geweke (2004) Joint Distribution Tests
- the diagnostic procedure the authors use to verify that Algorithm 3 samples from the correct joint posterior, by checking that two different ways of simulating from the same joint distribution (forward simulation versus the Gibbs sampler's successive-conditional draws) produce statistically indistinguishable output.