var_estimate function

VAR: Estimation

VAR: Estimation

Estimate VAR(1) models by efficiently sampling from the posterior distribution. This provides two graphical structures: (1) a network of undirected relations (the GGM, controlling for the lagged predictors) and (2) a network of directed relations (the lagged coefficients). Note that in the graphical modeling literature, this model is also known as a time series chain graphical model \insertCite abegaz2013sparseBGGM.

var_estimate( Y, rho_sd = sqrt(1/3), beta_sd = 1, iter = 5000, progress = TRUE, seed = NULL, ... )

Arguments

  • Y: Matrix (or data frame) of dimensions n (observations) by p (variables).
  • rho_sd: Numeric. Scale of the prior distribution for the partial correlations, approximately the standard deviation of a beta distribution (defaults to sqrt(1/3) as this results to delta = 2, and a uniform distribution across the partial correlations).
  • beta_sd: Numeric. Standard deviation of the prior distribution for the regression coefficients (defaults to 1). The prior is by default centered at zero and follows a normal distribution \insertCite @Equation 9, @sinay2014bayesianBGGM
  • iter: Number of iterations (posterior samples; defaults to 5000).
  • progress: Logical. Should a progress bar be included (defaults to TRUE) ?
  • seed: An integer for the random seed (defaults to 1).
  • ...: Currently ignored.

Returns

An object of class var_estimate containing a lot of information that is used for printing and plotting the results. For users of BGGM , the following are the useful objects:

  • beta_mu A matrix including the regression coefficients (posterior mean).
  • pcor_mu Partial correlation matrix (posterior mean).
  • fit A list including the posterior samples.

Details

Each time series in Y is standardized (mean = 0; standard deviation = 1).

Note

Regularization :

A Bayesian ridge regression can be fitted by decreasing beta_sd

(e.g., beta_sd = 0.25). This could be advantageous for forecasting (out-of-sample prediction) in particular.

Examples

# data Y <- subset(ifit, id == 1)[,-1] # use alias (var_estimate also works) fit <- var_estimate(Y, progress = FALSE) fit

References

\insertAllCited

  • Maintainer: Philippe Rast
  • License: GPL-2
  • Last published: 2024-12-22