Title: | VAR Modelling |
---|---|
Description: | Estimation, lag selection, diagnostic testing, forecasting, causality analysis, forecast error variance decomposition and impulse response functions of VAR models and estimation of SVAR and SVEC models. |
Authors: | Bernhard Pfaff [aut, cre], Matthieu Stigler [ctb] |
Maintainer: | Bernhard Pfaff <[email protected]> |
License: | GPL (>= 2) |
Version: | 1.6-1 |
Built: | 2024-12-17 06:31:14 UTC |
Source: | CRAN |
Returns the estimated coefficient matrices of the lagged endogenous
variables as a list of matrices each with dimension .
Acoef(x)
Acoef(x)
x |
An object of class ‘ |
Given an estimated VAR(p) of the form:
the function returns the matrices
each with dimension
as a list object.
A list object with coefficient matrices for the lagged endogenous variables.
This function was named A
in earlier versions of package
vars; it is now deprecated. See vars-deprecated
too.
Bernhard Pfaff
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") Acoef(var.2c)
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") Acoef(var.2c)
This function computes univariate and multivariate ARCH-LM tests for a VAR(p).
arch.test(x, lags.single = 16, lags.multi = 5, multivariate.only = TRUE)
arch.test(x, lags.single = 16, lags.multi = 5, multivariate.only = TRUE)
x |
Object of class ‘ |
lags.single |
An integer specifying the lags to be used for the univariate ARCH statistics. |
lags.multi |
An integer specifying the lags to be used for the multivariate ARCH statistic. |
multivariate.only |
If |
The multivariate ARCH-LM test is based on the following regression (the univariate test can be considered as special case of the exhibtion below and is skipped):
whereby assigns a spherical error process and
is the column-stacking operator for symmetric matrices
that stacks the columns from the main diagonal on downwards. The
dimension of
is
and for
the coefficient matrices
with
,
. The null
hypothesis is:
and the
alternative is:
.
The test statistic is:
with
and assigns the covariance matrix of the above
defined regression model. This test statistic is distributed as
.
A list with class attribute ‘varcheck
’ holding the
following elements:
resid |
A matrix with the residuals of the VAR. |
arch.uni |
A list with objects of class ‘ |
arch.mul |
An object with class attribute ‘ |
This function was named arch
in earlier versions of package
vars; it is now deprecated. See vars-deprecated
too.
Bernhard Pfaff
Doornik, J. A. and D. F. Hendry (1997), Modelling Dynamic Systems Using PcFiml 9.0 for Windows, International Thomson Business Press, London.
Engle, R. F. (1982), Autoregressive conditional heteroscedasticity with estimates of the variance of United Kingdom inflation, Econometrica, 50: 987-1007.
Hamilton, J. (1994), Time Series Analysis, Princeton University Press, Princeton.
Lütkepohl, H. (2006), New Introduction to Multiple Time Series Analysis, Springer, New York.
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") arch.test(var.2c)
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") arch.test(var.2c)
Returns the estimated coefficients of a VAR(p) as a matrix.
Bcoef(x)
Bcoef(x)
x |
An object of class ‘ |
Given an estimated VAR of the form:
the function returns the matrices as a matrix object.
A matrix holding the estimated coefficients of a VAR.
This function was named B
in earlier versions of package
vars; it is now deprecated. See vars-deprecated
too.
Bernhard Pfaff
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") Bcoef(var.2c)
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") Bcoef(var.2c)
This function estimates a SVAR of type Blanchard and Quah. It returns
a list object with class attribute ‘svarest
’.
BQ(x)
BQ(x)
x |
Object of class ‘ |
For a Blanchard-Quah model the matrix is set to be an identity
matrix with dimension
. The matrix of the long-run effects is
assumed to be lower-triangular and is defined as:
Hence, the residual of the second equation cannot exert a long-run influence on the first variable and likewise the third residual cannot impact the first and second variable. The estimation of the Blanchard-Quah model is achieved by a Choleski decomposition of:
The matrices for
assign the
reduced form estimates. The long-run impact matrix is the
lower-triangular Choleski decomposition of the above matrix and the
contemporaneous impact matrix is equal to:
where assigns the lower-trinagular Choleski decomposition.
A list of class ‘svarest
’ with the following elements is
returned:
A |
An identity matrix. |
Ase |
|
B |
The estimated contemporaneous impact matrix. |
Bse |
|
LRIM |
The estimated long-run impact matrix. |
Sigma.U |
The variance-covariance matrix of the reduced form residuals times 100. |
LR |
|
opt |
|
start |
|
type |
Character: “Blanchard-Quah”. |
var |
The ‘ |
call |
The |
Bernhard Pfaff
Blanchard, O. and D. Quah (1989), The Dynamic Effects of Aggregate Demand and Supply Disturbances, The American Economic Review, 79(4), 655-673.
Hamilton, J. (1994), Time Series Analysis, Princeton University Press, Princeton.
Lütkepohl, H. (2006), New Introduction to Multiple Time Series Analysis, Springer, New York.
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") BQ(var.2c)
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") BQ(var.2c)
The original time series are published by the OECD. The
sample range is from the 1stQ 1980 until 4thQ 2000. The following
series have been utilised in the construction of the series provided
in Canada
:
Main Economic Indicators:
Canadian unemployment rate in % | 444113DSA |
Canadian manufacturing real wage | 444321KSA |
Canadian consumer price index | 445241K |
Quarterly National Accounts:
Canadian nominal GDP | CAN1008S1 |
Labour Force Statistics:
Canadian civil employment in 1000 persons | 445005DSA |
The series in Canada
are constructed as:
prod := |
100*(ln(CAN1008S1/445241K)-ln(445005DSA)) |
e := |
100*ln(445005DSA) |
U := |
444113DSA |
rw := |
100*ln(100*444321KSA) |
Hence, prod
is used as a measure of labour productivity;
e
is used for employment; U
is the unemployment rate and
rw
assigns the real wage.
Canada
Canada
An object with class attributes mts
and ts
containing four variables with 84 observations.
OECD: https://www.oecd.org; data set is available for download at http://www.jmulti.org/data_atse.html, the official homepage of JMULTI is http://www.jmulti.com. The book resource for JMULTI is: Luetkepohl, H. and Kraetzig, M., Applied Time Series Econometrics, Cambridge University Press, Cambridge, 2004.
Computes the test statistics for Granger- and Instantaneous causality for a VAR(p).
causality(x, cause = NULL, vcov.=NULL, boot=FALSE, boot.runs=100)
causality(x, cause = NULL, vcov.=NULL, boot=FALSE, boot.runs=100)
x |
Object of class ‘ |
cause |
A character vector of the cause variable(s). If not set,
then the variable in the first column of |
vcov. |
a specification of the covariance matrix of the estimated coefficients. This can be
specified as a matrix or as a function yielding a matrix when applied to |
boot |
Logical. Whether a wild bootstrap procedure should be used to compute the critical values. Default is no |
boot.runs |
Number of bootstrap replications if boot=TRUE |
Two causality tests are implemented. The first is a F-type
Granger-causality test and the second is a Wald-type test that is
characterized by testing for nonzero correlation between the error
processes of the cause and effect variables. For both tests the vector
of endogenous variables is split into two subvectors
and
with dimensions
and
with
.
For the rewritten VAR(p):
the null hypothesis that the subvector does not
Granger-cause
, is defined as
for
. The
alternative is:
for
. The test statistic is distributed as
, with
equal to the total number of
parameters in the above VAR(p) (including deterministic
regressors).
The null hypothesis for instantaneous causality is defined as:
, where
is a
matrix of rank
selecting the relevant co-variances of
and
;
. The Wald statistic is defined as:
hereby assigning the Moore-Penrose inverse of the duplication matrix
with
and
. The
duplication matrix
has dimension
and is defined such that for any symmetric
matrix A,
holds. The
test statistic
is asymptotically distributed as
.
Fot the Granger causality test, a robust covariance-matrix estimator can be
used in case of heteroskedasticity through argument vcov.
It can be either a pre-computed matrix or
a function for extracting the covariance matrix. See vcovHC
from package sandwich for further details.
A wild bootstrap computation (imposing the restricted model as null)
of the p values is available through argument boot
and boot.runs
following Hafner and Herwartz (2009).
A list with elements of class ‘htest
’:
Granger |
The result of the Granger-causality test. |
Instant |
The result of the instantaneous causality test. |
The Moore-Penrose inverse matrix is computed with the function
ginv
contained in the package ‘MASS
’.
The Granger-causality test is problematic if some of the
variables are nonstationary. In that case the usual asymptotic
distribution of the test statistic may not be valid under the null
hypothesis.
Bernhard Pfaff
Granger, C. W. J. (1969), Investigating causal relations by econometric models and cross-spectral methods, Econometrica, 37: 424-438.
Hafner, C. M. and Herwartz, H. (2009) Testing for linear vector autoregressive dynamics under multivariate generalized autoregressive heteroskedasticity, Statistica Neerlandica, 63: 294-323
Hamilton, J. (1994), Time Series Analysis, Princeton University Press, Princeton.
Lütkepohl, H. (2006), New Introduction to Multiple Time Series Analysis, Springer, New York.
Venables, W. N. and B. D. Ripley (2002), Modern Applied Statistics with S, 4th edition, Springer, New York.
Zeileis, A. (2006) Object-Oriented Computation of Sandwich Estimators Journal of Statistical Software, 16, 1-16
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") causality(var.2c, cause = "e") #use a robust HC variance-covariance matrix for the Granger test: causality(var.2c, cause = "e", vcov.=vcovHC(var.2c)) #use a wild-bootstrap procedure to for the Granger test ## Not run: causality(var.2c, cause = "e", boot=TRUE, boot.runs=1000)
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") causality(var.2c, cause = "e") #use a robust HC variance-covariance matrix for the Granger test: causality(var.2c, cause = "e", vcov.=vcovHC(var.2c)) #use a wild-bootstrap procedure to for the Granger test ## Not run: causality(var.2c, cause = "e", boot=TRUE, boot.runs=1000)
Returns the coefficients of a VAR(p)-model for objects generated by
VAR()
. Thereby the coef-method is applied to the summary of
the list element varresult
, which is itself a list of
summary.lm
-objects.
## S3 method for class 'varest' coef(object, ...)
## S3 method for class 'varest' coef(object, ...)
object |
An object of class ‘ |
... |
Currently not used. |
Bernhard Pfaff
Hamilton, J. (1994), Time Series Analysis, Princeton University Press, Princeton.
Lütkepohl, H. (2006), New Introduction to Multiple Time Series Analysis, Springer, New York.
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") coef(var.2c)
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") coef(var.2c)
Time Series plots of VAR forecasts with differently shaded confidence regions (fanchart) for each endogenous variable.
fanchart(x, colors = NULL, cis = NULL, names = NULL, main = NULL, ylab = NULL, xlab = NULL, col.y = NULL, nc, plot.type = c("multiple", "single"), mar = par("mar"), oma = par("oma"), ... )
fanchart(x, colors = NULL, cis = NULL, names = NULL, main = NULL, ylab = NULL, xlab = NULL, col.y = NULL, nc, plot.type = c("multiple", "single"), mar = par("mar"), oma = par("oma"), ... )
x |
An object of class ‘ |
colors |
Character vector of colors to be used for shading. If unset, a gray color scheme is used. |
cis |
A numeric vector of confidence intervals. If unset the sequence from 0.1 to 0.9 is used (step size 0.1). |
names |
Character vector, names of variables for fancharts. If unset, all variables are plotted. |
main |
Character vector, title for fanchart plots. |
ylab |
Character, ylab for fanchart. |
xlab |
Character, xlab for fanchart. |
col.y |
Character, color for plotted time series. |
plot.type |
Character, if multiple all fancharts appear in one device. |
nc |
Integer, number of columns if plot.type is multiple. |
mar |
Vector, setting of margins. |
oma |
Vector, setting of outer margins. |
... |
Dot argument, passed to plot.ts. |
Bernhard Pfaff
Britton, E., P.G. Fisher and J.D. Whitley (1998), Inflation Report projections: understanding the fan chart, Bank of England Quarterly Bulletin, February, Bank of England, pages 30-37.
## Not run: data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") var.2c.prd <- predict(var.2c, n.ahead = 8, ci = 0.95) fanchart(var.2c.prd) ## End(Not run)
## Not run: data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") var.2c.prd <- predict(var.2c, n.ahead = 8, ci = 0.95) fanchart(var.2c.prd) ## End(Not run)
Computes the forecast error variance decomposition of a VAR(p) for
n.ahead
steps.
## S3 method for class 'varest' fevd(x, n.ahead=10, ...) ## S3 method for class 'svarest' fevd(x, n.ahead=10, ...) ## S3 method for class 'svecest' fevd(x, n.ahead=10, ...) ## S3 method for class 'vec2var' fevd(x, n.ahead=10, ...)
## S3 method for class 'varest' fevd(x, n.ahead=10, ...) ## S3 method for class 'svarest' fevd(x, n.ahead=10, ...) ## S3 method for class 'svecest' fevd(x, n.ahead=10, ...) ## S3 method for class 'vec2var' fevd(x, n.ahead=10, ...)
x |
Object of class ‘ |
n.ahead |
Integer specifying the steps. |
... |
Currently not used. |
The forecast error variance decomposition is based upon the
orthogonalised impulse response coefficient matrices and
allow the user to analyse the contribution of variable
to the
h-step forecast error variance of variable
. If the
orthogonalised impulse reponses are divided by the variance of the
forecast error
, the resultant is a percentage
figure. Formally:
which can be written as:
Dividing the term
by
yields the forecast error variance
decompositions in percentage terms.
A list with class attribute ‘varfevd
’ of length K
holding the forecast error variances as matrices.
Bernhard Pfaff
Hamilton, J. (1994), Time Series Analysis, Princeton University Press, Princeton.
Lütkepohl, H. (2006), New Introduction to Multiple Time Series Analysis, Springer, New York.
VAR
, SVAR
, vec2var
,
SVEC
, Phi
, Psi
,
plot
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") fevd(var.2c, n.ahead = 5)
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") fevd(var.2c, n.ahead = 5)
Returns the fitted values of a VAR(p)-model for objects generated by
VAR()
or vec2var()
. For objects of class varest
the fitted.values-method is applied to the list element
varresult
, which is itself a list of lm
-objects.
## S3 method for class 'varest' fitted(object, ...) ## S3 method for class 'vec2var' fitted(object, ...)
## S3 method for class 'varest' fitted(object, ...) ## S3 method for class 'vec2var' fitted(object, ...)
object |
An object of class ‘ |
... |
Currently not used. |
Bernhard Pfaff
Hamilton, J. (1994), Time Series Analysis, Princeton University Press, Princeton.
Lütkepohl, H. (2006), New Introduction to Multiple Time Series Analysis, Springer, New York.
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") fitted(var.2c)
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") fitted(var.2c)
Computes the impulse response coefficients of a VAR(p) (or transformed
VECM to VAR(p)) or a SVAR for n.ahead
steps.
## S3 method for class 'varest' irf(x, impulse = NULL, response = NULL, n.ahead = 10, ortho = TRUE, cumulative = FALSE, boot = TRUE, ci = 0.95, runs = 100, seed = NULL, ...) ## S3 method for class 'svarest' irf(x, impulse = NULL, response = NULL, n.ahead = 10, ortho = TRUE, cumulative = FALSE, boot = TRUE, ci = 0.95, runs = 100, seed = NULL, ...) ## S3 method for class 'vec2var' irf(x, impulse = NULL, response = NULL, n.ahead = 10, ortho = TRUE, cumulative = FALSE, boot = TRUE, ci = 0.95, runs = 100, seed = NULL, ...) ## S3 method for class 'svecest' irf(x, impulse = NULL, response = NULL, n.ahead = 10, ortho = TRUE, cumulative = FALSE, boot = TRUE, ci = 0.95, runs = 100, seed = NULL, ...)
## S3 method for class 'varest' irf(x, impulse = NULL, response = NULL, n.ahead = 10, ortho = TRUE, cumulative = FALSE, boot = TRUE, ci = 0.95, runs = 100, seed = NULL, ...) ## S3 method for class 'svarest' irf(x, impulse = NULL, response = NULL, n.ahead = 10, ortho = TRUE, cumulative = FALSE, boot = TRUE, ci = 0.95, runs = 100, seed = NULL, ...) ## S3 method for class 'vec2var' irf(x, impulse = NULL, response = NULL, n.ahead = 10, ortho = TRUE, cumulative = FALSE, boot = TRUE, ci = 0.95, runs = 100, seed = NULL, ...) ## S3 method for class 'svecest' irf(x, impulse = NULL, response = NULL, n.ahead = 10, ortho = TRUE, cumulative = FALSE, boot = TRUE, ci = 0.95, runs = 100, seed = NULL, ...)
x |
Object of class ‘ |
impulse |
A character vector of the impulses, default is all variables. |
response |
A character vector of the responses, default is all variables. |
n.ahead |
Integer specifying the steps. |
ortho |
Logical, if |
cumulative |
Logical, if |
boot |
Logical, if |
ci |
Numeric, the confidence interval for the bootstrapped errors bands. |
runs |
An integer, specifying the runs for the bootstrap. |
seed |
An integer, specifying the seed for the |
... |
Currently not used. |
The impulse response coefficients of a VAR(p) for n.ahead
steps
are computed by utilising either the function Phi()
or
Psi()
. If boot = TRUE
(the default), confidence
bands for a given width specified by ci
are derived from
runs
bootstrap. Hereby, it is at the users leisure to set a
seed
for the random number generator.
The standard percentile interval is defined as:
with and
are the
and
quantiles of the bootstrap
distribution of
or
depending whether
ortho = TRUE
. In case cumulative = TRUE
, the confidence
bands are calculated from the cumulated impulse response
coefficients.
A list of class ‘varirf
’ with the following elements is
returned:
irf |
A list with matrices for each of the impulse variables containing the impulse response coefficients. |
Lower |
If |
Upper |
If |
response |
Character vector holding the names of the response variables. |
impulse |
Character vector holding the names of the impulse variables. |
ortho |
Logical, if |
cumulative |
Logical, if |
runs |
An integer, specifying the number of bootstrap runs. |
ci |
Numeric, defining the confidence level. |
boot |
Logical, if |
model |
Character, containing ‘ |
Bernhard Pfaff
Efron, B. and R. J. Tibshirani (1993), An Introduction to the Bootstrap, Chapman and Hall, New York.
Hamilton, J. (1994), Time Series Analysis, Princeton University Press, Princeton.
Lütkepohl, H. (2006), New Introduction to Multiple Time Series Analysis, Springer, New York.
VAR
, SVAR
, vec2var
,
SVEC
, Phi
, Psi
, plot
data(Canada) ## For VAR var.2c <- VAR(Canada, p = 2, type = "const") irf(var.2c, impulse = "e", response = c("prod", "rw", "U"), boot = FALSE) ## For SVAR amat <- diag(4) diag(amat) <- NA svar.a <- SVAR(var.2c, estmethod = "direct", Amat = amat) irf(svar.a, impulse = "e", response = c("prod", "rw", "U"), boot = FALSE)
data(Canada) ## For VAR var.2c <- VAR(Canada, p = 2, type = "const") irf(var.2c, impulse = "e", response = c("prod", "rw", "U"), boot = FALSE) ## For SVAR amat <- diag(4) diag(amat) <- NA svar.a <- SVAR(var.2c, estmethod = "direct", Amat = amat) irf(svar.a, impulse = "e", response = c("prod", "rw", "U"), boot = FALSE)
Returns the log-Likelihood of a VAR, level-VECM, SVAR or SVEC object.
## S3 method for class 'varest' logLik(object, ...) ## S3 method for class 'vec2var' logLik(object, ...) ## S3 method for class 'svarest' logLik(object, ...) ## S3 method for class 'svecest' logLik(object, ...)
## S3 method for class 'varest' logLik(object, ...) ## S3 method for class 'vec2var' logLik(object, ...) ## S3 method for class 'svarest' logLik(object, ...) ## S3 method for class 'svecest' logLik(object, ...)
object |
An object of class ‘ |
... |
Currently not used. |
The log-likelihood of a VAR or level-VECM model is defined as:
and for a SVAR / SVEC model the log-likelihood takes the form of:
An object with class attribute logLik
.
Bernhard Pfaff
Hamilton, J. (1994), Time Series Analysis, Princeton University Press, Princeton.
Lütkepohl, H. (2006), New Introduction to Multiple Time Series Analysis, Springer, New York.
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") logLik(var.2c)
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") logLik(var.2c)
This function computes univariate and multivariate Jarque-Bera tests and multivariate skewness and kurtosis tests for the residuals of a VAR(p) or of a VECM in levels.
normality.test(x, multivariate.only = TRUE)
normality.test(x, multivariate.only = TRUE)
x |
Object of class ‘ |
multivariate.only |
If |
Multivariate and univariate versions of the Jarque-Bera test are applied to the residuals of a VAR. The multivariate version of this test is computed by using the residuals that are standardized by a Choleski decomposition of the variance-covariance matrix for the centered residuals. Please note, that in this case the test result is dependant upon the ordering of the variables.
A list of class ‘varcheck
’ with the following elements is
returned:
resid |
A matrix of the residuals. |
jb.uni |
A list of elements with class attribute
‘ |
jb.mul |
A list of elements with class attribute
‘ |
containing the mutlivariate Jarque-Bera test, the multivariate Skewness and Kurtosis tests.
This function was named normality
in earlier versions of package
vars; it is now deprecated. See vars-deprecated
too.
Bernhard Pfaff
Hamilton, J. (1994), Time Series Analysis, Princeton University Press, Princeton.
Jarque, C. M. and A. K. Bera (1987), A test for normality of observations and regression residuals, International Statistical Review, 55: 163-172.
Lütkepohl, H. (2006), New Introduction to Multiple Time Series Analysis, Springer, New York.
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") normality.test(var.2c)
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") normality.test(var.2c)
Returns the estimated coefficient matrices of the moving average representation of a stable VAR(p), of an SVAR as an array or a converted VECM to VAR.
## S3 method for class 'varest' Phi(x, nstep=10, ...) ## S3 method for class 'svarest' Phi(x, nstep=10, ...) ## S3 method for class 'svecest' Phi(x, nstep=10, ...) ## S3 method for class 'vec2var' Phi(x, nstep=10, ...)
## S3 method for class 'varest' Phi(x, nstep=10, ...) ## S3 method for class 'svarest' Phi(x, nstep=10, ...) ## S3 method for class 'svecest' Phi(x, nstep=10, ...) ## S3 method for class 'vec2var' Phi(x, nstep=10, ...)
x |
An object of class ‘ |
nstep |
An integer specifying the number of moving error coefficient matrices to be calculated. |
... |
Currently not used. |
If the process is stationary (i.e.
,
it has a Wold moving average representation in the form of:
whith and the matrices
can be computed
recursively according to:
whereby are set to zero for
. The matrix elements
represent the impulse responses of the components of
with respect to the shocks
. More precisely, the
th element of the matrix
mirrors the expected
response of
to a unit change of the variable
.
In case of a SVAR, the impulse response matrices are given by:
Albeit the fact, that the Wold decomposition does not exist for
nonstationary processes, it is however still possible to compute the
matrices likewise with integrated variables or for the
level version of a VECM. However, a convergence to zero of
as i tends to infinity is not ensured; hence some shocks
may have a permanent effect.
An array with dimension holding the
estimated coefficients of the moving average representation.
The first returned array element is the starting value, i.e.,
.
Bernhard Pfaff
Hamilton, J. (1994), Time Series Analysis, Princeton University Press, Princeton.
Lütkepohl, H. (2006), New Introduction to Multiple Time Series Analysis, Springer, New York.
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") Phi(var.2c, nstep=4)
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") Phi(var.2c, nstep=4)
Plot method for objects with class attribute varest
,
vec2var
, varcheck
, varfevd
, varirf
,
varprd
, varstabil
.
## S3 method for class 'varcheck' plot(x, names = NULL, main.resid = NULL, main.hist = NULL, main.acf = NULL, main.pacf = NULL, main.acf2 = NULL, main.pacf2 = NULL, ylim.resid = NULL, ylim.hist = NULL, ylab.resid = NULL, xlab.resid = NULL, xlab.acf = NULL, lty.resid = NULL, lwd.resid = NULL, col.resid = NULL, col.edf = NULL, lag.acf = NULL, lag.pacf = NULL, lag.acf2 = NULL, lag.pacf2 = NULL, mar = par("mar"), oma = par("oma"), ...) ## S3 method for class 'varest' plot(x, names = NULL, main.fit = NULL, main.acf = NULL, main.pacf = NULL, ylim.fit = NULL, ylim.resid = NULL, lty.fit = NULL, lty.resid = NULL, lwd.fit = NULL, lwd.resid = NULL, lag.acf = NULL, lag.pacf = NULL, col.fit = NULL, col.resid = NULL, ylab.fit = NULL, ylab.resid = NULL, ylab.acf = NULL, ylab.pacf = NULL, xlab.fit = NULL, xlab.resid = NULL, nc, mar = par("mar"), oma = par("oma"), adj.mtext = NA, padj.mtext = NA, col.mtext = NA, ...) ## S3 method for class 'vec2var' plot(x, ...) ## S3 method for class 'varfevd' plot(x, plot.type = c("multiple", "single"), names = NULL, main = NULL, col = NULL, ylim = NULL, ylab = NULL, xlab = NULL, legend = NULL, names.arg = NULL, nc, mar = par("mar"), oma = par("oma"), addbars = 1, ...) ## S3 method for class 'varirf' plot(x, plot.type = c("multiple", "single"), names = NULL, main = NULL, sub = NULL, lty = NULL, lwd = NULL, col = NULL, ylim = NULL, ylab = NULL, xlab = NULL, nc, mar.multi = c(0, 4, 0, 4), oma.multi = c(6, 4, 6, 4), adj.mtext = NA, padj.mtext = NA, col.mtext = NA, ...) ## S3 method for class 'varprd' plot(x, plot.type = c("multiple", "single"), names = NULL, main = NULL, col = NULL, lty = NULL, lwd = NULL, ylim = NULL, ylab = NULL, xlab = NULL, nc, mar = par("mar"), oma = par("oma"), ...) ## S3 method for class 'varstabil' plot(x, plot.type = c("multiple", "single"), names = NULL, main = NULL, nc, mar = par("mar"), oma = par("oma"), ...)
## S3 method for class 'varcheck' plot(x, names = NULL, main.resid = NULL, main.hist = NULL, main.acf = NULL, main.pacf = NULL, main.acf2 = NULL, main.pacf2 = NULL, ylim.resid = NULL, ylim.hist = NULL, ylab.resid = NULL, xlab.resid = NULL, xlab.acf = NULL, lty.resid = NULL, lwd.resid = NULL, col.resid = NULL, col.edf = NULL, lag.acf = NULL, lag.pacf = NULL, lag.acf2 = NULL, lag.pacf2 = NULL, mar = par("mar"), oma = par("oma"), ...) ## S3 method for class 'varest' plot(x, names = NULL, main.fit = NULL, main.acf = NULL, main.pacf = NULL, ylim.fit = NULL, ylim.resid = NULL, lty.fit = NULL, lty.resid = NULL, lwd.fit = NULL, lwd.resid = NULL, lag.acf = NULL, lag.pacf = NULL, col.fit = NULL, col.resid = NULL, ylab.fit = NULL, ylab.resid = NULL, ylab.acf = NULL, ylab.pacf = NULL, xlab.fit = NULL, xlab.resid = NULL, nc, mar = par("mar"), oma = par("oma"), adj.mtext = NA, padj.mtext = NA, col.mtext = NA, ...) ## S3 method for class 'vec2var' plot(x, ...) ## S3 method for class 'varfevd' plot(x, plot.type = c("multiple", "single"), names = NULL, main = NULL, col = NULL, ylim = NULL, ylab = NULL, xlab = NULL, legend = NULL, names.arg = NULL, nc, mar = par("mar"), oma = par("oma"), addbars = 1, ...) ## S3 method for class 'varirf' plot(x, plot.type = c("multiple", "single"), names = NULL, main = NULL, sub = NULL, lty = NULL, lwd = NULL, col = NULL, ylim = NULL, ylab = NULL, xlab = NULL, nc, mar.multi = c(0, 4, 0, 4), oma.multi = c(6, 4, 6, 4), adj.mtext = NA, padj.mtext = NA, col.mtext = NA, ...) ## S3 method for class 'varprd' plot(x, plot.type = c("multiple", "single"), names = NULL, main = NULL, col = NULL, lty = NULL, lwd = NULL, ylim = NULL, ylab = NULL, xlab = NULL, nc, mar = par("mar"), oma = par("oma"), ...) ## S3 method for class 'varstabil' plot(x, plot.type = c("multiple", "single"), names = NULL, main = NULL, nc, mar = par("mar"), oma = par("oma"), ...)
addbars |
Integer, number of empty bars in barplot to reserve space for legend. If set to zero, no legend will be returned. |
adj.mtext |
Adjustment for |
col |
Character vector, colors to use in plot. |
col.edf |
Character, color of residuals' EDF. |
col.fit |
Character vector, colors for diagram of fit. |
col.mtext |
Character, color for |
col.resid |
Character vector, colors for residual plot. |
lag.acf |
Integer, lag.max for ACF of residuals. |
lag.acf2 |
Integer, lag.max for ACF of squared residuals. |
lag.pacf |
Integer, lag.max for PACF of residuals. |
lag.pacf2 |
Integer, lag.max for PACF of squared residuals. |
legend |
Character vector of names in legend. |
lty |
Integer/Character, the line types. |
lty.fit |
Vector, lty for diagram of fit. |
lty.resid |
Vector, lty for residual plot. |
lwd |
The width of the lines. |
lwd.fit |
Vector, lwd for diagram of fit. |
lwd.resid |
Vector, lwd for residual plot. |
main |
Character vector, the titles of the plot. |
main.acf |
Character vector, main for residuals' ACF. |
main.acf2 |
Character vector, main for squared residuals' ACF. |
main.fit |
Character vector, main for diagram of fit. |
main.hist |
Character vector, main for histogram of residuals. |
main.pacf |
Character vector, main for residuals' PACF. |
main.pacf2 |
Character vector, main for squared residuals' PACF. |
main.resid |
Character vector, main for residual plot. |
mar |
Setting of margins. |
mar.multi |
Setting of margins, if |
names |
Character vector, the variables names to be plotted. If
left |
names.arg |
Character vector, names for x-axis of barplot. |
nc |
Integer, number of columns for multiple plot. |
oma |
Setting of outer margins. |
oma.multi |
Setting of margins, if |
padj.mtext |
Adjustment for |
plot.type |
Character, if |
sub |
Character, sub title in plot. |
x |
An object of one of the above classes. |
xlab |
Character vector signifying the labels for the x-axis. |
xlab.acf |
Character, xlab for ACF and PACF of residuals and their squares in plot.varcheck. |
xlab.fit |
Character vector, xlab for diagram of fit. |
xlab.resid |
Character vector, xlab for residual plot. |
ylab |
Character vector signifying the labels for the y-axis. |
ylab.acf |
Character, ylab for ACF. |
ylab.fit |
Character vector, ylab for diagram of fit. |
ylab.pacf |
Character, ylab for PACF |
ylab.resid |
Character vector, ylab for residual plot. |
ylim |
Vector, the limits of the y-axis. |
ylim.fit |
Vector, ylim for diagram of fit. |
ylim.hist |
Vector, ylim for histogram of residuals. |
ylim.resid |
Vector, ylim for residual plot. |
... |
Passed to internal plot function. |
The plot-method for objects with class attribute vec2var
is the
same as for objects with class attribute varest
. Hence, the
same arguments can be utilised.
Bernhard Pfaff
Hamilton, J. (1994), Time Series Analysis, Princeton University Press, Princeton.
Lütkepohl, H. (2006), New Introduction to Multiple Time Series Analysis, Springer, New York.
Zeileis, A., F. Leisch, K. Hornik and C. Kleiber (2002), strucchange: An R Package for Testing for Structural Change in Linear Regression Models, Journal of Statistical Software, 7(2): 1-38, https://www.jstatsoft.org/v07/i02/
VAR
, vec2var
, fevd
,
irf
, predict
, fanchart
,
stability
, arch.test
, normality.test
,
serial.test
## Not run: data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") plot(var.2c) ## Diagnostic Testing ## ARCH test archtest <- arch.test(var.2c) plot(archtest) ## Normality test normalitytest <- normality.test(var.2c) plot(normalitytest) ## serial correlation test serialtest <- serial.test(var.2c) plot(serialtest) ## FEVD var.2c.fevd <- fevd(var.2c, n.ahead = 5) plot(var.2c.fevd) ## IRF var.2c.irf <- irf(var.2c, impulse = "e", response = c("prod", "rw", "U"), boot = FALSE) plot(var.2c.irf) ## Prediction var.2c.prd <- predict(var.2c, n.ahead = 8, ci = 0.95) plot(var.2c.prd) ## Stability var.2c.stabil <- stability(var.2c, type = "Rec-CUSUM") plot(var.2c.stabil) ## End(Not run)
## Not run: data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") plot(var.2c) ## Diagnostic Testing ## ARCH test archtest <- arch.test(var.2c) plot(archtest) ## Normality test normalitytest <- normality.test(var.2c) plot(normalitytest) ## serial correlation test serialtest <- serial.test(var.2c) plot(serialtest) ## FEVD var.2c.fevd <- fevd(var.2c, n.ahead = 5) plot(var.2c.fevd) ## IRF var.2c.irf <- irf(var.2c, impulse = "e", response = c("prod", "rw", "U"), boot = FALSE) plot(var.2c.irf) ## Prediction var.2c.prd <- predict(var.2c, n.ahead = 8, ci = 0.95) plot(var.2c.prd) ## Stability var.2c.stabil <- stability(var.2c, type = "Rec-CUSUM") plot(var.2c.stabil) ## End(Not run)
Forecating a VAR object of class ‘varest
’ or of class
‘vec2var
’ with confidence bands.
## S3 method for class 'varest' predict(object, ..., n.ahead = 10, ci = 0.95, dumvar = NULL) ## S3 method for class 'vec2var' predict(object, ..., n.ahead = 10, ci = 0.95, dumvar = NULL)
## S3 method for class 'varest' predict(object, ..., n.ahead = 10, ci = 0.95, dumvar = NULL) ## S3 method for class 'vec2var' predict(object, ..., n.ahead = 10, ci = 0.95, dumvar = NULL)
object |
An object of class ‘ |
n.ahead |
An integer specifying the number of forecast steps. |
ci |
The forecast confidence interval |
dumvar |
Matrix for objects of class ‘ |
... |
Currently not used. |
The n.ahead
forecasts are computed recursively for the
estimated VAR, beginning with :
The variance-covariance matrix of the forecast errors is a function of
and
.
A list with class attribute ‘varprd
’ holding the
following elements:
fcst |
A list of matrices per endogenous variable containing the forecasted values with lower and upper bounds as well as the confidence interval. |
endog |
Matrix of the in-sample endogenous variables. |
model |
The estimated VAR |
exo.fcst |
If applicable provided values of exogenous variables,
otherwise |
Bernhard Pfaff
Hamilton, J. (1994), Time Series Analysis, Princeton University Press, Princeton.
Lütkepohl, H. (2006), New Introduction to Multiple Time Series Analysis, Springer, New York.
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") predict(var.2c, n.ahead = 8, ci = 0.95)
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") predict(var.2c, n.ahead = 8, ci = 0.95)
Returns the estimated orthogonalised coefficient matrices of the moving average representation of a stable VAR(p) as an array.
## S3 method for class 'varest' Psi(x, nstep=10, ...) ## S3 method for class 'vec2var' Psi(x, nstep=10, ...)
## S3 method for class 'varest' Psi(x, nstep=10, ...) ## S3 method for class 'vec2var' Psi(x, nstep=10, ...)
x |
An object of class ‘ |
nstep |
An integer specifying the number of othogonalised moving error coefficient matrices to be calculated. |
... |
Dots currently not used. |
In case that the components of the error process are instantaneously
correlated with each other, that is: the off-diagonal elements of the
variance-covariance matrix are not null, the impulses
measured by the
matrices, would also reflect disturbances
from the other variables. Therefore, in practice a Choleski
decomposition has been propagated by considering
and the
orthogonalised shocks
. The
moving average representation is then in the form of:
whith and the matrices
are computed
as
for
.
An array with dimension holding the
estimated orthogonalised coefficients of the moving average representation.
The first returned array element is the starting value, i.e.,
. Due to the utilisation of the Choleski decomposition,
the impulse are now dependent on the ordering of the vector elements
in
.
Bernhard Pfaff
Hamilton, J. (1994), Time Series Analysis, Princeton University Press, Princeton.
Lütkepohl, H. (2006), New Introduction to Multiple Time Series Analysis, Springer, New York.
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") Psi(var.2c, nstep=4)
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") Psi(var.2c, nstep=4)
Returns the residuals of a VAR(p)-model or for a VECM in levels. For
the former class the residuals-method is applied to the list
element varresult
, which is itself a list of lm
-objects.
## S3 method for class 'varest' residuals(object, ...) ## S3 method for class 'vec2var' residuals(object, ...)
## S3 method for class 'varest' residuals(object, ...) ## S3 method for class 'vec2var' residuals(object, ...)
object |
An object of class ‘ |
... |
Currently not used. |
Bernhard Pfaff
Hamilton, J. (1994), Time Series Analysis, Princeton University Press, Princeton.
Lütkepohl, H. (2006), New Introduction to Multiple Time Series Analysis, Springer, New York.
## Not run: data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") resid(var.2c) ## End(Not run)
## Not run: data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") resid(var.2c) ## End(Not run)
Estimation of a VAR, by imposing zero restrictions manually or by significance.
restrict(x, method = c("ser", "manual"), thresh = 2.0, resmat = NULL)
restrict(x, method = c("ser", "manual"), thresh = 2.0, resmat = NULL)
x |
An object of class ‘ |
method |
A character, choosing the method |
thresh |
If method |
resmat |
If method |
Given an estimated VAR object of class ‘varest
’, a restricted VAR
can be obtained by either choosing method ser
or
manual
. In the former case, each equation is re-estimated
separately as long as there are t-values that are in absolut value below the
threshhold value set by the function's argument thresh
. In the
latter case, a restriction matrix has to be provided that consists of
0/1 values, thereby selecting the coefficients to be retained in the
model.
A list with class attribute ‘varest
’ holding the
following elements:
varresult |
list of ‘ |
datamat |
The data matrix of the endogenous and explanatory variables. |
y |
The data matrix of the endogenous variables |
type |
A character, specifying the deterministic regressors. |
p |
An integer specifying the lag order. |
K |
An integer specifying the dimension of the VAR. |
obs |
An integer specifying the number of used observations. |
totobs |
An integer specifying the total number of observations. |
restrictions |
The matrix object containing the zero restrictions
provided as argument |
call |
The |
Currently, the restricted VAR is estimated by OLS and not by an efficient EGLS-method.
Bernhard Pfaff
Hamilton, J. (1994), Time Series Analysis, Princeton University Press, Princeton.
Lütkepohl, H. (2006), New Introduction to Multiple Time Series Analysis, Springer, New York.
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") ## Restrictions determined by thresh restrict(var.2c, method = "ser") ## Restrictions set manually restrict <- matrix(c(1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0), nrow=4, ncol=9, byrow=TRUE) restrict(var.2c, method = "man", resmat = restrict)
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") ## Restrictions determined by thresh restrict(var.2c, method = "ser") ## Restrictions set manually restrict <- matrix(c(1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0), nrow=4, ncol=9, byrow=TRUE) restrict(var.2c, method = "man", resmat = restrict)
Returns a vector of the eigenvalues of the companion coefficient matrix.
roots(x, modulus = TRUE)
roots(x, modulus = TRUE)
x |
An object of class ‘ |
modulus |
Logical, set to |
Any VAR(p)-process can be written in a first-order vector autoregressive form: the companion form. A VAR(p)-process is stable, if its reverse characteristic polynomial:
has no roots in or on the complex circle. This is equivalent to the
condition that all eigenvalues of the companion matrix have
modulus less than 1. The function
roots()
, does compute the
eigen values of the companion matrix and returns by default
their moduli.
A vector object with the eigen values of the companion matrix, or their moduli (default).
Bernhard Pfaff
Hamilton, J. (1994), Time Series Analysis, Princeton University Press, Princeton.
Lütkepohl, H. (2006), New Introduction to Multiple Time Series Analysis, Springer, New York.
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") roots(var.2c)
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") roots(var.2c)
This function computes the multivariate Portmanteau- and Breusch-Godfrey test for serially correlated errors.
serial.test(x, lags.pt = 16, lags.bg = 5, type = c("PT.asymptotic", "PT.adjusted", "BG", "ES") )
serial.test(x, lags.pt = 16, lags.bg = 5, type = c("PT.asymptotic", "PT.adjusted", "BG", "ES") )
x |
Object of class ‘ |
lags.pt |
An integer specifying the lags to be used for the Portmanteau statistic. |
lags.bg |
An integer specifying the lags to be used for the Breusch-Godfrey statistic. |
type |
Character, the type of test. The default is an asymptotic Portmanteau test. |
The Portmanteau statistic for testing the absence of up to the order
serially correlated disturbances in a stable VAR(p) is defined as:
where . The test statistic is approximately
distributed as
. This test statistic is
choosen by setting
type = "PT.asymptotic"
. For smaller sample sizes
and/or values of that are not sufficiently large, a corrected
test statistic is computed as:
This test statistic can be accessed, if type = "PT.adjusted"
is
set.
The Breusch-Godfrey LM-statistic is based upon the following auxiliary regressions:
The null hypothesis is: and
correspondingly the alternative hypothesis is of the form
for
. The test statistic
is defined as:
where and
assign the
residual covariance matrix of the restricted and unrestricted
model, respectively. The test statistic
is distributed as
. This test statistic is calculated if
type =
"BG"
is used.
Edgerton and Shukur (1999) proposed a small sample correction, which is defined as:
with ,
,
and
, whereby
is the
number of regressors in the original system and
. The
modified test statistic is distributed as
. This modified statistic will be returned, if
type =
"ES"
is provided in the call to serial()
.
A list with class attribute ‘varcheck
’ holding the
following elements:
resid |
A matrix with the residuals of the VAR. |
pt.mul |
A list with objects of class attribute ‘ |
LMh |
An object with class attribute ‘ |
LMFh |
An object with class attribute ‘ |
This function was named serial
in earlier versions of package
vars; it is now deprecated. See vars-deprecated
too.
Bernhard Pfaff
Breusch, T . S. (1978), Testing for autocorrelation in dynamic linear models, Australian Economic Papers, 17: 334-355.
Edgerton, D. and Shukur, G. (1999), Testing autocorrelation in a system perspective, Econometric Reviews, 18: 43-386.
Godfrey, L. G. (1978), Testing for higher order serial correlation in regression equations when the regressors include lagged dependent variables, Econometrica, 46: 1303-1313.
Hamilton, J. (1994), Time Series Analysis, Princeton University Press, Princeton.
Lütkepohl, H. (2006), New Introduction to Multiple Time Series Analysis, Springer, New York.
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") serial.test(var.2c, lags.pt = 16, type = "PT.adjusted")
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") serial.test(var.2c, lags.pt = 16, type = "PT.adjusted")
Computes an empirical fluctuation process according to a specified
method from the generalised fluctuation test framework. The test
utilises the function efp()
and its methods from
package ‘strucchange
’.
## Default S3 method: stability(x, type = c("OLS-CUSUM", "Rec-CUSUM", "Rec-MOSUM", "OLS-MOSUM", "RE", "ME", "Score-CUSUM", "Score-MOSUM", "fluctuation"), h = 0.15, dynamic = FALSE, rescale = TRUE, ...) ## S3 method for class 'varest' stability(x, type = c("OLS-CUSUM", "Rec-CUSUM", "Rec-MOSUM", "OLS-MOSUM", "RE", "ME", "Score-CUSUM", "Score-MOSUM", "fluctuation"), h = 0.15, dynamic = FALSE, rescale = TRUE, ...)
## Default S3 method: stability(x, type = c("OLS-CUSUM", "Rec-CUSUM", "Rec-MOSUM", "OLS-MOSUM", "RE", "ME", "Score-CUSUM", "Score-MOSUM", "fluctuation"), h = 0.15, dynamic = FALSE, rescale = TRUE, ...) ## S3 method for class 'varest' stability(x, type = c("OLS-CUSUM", "Rec-CUSUM", "Rec-MOSUM", "OLS-MOSUM", "RE", "ME", "Score-CUSUM", "Score-MOSUM", "fluctuation"), h = 0.15, dynamic = FALSE, rescale = TRUE, ...)
x |
Object of class ‘ |
type |
Specifies which type of fluctuation process will be
computed, the default is ‘ |
h |
A numeric from interval (0,1) sepcifying the
bandwidth. Determins the size of the data window relative to sample
size (for ‘ |
dynamic |
Logical. If ‘ |
rescale |
Logical. If ‘ |
... |
Ellipsis, is passed to |
For details, please refer to documentation efp
.
A list with class attribute ‘varstabil
’ holding the
following elements:
stability |
A list with objects of class ‘ |
names |
Character vector containing the names of the endogenous variables. |
K |
An integer of the VAR dimension. |
Bernhard Pfaff
Zeileis, A., F. Leisch, K. Hornik and C. Kleiber (2002), strucchange: An R Package for Testing for Structural Change in Linear Regression Models, Journal of Statistical Software, 7(2): 1-38, https://www.jstatsoft.org/v07/i02/
and see the references provided in the reference section of
efp
, too.
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") var.2c.stabil <- stability(var.2c, type = "OLS-CUSUM") var.2c.stabil ## Not run: plot(var.2c.stabil) ## End(Not run)
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") var.2c.stabil <- stability(var.2c, type = "OLS-CUSUM") var.2c.stabil ## Not run: plot(var.2c.stabil) ## End(Not run)
'summary' methods for class '"varest"', '"svarest"' and '"svecest"'.
## S3 method for class 'varest' summary(object, equations = NULL, ...) ## S3 method for class 'varsum' print(x, digits = max(3, getOption("digits") - 3), signif.stars = getOption("show.signif.stars"), ...) ## S3 method for class 'svarest' summary(object, ...) ## S3 method for class 'svarsum' print(x, digits = max(3, getOption("digits") - 3), ...) ## S3 method for class 'svecest' summary(object, ...) ## S3 method for class 'svecsum' print(x, digits = max(3, getOption("digits") - 3), ...)
## S3 method for class 'varest' summary(object, equations = NULL, ...) ## S3 method for class 'varsum' print(x, digits = max(3, getOption("digits") - 3), signif.stars = getOption("show.signif.stars"), ...) ## S3 method for class 'svarest' summary(object, ...) ## S3 method for class 'svarsum' print(x, digits = max(3, getOption("digits") - 3), ...) ## S3 method for class 'svecest' summary(object, ...) ## S3 method for class 'svecsum' print(x, digits = max(3, getOption("digits") - 3), ...)
object |
Object of class ‘ |
equations |
Character vector of endogenous variable names for
which summary results should be returned. The default is |
x |
Object with class attribute ‘varsum’, ‘svarsum’. |
digits |
the number of significant digits to use when printing. |
signif.stars |
logical. If 'TRUE', ‘significance stars’ are printed for each coefficient. |
... |
further arguments passed to or from other methods. |
Returns either a list with class attribute varsum
which contains the
following elements:
names |
Character vector with the names of the endogenous correlation matrix of VAR residuals. |
logLik |
Numeric, value of log Likelihood. |
obs |
Integer, sample size. |
roots |
Vector, roots of the characteristic polynomial. |
type |
Character vector, deterministic regressors included in VAR: |
call |
Call, the initial call to |
Or a list with class attribute svarsum
which contains the
following elements:
type |
Character, the type of SVAR-model. |
A |
Matrix, estimated coefficients for A matrix. |
B |
Matrix, estimated coefficients for B matrix. |
Ase |
Matrix, standard errors for A matrix. |
Bse |
Matrix, standard errors for B matrix. |
LRIM |
Matrix, long-run impact coefficients for |
Sigma.U |
Matrix, variance/covariance of reduced form residuals. |
logLik |
Numeric, value of log-Likelihood. |
LR |
htest, LR result of over-identification test. |
obs |
Integer, number of observations used. |
opt |
List, result of |
iter |
Integer, the count of iterations. |
call |
Call, the call to |
Or a list with class attribute svecsum
which contains the
following elements:
type |
Character, the type of SVEC-model. |
SR |
Matrix, contemporaneous impact matrix. |
LR |
Matrix, long-run impact matrix. |
SRse |
Matrix, standard errors for SR matrix. |
LRse |
Matrix, standard errors for LR matrix. |
Sigma.U |
Matrix, variance/covariance of reduced form residuals. |
logLik |
Numeric, value of log-Likelihood. |
LRover |
htest, LR result of over-identification test. |
obs |
Integer, number of observations used. |
r |
Integer, co-integration rank of VECM. |
iter |
Integer, the count of iterations. |
call |
Call, the call to |
Bernhard Pfaff
data(Canada) ## summary-method for varest var.2c <- VAR(Canada, p = 2 , type = "const") summary(var.2c) ## summary-method for svarest amat <- diag(4) diag(amat) <- NA amat[2, 1] <- NA amat[4, 1] <- NA ## Estimation method scoring svar.a <- SVAR(x = var.2c, estmethod = "scoring", Amat = amat, Bmat = NULL, max.iter = 100, maxls = 1000, conv.crit = 1.0e-8) summary(svar.a) ## summary-method for svecest vecm <- ca.jo(Canada[, c("prod", "e", "U", "rw")], type = "trace", ecdet = "trend", K = 3, spec = "transitory") SR <- matrix(NA, nrow = 4, ncol = 4) SR[4, 2] <- 0 LR <- matrix(NA, nrow = 4, ncol = 4) LR[1, 2:4] <- 0 LR[2:4, 4] <- 0 svec.b <- SVEC(vecm, LR = LR, SR = SR, r = 1, lrtest = FALSE, boot = FALSE) summary(svec.b)
data(Canada) ## summary-method for varest var.2c <- VAR(Canada, p = 2 , type = "const") summary(var.2c) ## summary-method for svarest amat <- diag(4) diag(amat) <- NA amat[2, 1] <- NA amat[4, 1] <- NA ## Estimation method scoring svar.a <- SVAR(x = var.2c, estmethod = "scoring", Amat = amat, Bmat = NULL, max.iter = 100, maxls = 1000, conv.crit = 1.0e-8) summary(svar.a) ## summary-method for svecest vecm <- ca.jo(Canada[, c("prod", "e", "U", "rw")], type = "trace", ecdet = "trend", K = 3, spec = "transitory") SR <- matrix(NA, nrow = 4, ncol = 4) SR[4, 2] <- 0 LR <- matrix(NA, nrow = 4, ncol = 4) LR[1, 2:4] <- 0 LR[2:4, 4] <- 0 svec.b <- SVEC(vecm, LR = LR, SR = SR, r = 1, lrtest = FALSE, boot = FALSE) summary(svec.b)
Estimates an SVAR (either ‘A-model’, ‘B-model’ or
‘AB-model’) by using a scoring algorithm or by directly
minimising the negative log-likelihood with optim()
.
SVAR(x, estmethod = c("scoring", "direct"), Amat = NULL, Bmat = NULL, start = NULL, max.iter = 100, conv.crit = 0.1e-6, maxls = 1.0, lrtest = TRUE, ...) ## S3 method for class 'svarest' print(x, digits = max(3, getOption("digits") - 3), ...)
SVAR(x, estmethod = c("scoring", "direct"), Amat = NULL, Bmat = NULL, start = NULL, max.iter = 100, conv.crit = 0.1e-6, maxls = 1.0, lrtest = TRUE, ...) ## S3 method for class 'svarest' print(x, digits = max(3, getOption("digits") - 3), ...)
x |
Object of class ‘ |
estmethod |
Character, either scoring for estimating the SVAR-model with the scoring algorithm (default), or directly minimizing 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 |
max.iter |
Integer, maximum number of iteration (used if
|
conv.crit |
Real, convergence value of algorithm (used if
|
maxls |
Real, maximum movement of the parameters between two
iterations of the scoring algorithm (used if
|
Amat |
Matrix with dimension |
Bmat |
Matrix with dimension |
digits |
the number of significant digits to use when printing. |
... |
further arguments passed to or from other methods. |
Consider the following structural form of a k-dimensional vector autoregressive model:
The coefficient matrices 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’, and conversely for a
SVAR ‘B-model’. Please note that for either an ‘A-model’ or
‘B-model’,
restrictions have to be imposed, such
that the models' coefficients are identified. For an ‘AB-model’
the number of restrictions amounts to:
.
For an ‘A-model’ a 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
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:
Two alternatives are implemented for this: a scoring algorithm or
direct minimization with optim()
. If the latter is chosen, the
standard errors are returned if SVAR()
is called with
‘hessian = TRUE
’.
If ‘start
’ is not set, then 0.1
is used as
starting values for the unknown coefficients.
The reduced form residuals can be obtained from the above equation
via the relation: , with variance-covariance matrix
.
Finally, in case of an overidentified SVAR, a likelihood ratio statistic is computed according to:
with being the restricted variance-covariance
matrix and
being the variance covariance matrix
of the reduced form residuals. The test statistic is distributed as
, where
is equal
to the number of restrictions.
A list of class ‘svarest
’ with the following elements is
returned:
A |
If A- or AB-model, the matrix of estimated coefficients. |
Ase |
The standard errors of ‘ |
B |
If A- or AB-model, the matrix of estimated coefficients. |
Bse |
The standard errors of ‘ |
LRIM |
For Blanchard-Quah estimation |
Sigma.U |
The variance-covariance matrix of the reduced form
residuals times 100, i.e., |
LR |
Object of class ‘ |
opt |
List object returned by |
start |
Vector of starting values. |
type |
SVAR-type, character, either ‘A-model’, ‘B-model’ or ‘AB-model’. |
var |
The ‘ |
iter |
Integer, the count of iterations. |
call |
The |
Bernhard Pfaff
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.
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") amat <- diag(4) diag(amat) <- NA amat[2, 1] <- NA amat[4, 1] <- NA ## Estimation method scoring SVAR(x = var.2c, estmethod = "scoring", Amat = amat, Bmat = NULL, max.iter = 100, maxls = 1000, conv.crit = 1.0e-8) ## Estimation method direct SVAR(x = var.2c, estmethod = "direct", Amat = amat, Bmat = NULL, hessian = TRUE, method="BFGS")
data(Canada) var.2c <- VAR(Canada, p = 2, type = "const") amat <- diag(4) diag(amat) <- NA amat[2, 1] <- NA amat[4, 1] <- NA ## Estimation method scoring SVAR(x = var.2c, estmethod = "scoring", Amat = amat, Bmat = NULL, max.iter = 100, maxls = 1000, conv.crit = 1.0e-8) ## Estimation method direct SVAR(x = var.2c, estmethod = "direct", Amat = amat, Bmat = NULL, hessian = TRUE, method="BFGS")
Estimates an SVEC by utilising a scoring algorithm.
SVEC(x, LR = NULL, SR = NULL, r = 1, start = NULL, max.iter = 100, conv.crit = 1e-07, maxls = 1.0, lrtest = TRUE, boot = FALSE, runs = 100) ## S3 method for class 'svecest' print(x, digits = max(3, getOption("digits") - 3), ...)
SVEC(x, LR = NULL, SR = NULL, r = 1, start = NULL, max.iter = 100, conv.crit = 1e-07, maxls = 1.0, lrtest = TRUE, boot = FALSE, runs = 100) ## S3 method for class 'svecest' print(x, digits = max(3, getOption("digits") - 3), ...)
x |
Object of class ‘ |
LR |
Matrix of the restricted long run impact matrix. |
SR |
Matrix of the restricted contemporaneous impact matrix. |
r |
Integer, the cointegration rank of x. |
start |
Vector of starting values for |
max.iter |
Integer, maximum number of iteration. |
conv.crit |
Real, convergence value of algorithm.. |
maxls |
Real, maximum movement of the parameters between two iterations of the scoring algorithm. |
lrtest |
Logical, over-identification LR test, the result is set
to |
boot |
Logical, if |
runs |
Integer, number of bootstrap replications. |
digits |
the number of significant digits to use when printing. |
... |
further arguments passed to or from other methods. |
Consider the following reduced form of a k-dimensional vector error correction model:
This VECM has the following MA representation:
with and
signifies an infinite-order polynomial in the lag
operator with coefficient matrices
that tends to zero
with increasing size of
.
Contemporaneous restrictions on the impact matrix must be
supplied as zero entries in
SR
and free parameters as NA
entries. Restrictions on the long run impact matrix have
to be supplied likewise. The unknown parameters are estimated by
maximising the concentrated log-likelihood subject to the imposed
restrictions by utilising a scoring algorithm on:
with signifies the reduced form
variance-covariance matrix and
is set equal to the identity
matrix
.
If ‘start
’ is not set, then normal random numbers are used as
starting values for the unknown coefficients. In case of an
overidentified SVEC, a likelihood ratio statistic is computed according to:
with being the restricted variance-covariance
matrix and
being the variance covariance matrix
of the reduced form residuals. The test statistic is distributed as
, where
is equal to the number of
restrictions.
A list of class ‘svecest
’ with the following elements is
returned:
SR |
The estimated contemporaneous impact matrix. |
SRse |
The standard errors of the contemporaneous impact matrix,
if |
LR |
The estimated long run impact matrix. |
LRse |
The standard errors of the long run impact matrix,
if |
Sigma.U |
The variance-covariance matrix of the reduced form
residuals times 100, i.e., |
Restrictions |
Vector, containing the ranks of the restricted long run and contemporaneous impact matrices. |
LRover |
Object of class ‘ |
start |
Vector of used starting values. |
type |
Character, type of the SVEC-model. |
var |
The ‘ |
LRorig |
The supplied long run impact matrix. |
SRorig |
The supplied contemporaneous impact matrix. |
r |
Integer, the supplied cointegration rank. |
iter |
Integer, the count of iterations. |
call |
The |
Bernhard Pfaff
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.
data(Canada) vecm <- ca.jo(Canada[, c("prod", "e", "U", "rw")], type = "trace", ecdet = "trend", K = 3, spec = "transitory") SR <- matrix(NA, nrow = 4, ncol = 4) SR[4, 2] <- 0 SR LR <- matrix(NA, nrow = 4, ncol = 4) LR[1, 2:4] <- 0 LR[2:4, 4] <- 0 LR SVEC(vecm, LR = LR, SR = SR, r = 1, lrtest = FALSE, boot = FALSE)
data(Canada) vecm <- ca.jo(Canada[, c("prod", "e", "U", "rw")], type = "trace", ecdet = "trend", K = 3, spec = "transitory") SR <- matrix(NA, nrow = 4, ncol = 4) SR[4, 2] <- 0 SR LR <- matrix(NA, nrow = 4, ncol = 4) LR[1, 2:4] <- 0 LR[2:4, 4] <- 0 LR SVEC(vecm, LR = LR, SR = SR, r = 1, lrtest = FALSE, boot = FALSE)
Estimation of a VAR by utilising OLS per equation.
VAR(y, p = 1, type = c("const", "trend", "both", "none"), season = NULL, exogen = NULL, lag.max = NULL, ic = c("AIC", "HQ", "SC", "FPE")) ## S3 method for class 'varest' print(x, digits = max(3, getOption("digits") - 3), ...)
VAR(y, p = 1, type = c("const", "trend", "both", "none"), season = NULL, exogen = NULL, lag.max = NULL, ic = c("AIC", "HQ", "SC", "FPE")) ## S3 method for class 'varest' print(x, digits = max(3, getOption("digits") - 3), ...)
y |
Data item containing the endogenous variables |
p |
Integer for the lag order (default is p=1). |
type |
Type of deterministic regressors to include. |
season |
Inlusion of centered seasonal dummy variables (integer value of frequency). |
exogen |
Inlusion of exogenous variables. |
lag.max |
Integer, determines the highest lag order for lag
length selection according to the choosen |
ic |
Character, selects the information criteria, if
|
x |
Object with class attribute ‘varest’. |
digits |
the number of significant digits to use when printing. |
... |
further arguments passed to or from other methods. |
Estimates a VAR by OLS per equation. The model is of the following form:
where is a
vector of endogenous
variables and
assigns a spherical disturbance term of the
same dimension. The coefficient matrices
are of
dimension
. In addition, either a constant and/or a
trend can be included as deterministic regressors as well as centered
seasonal dummy variables and/or exogenous variables (term
, by
setting the
type
argument to the corresponding value and/or
setting season
to the desired frequency (integer) and/or providing a
matrix object for exogen
, respectively. The default for type
is
const
and for season
and exogen
the default is
set to NULL
.
If for lag.max
an integer value is provided instead of
NULL
(the default), the lag length is determined by the
selected information criteria in ic
, the default is Akaike.
A list with class attribute ‘varest
’ holding the
following elements:
varresult |
list of ‘ |
datamat |
The data matrix of the endogenous and explanatory variables. |
y |
The data matrix of the endogenous variables |
type |
A character, specifying the deterministic regressors. |
p |
An integer specifying the lag order. |
K |
An integer specifying the dimension of the VAR. |
obs |
An integer specifying the number of used observations. |
totobs |
An integer specifying the total number of observations. |
restrictions |
Either |
call |
The |
Bernhard Pfaff
Hamilton, J. (1994), Time Series Analysis, Princeton University Press, Princeton.
Lütkepohl, H. (2006), New Introduction to Multiple Time Series Analysis, Springer, New York.
summary
, plot
,
coef
, residuals
,
fitted
, predict
, irf
,
fevd
, Phi
, Psi
,
normality.test
, arch.test
, serial.test
,
VARselect
, logLik
data(Canada) VAR(Canada, p = 2, type = "none") VAR(Canada, p = 2, type = "const") VAR(Canada, p = 2, type = "trend") VAR(Canada, p = 2, type = "both")
data(Canada) VAR(Canada, p = 2, type = "none") VAR(Canada, p = 2, type = "const") VAR(Canada, p = 2, type = "trend") VAR(Canada, p = 2, type = "both")
These functions are provided for compatibility with older versions of package vars only, and may be defunct as soon as the next release.
'A' is a deprecated synonym for 'Acoef'.
'arch' is a deprecated synonym for 'arch.test'.
'B' is a deprecated synonym for 'Bcoef'.
'normality' is a deprecated synonym for 'normality.test'.
'serial' is a deprecated synonym for 'serial.test'.
Acoef
, arch.test
, Bcoef
,
normality.test
, serial.test
The function returns infomation criteria and final prediction error for sequential increasing the lag order up to a VAR(p)-proccess. which are based on the same sample size.
VARselect(y, lag.max = 10, type = c("const", "trend", "both", "none"), season = NULL, exogen = NULL)
VARselect(y, lag.max = 10, type = c("const", "trend", "both", "none"), season = NULL, exogen = NULL)
y |
Data item containing the endogenous variables |
lag.max |
Integer for the highest lag order (default is
|
type |
Type of deterministic regressors to include. |
season |
Inlusion of centered seasonal dummy variables (integer value of frequency). |
exogen |
Inlusion of exogenous variables. |
Estimates a VAR by OLS per equation. The model is of the following form:
where is a
vector of endogenous
variables and
assigns a spherical disturbance term of the
same dimension. The coefficient matrices
are of
dimension
. In addition, either a constant and/or a
trend can be included as deterministic regressors as well as centered
seasonal dummy variables and/or exogenous variables (term
, by
setting the
type
argument to the corresponding value and/or
setting season
to the desired frequency (integer) and/or providing a
matrix object for exogen
, respectively. The default for type
is
const
and for season
and exogen
the default is
set to NULL
.
Based on the same sample size the following information criteria and
the final prediction error are computed:
with and
is the total number of the
parameters in each equation and
assigns the lag order.
A list with the following elements:
selection |
Vector with the optimal lag number according to each criterium. |
criteria |
A matrix containing the values of the criteria up to
|
Bernhard Pfaff
Akaike, H. (1969), Fitting autoregressive models for prediction, Annals of the Institute of Statistical Mathematics, 21: 243-247.
Akaike, H. (1971), Autoregressive model fitting for control, Annals of the Institute of Statistical Mathematics, 23: 163-180.
Akaike, H. (1973), Information theory and an extension of the maximum likelihood principle, in B. N. Petrov and F. Csáki (eds.), 2nd International Symposium on Information Theory, Académia Kiadó, Budapest, pp. 267-281.
Akaike, H. (1974), A new look at the statistical model identification, IEEE Transactions on Automatic Control, AC-19: 716-723.
Hamilton, J. (1994), Time Series Analysis, Princeton University Press, Princeton.
Hannan, E. J. and B. G. Quinn (1979), The determination of the order of an autoregression, Journal of the Royal Statistical Society, B41: 190-195.
Lütkepohl, H. (2006), New Introduction to Multiple Time Series Analysis, Springer, New York.
Quinn, B. (1980), Order determination for a multivariate autoregression, Journal of the Royal Statistical Society, B42: 182-185.
Schwarz, G. (1978), Estimating the dimension of a model, Annals of Statistics, 6: 461-464.
data(Canada) VARselect(Canada, lag.max = 5, type="const")
data(Canada) VARselect(Canada, lag.max = 5, type="const")
An object of formal class 'ca.jo' is transformed to a VAR in level presentation.
vec2var(z, r = 1)
vec2var(z, r = 1)
z |
An object of class 'ca.jo' generated by function
|
r |
The cointegration rank (default is |
This function enables the user to transform a vector-error-correction
model (VECM) into a level-VAR form. The rank of the matrix
has to be submitted, i.e. how many
cointegration relationships have been determined according to the
outcome of
ca.jo()
.
A list with class attribute ‘vec2var
’ holding the
following elements:
deterministic |
The matrix of deterministic coefficients. |
A |
A list with matrix object(s) containing the coefficients for the lagged endogenous variables. |
p |
The lag-order of the estimated VAR-process. |
K |
The count of endogenous variables. |
y |
A dataframe with the endogenous variables in levels. |
obs |
An integer signifying the count of used observations. |
totobs |
An integer signifying the total number of observations, i.e including observations taken as starting values.. |
call |
The |
vecm |
The supplied object |
datamat |
A dataframe with the used dataset. |
resid |
A matrix with the residuals from the empirical VAR(p). |
r |
Intefer, the assigned co-integration rank from the call. |
Bernhard Pfaff
Hamilton, J. (1994), Time Series Analysis, Princeton University Press, Princeton.
Lütkepohl, H. (2006), New Introduction to Multiple Time Series Analysis, Springer, New York.
ca.jo
, predict
, irf
,
fevd
, Phi
, Psi
,
normality.test
, arch.test
,
serial.test
, logLik
, plot
library(urca) data(finland) sjf <- finland sjf.vecm <- ca.jo(sjf, ecdet = "none", type = "eigen", K = 2, spec = "longrun", season = 4) vec2var(sjf.vecm, r = 2)
library(urca) data(finland) sjf <- finland sjf.vecm <- ca.jo(sjf, ecdet = "none", type = "eigen", K = 2, spec = "longrun", season = 4) vec2var(sjf.vecm, r = 2)