Learn R Programming

vars (version 1.3-5)

SVAR: Estimation of a SVAR

Description

Estimates an SVAR (either A-model, B-model or AB-model) by using a scoring algorithm or by numerically minimising the negative log-likelihood with optim().

Usage

SVAR(x, estmethod = c("scoring", "logLik"), Amat = NULL, Bmat = NULL, Ra
= NULL, Rb = NULL, ra = NULL, rb = NULL, start = NULL, max.iter = 100,
conv.crit = 0.1e-6, maxls = 1.0, lrtest = TRUE, ...)

Arguments

x
Object of class varest; generated by VAR().
estmethod
Character, either scoring for estimating the SVAR-model with the scoring algorithm (default), or logLik for minimising the negative log-likelihood.
start
Vector with starting values for the parameters to be optimised.
lrtest
Logical, over-identification LR test, the result is set to NULL for just-identified system.
Ra
Matrix of the explicit form constraints on A (used if estmethod = "scoring").
Rb
Matrix of the explicit form constraints on B (used if estmethod = "scoring").
ra
Vector of the non-homogenous part of constraints on A (used if estmethod = "scoring").
rb
Vector of the non-homogenous part of constraints on B (used if estmethod = "scoring").
max.iter
Integer, maximum number of iteration (used if estmethod = "scoring").
conv.crit
Real, convergence value of algorithm (used if estmethod = "scoring").
maxls
Real, maximum movement of the parameters between two iterations of the scoring algorithm (used if estmethod = "scoring").
Amat
Matrix with dimension $(K \times K)$ for A- or AB-model (used if estmethod = "logLik").
Bmat
Matrix with dimension $(K \times K)$ for B- or AB-model (used if estmethod = "logLik").
...
Arguments that arr passed to optim() (used if estmethod = "logLik").

Value

  • A list of class svarest with the following elements is returned:
  • AIf A- or AB-model, the matrix of estimated coeffiecients.
  • AseIf hessian = TRUE, the standard errors of A, otherwise a null-matrix is returned.
  • BIf A- or AB-model, the matrix of estimated coeffiecients.
  • BseIf hessian = TRUE, the standard errors of B, otherwise a null-matrix is returned.
  • LRIMFor Blanchard-Quah estimation LRIM is the estimated long-run impact matrix; for all other SVAR models LRIM is NULL.
  • Sigma.UThe variance-covariance matrix of the reduced form residuals times 100, i.e., $\Sigma_U = A^{-1}BB'A^{-1'} \times 100$.
  • LRObject of class code{htest}, holding the Likelihood ratio overidentification test.
  • optList object returned by optim().
  • startVector of starting values.
  • typeSVAR-type, character, either A-model, B-model or AB-model.
  • varThe varest object x.
  • callThe call to SVAR().

encoding

latin1

concept

  • SVAR
  • Structural VAR
  • Structural Vector Autoregressive
  • A-model
  • B-model
  • AB-model

Details

Consider the following structural form of a k-dimensional vector autoregressive model: $$A \bold{y}_t = A_1^*\bold{y}_{t-1} + \ldots + A_p^*\bold{y}_{t-p} + C^*D_t + B\bold{\varepsilon}_t$$ The coefficient matrices $(A_1^* | \ldots | A_p^* | C^*)$ might now differ from the ones of a VAR (see ?VAR). One can now impose restrictions on A and/or B, resulting in an A-model or B-model or if the restrictions are placed on both matrices, an AB-model. In case of a SVAR A-model, $B = I_K$ and conversely for a SVAR B-model. Please note that for either an A-model or B-model, $K(K-1)/2$ restrictions have to be imposed, such that the models' coefficients are identified. For an AB-model the number of restrictions amounts to: $K^2 + K(K-1)/2$. The reduced form residuals can be obtained from the above equation via the relation: $\bold{u}_t = A^{-1}B\bold{\varepsilon}_t$, with variance-covariance matrix $\Sigma_U = A^{-1}BB'A^{-1'}$. If the estimation method is set to "scoring", the restrictions have to be provided in explicit form: $$vec(A) = R_a \gamma_a + r_a$$ and/or $$vec(B) = R_b \gamma_b + r_b$$ Please note that for either an A-model or B-model, $K(K-1)/2$ restrictions have to be imposed, such that the models' coefficients are identified. For an AB-model the number of restrictions amounts to: $K^2 + K(K-1)/2$. If the estimation method is set to "logLik", then for an A-model a $(K \times K)$ matrix has to be provided for the functional argument Amat and the functional argument Bmat must be set to NULL (the default). Hereby, the to be estimated elements of Amat have to be set as NA. Conversely, for a B-model a matrix object with dimension $(K \times K)$ with elements set to NA at the positions of the to be estimated parameters has to be provided and the functional argument Amat is NULL (the default). Finally, for an AB-model both arguments, Amat and Bmat, have to be set as matrix objects containing desired restrictions and NA values. The parameters are estimated by minimising the negative of the concentrated log-likelihood function: $$\ln L_c(A, B) = - \frac{KT}{2}\ln(2\pi) + \frac{T}{2}\ln|A|^2 - \frac{T}{2}\ln|B|^2 - \frac{T}{2}tr(A'B'^{-1}B^{-1}A\tilde{\Sigma}_u)$$ If start is not set, then 0.1 is used as starting values for the unknown coefficients. If the function is called with hessian = TRUE, the standard errors of the coefficients are returned as list elements Ase and/or Bse, where applicable. Finally, in case of an overidentified SVAR, a likelihood ratio statistic is computed according to: $$LR = T(\ln\det(\tilde{\Sigma}_u^r) - \ln\det(\tilde{\Sigma}_u)) \quad ,$$ with $\tilde{\Sigma}_u^r$ being the restricted variance-covariance matrix and $\tilde{\Sigma}_u$ being the variance covariance matrix of the reduced form residuals. The test statistic is distributed as $\chi^2(nr - 2K^2 - \frac{1}{2}K(K + 1))$, where $nr$ is equal to the number of restrictions.

References

Amisano, G. and C. Giannini (1997), Topics in Structural VAR Econometrics, 2nd edition, Springer, Berlin. Breitung, J., R. Br�ggemann and H. L�tkepohl (2004), Structural vector autoregressive modeling and impulse responses, in H. L�tkepohl and M. Kr�tzig (editors), Applied Time Series Econometrics, Cambridge University Press, Cambridge. Hamilton, J. (1994), Time Series Analysis, Princeton University Press, Princeton. L�tkepohl, H. (2006), New Introduction to Multiple Time Series Analysis, Springer, New York.

See Also

VAR, SVEC, logLik, irf, fevd

Examples

Run this code
data(Canada)
var.2c <- VAR(Canada, p = 2, type = "const")
## Estimation method scoring
Ra <- matrix(0, nrow = 16, ncol = 5)
Ra[1, 1] <- 1
Ra[4, 2] <- 1
Ra[6, 3] <- 1
Ra[11, 4] <- 1
Ra[16, 5] <- 1
ra <- rep(0, 16)
SVAR(x = var.2c, estmethod = "scoring", Ra = Ra, Rb = NULL, ra = ra, rb
= NULL, lrtest = TRUE, start = abs(rnorm(5)), max.iter = 100, maxls =
1000, conv.crit = 1.0e-8) 
## Estimation Method logLik
amat <- diag(4)
diag(amat) <- NA
amat[2, 1] <- NA
amat[4, 1] <- NA
SVAR(var.2c, estmethod = "logLik", Amat = amat, Bmat = NULL,
hessian = TRUE, method="BFGS")

Run the code above in your browser using DataLab