VARXmdl | R Documentation |
This function estimates a vector autoregresive model with p
lags. This can be used for the null hypothesis of a linear model against an alternative hypothesis of a Markov switching vector autoregressive model with k
regimes.
VARXmdl(Y, p, Z, control = list())
Y |
a |
p |
integer determining the number of autoregressive lags. |
Z |
a |
control |
List with model options including:
|
List of class VARmdl
(S3
object) with model attributes including:
y: a (T-p x q)
matrix of observations.
X: a (T-p x p*q + const)
matrix of lagged observations with a leading column of 1
s if const=TRUE
or not if const=FALSE
.
x: a (T-p x p*q)
matrix of lagged observations.
fitted: a (T-p x q)
matrix of fitted values.
resid: a (T-p x q)
matrix of residuals.
mu: a (1 x q)
vector of estimated means of each process.
beta: a ((1 + p + qz) x q)
matrix of estimated coefficients.
betaZ: a (qz x q)
matrix of estimated exogenous regressor coefficients.
intercept: estimate of intercepts.
phi: a (q x p*q)
matrix of estimated autoregressive coefficients.
Fmat: Companion matrix containing autoregressive coefficients.
stdev: a (q x 1)
vector of estimated standard deviation of each process.
sigma: a (q x q)
estimated covariance matrix.
theta: vector containing: mu
, vech(sigma)
, and vec(t(phi))
.
theta_mu_ind: vector indicating location of mean with 1
and 0
otherwise.
theta_sig_ind: vector indicating location of variance and covariances with 1
and 0
otherwise.
theta_var_ind: vector indicating location of variances with 1
and 0
otherwise.
theta_phi_ind: vector indicating location of autoregressive coefficients with 1
and 0
otherwise.
stationary: Boolean indicating if process is stationary if TRUE
or non-stationary if FALSE
.
n: number of observations after lag transformation (i.e., n = T-p
).
p: number of autoregressive lags.
q: number of series.
k: number of regimes. This is always 1
in VARmdl
.
Fmat: matrix from companion form. Used to determine is process is stationary.
control: List with model options used.
logLike: log-likelihood.
AIC: Akaike information criterion.
BIC: Bayesian (Schwarz) information criterion.
Hess: Hessian matrix. Approximated using hessian
and only returned if getSE=TRUE
.
info_mat: Information matrix. Computed as the inverse of -Hess
. If matrix is not PD then nearest PD matrix is obtained using nearest_spd
. Only returned if getSE=TRUE
.
nearPD_used: Boolean determining whether nearPD
function was used on info_mat
if TRUE
or not if FALSE
. Only returned if getSE=TRUE
.
theta_se: standard errors of parameters in theta
. Only returned if getSE=TRUE
.
MSVARmdl
# ----- Bivariate VAR(1) process ----- #
set.seed(1234)
# Define DGP of VAR process
mdl_var <- list(n = 1000,
p = 1,
q = 2,
mu = c(5,-2),
sigma = rbind(c(5.0, 1.5),
c(1.5, 1.0)),
phi = rbind(c(0.50, 0.30),
c(0.20, 0.70)))
# Simulate process using simuVAR() function
y_simu <- simuVAR(mdl_var)
# Set options for model estimation
control <- list(const = TRUE,
getSE = TRUE)
# Estimate model
y_var_mdl <- VARmdl(y_simu$y, p = 2, control = control)
summary(y_var_mdl)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.