Learn R Programming

Sparse VAR (sparsevar)

Some R functions useful to estimate sparse VAR / VECM models.

Installation

To install the stable version from CRAN:

install.package("sparsevar")

To install the developing version:

install.packages("devtools")
devtools::install_github("svazzole/sparsevar", "master")

Quick start

To load the sparsevar package simply type

library(sparsevar)

Using the function included in the package, we simply generate a 20x20 VAR(2) process

set.seed(1)
sim <- simulate_var(n = 20, p = 2)

This command will generate a model with two sparse matrices with 5% of non-zero entries and a Toeplitz variance-covariance matrix with rho = 0.5. We can estimate the matrices of the process using for example

fit <- fit_var(sim$series, p = 2, threshold = TRUE)

The results can be seen by plotting the two var objects

plot_var(sim, fit)

the first row of the plot is made by the matrices of the simulated process and the second row is formed by their estimates.

The fit contains also the estimate of the variance/covariance matrix of the residuals

plot_matrix(fit$sigma)

which can be compared with the covariance matrix of the errors of the generating process

plot_matrix(sim$sigma)

Usage

The functions included for model estimation are:

  • fit_var: to estimate a sparse VAR multivariate time series with ENET, SCAD or MC+;
  • fit_varx: to estimate a sparse VAR-X model using ENET;
  • fit_vecm: to estimate a sparse VECM (Vector Error Correction Model) using LS with penalty (again: ENET, SCAD or MC+);
  • impulse_response: compute the impulse response function;
  • error_bands: estimate the error bands for the IRF (using bootstrap).

For simulations:

  • simulate_var: to generate a sparse VAR multivariate time series;
  • simulate_varx: to generate a sparse VARX time series;
  • create_sparse_matrix: used to create sparse matrices with a given density.

For plotting:

  • plot_matrix: useful to plot matrices and sparse matrices;
  • plot_var: plot all the matrices of the model or models in input;
  • plot_irf: plot IRF function;
  • plot_grid_irf: multiple plots of IRF.

Papers using sparsevar

[1] Gibbons SM, Kearney SM, Smillie CS, Alm EJ (2017) Two dynamic regimes in the human gut microbiome. PLoS Comput. Biol. 13(2): e1005364.

[2] Quentin Guibert, Olivier Lopez, Pierrick Piette, Forecasting mortality rate improvements with a high-dimensional VAR, Insurance: Mathematics and Economics, Volume 88, 2019, Pages 255-272, ISSN 0167-6687.

[2] Quentin Guibert, Olivier Lopez, Pierrick Piette, Forecasting mortality rate improvements with a high-dimensional VAR, Insurance: Mathematics and Economics, Volume 88, 2019, Pages 255-272, ISSN 0167-6687.

References

[1] Basu, Sumanta; Michailidis, George. Regularized estimation in sparse high-dimensional time series models. Ann. Statist. 43 (2015), no. 4, 1535--1567. doi:10.1214/15-AOS1315.

[2] Lütkepohl, Helmut. New Introduction to Multiple Time Series Analysis. Springer Science & Business Media, 2005, ISBN 3540277528.

Copy Link

Version

Install

install.packages('sparsevar')

Monthly Downloads

36

Version

1.0.0

License

GPL-2

Issues

Pull Requests

Stars

Forks

Maintainer

Simone Vazzoler

Last Published

February 4th, 2026

Functions in sparsevar (1.0.0)

true_positive_rate

True Positive Rate
spectral_norm

Spectral norm
spectral_radius

Spectral radius
var_enet

VAR ENET
var_mcp

VAR MCP
compute_forecasts

Computes forecasts for VARs
bootstrapped_var

Bootstrap VAR
fit_var

Multivariate VAR estimation
decompose_pi

Decompose Pi VECM matrix
check_impulse_zero

Check Impulse Zero
error_bands_irf

Error bands for IRF
create_sparse_matrix

Create Sparse Matrix
accuracy

Accuracy metric
check_is_var

Check is var
companion_var

Companion VAR
multiplot

Multiplots with ggplot
l1norm

L1 matrix norm
impulse_response

Impulse Response Function
frob_norm

Frobenius norm of a matrix
fit_varx

Multivariate VARX estimation
l2norm

L2 matrix norm
l_infty_norm

L-infinity matrix norm
max_norm

Max-norm of a matrix
fit_vecm

Multivariate VECM estimation
inform_crit

Computes information criteria for VARs
simulate_var

VAR simulation
plot_vecm

Plot VECMs
simulate_varx

VARX simulation
plot_irf

IRF plot
plot_matrix

Matrix plot
plot_irf_grid

IRF grid plot
var_scad

VAR SCAD
sparsevar

sparsevar: A package to estimate multivariate time series models (such as VAR and VECM), under the sparsity hypothesis.
transform_data

Transform data
plot_var

Plot VARs
test_granger

Test for Ganger Causality
true_negative_rate

True Negative Rate