This function generates multivariate time series dataset that follows VAR(p).
sim_var(
num_sim,
num_burn,
var_coef,
var_lag,
sig_error = diag(ncol(var_coef)),
init = matrix(0L, nrow = var_lag, ncol = ncol(var_coef)),
method = c("eigen", "chol"),
process = c("gaussian", "student"),
t_param = 5
)
T x k matrix
Number to generated process
Number of burn-in
VAR coefficient. The format should be the same as the output of coef()
from var_lm()
Lag of VAR
Variance matrix of the error term. By default, diag(dim)
.
Initial y1, ..., yp matrix to simulate VAR model. Try matrix(0L, nrow = var_lag, ncol = dim)
.
Method to compute \(\Sigma^{1/2}\).
Choose between eigen
(spectral decomposition) and chol
(cholesky decomposition).
By default, eigen
.
Process to generate error term.
gaussian
: Normal distribution (default) or student
: Multivariate t-distribution.
Generate \(\epsilon_1, \epsilon_n \sim N(0, \Sigma)\)
For i = 1, ... n, $$y_{p + i} = (y_{p + i - 1}^T, \ldots, y_i^T, 1)^T B + \epsilon_i$$
Then the output is \((y_{p + 1}, \ldots, y_{n + p})^T\)
Initial values might be set to be zero vector or \((I_m - A_1 - \cdots - A_p)^{-1} c\).
Lütkepohl, H. (2007). New Introduction to Multiple Time Series Analysis. Springer Publishing.