var_estimate {BGGM}R Documentation

VAR: Estimation

Description

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 (Abegaz and Wit 2013).

Usage

var_estimate(
  Y,
  rho_sd = 0.5,
  beta_sd = 1,
  iter = 5000,
  progress = TRUE,
  seed = 1,
  ...
)

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 0.50).

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 (Equation 9, Sinay and Hsu 2014)

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.

Details

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

Value

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:

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.

References

Abegaz F, Wit E (2013). “Sparse time series chain graphical models for reconstructing genetic networks.” Biostatistics, 14(3), 586–599. doi:10.1093/biostatistics/kxt005.

Sinay MS, Hsu JS (2014). “Bayesian inference of a multivariate regression model.” Journal of Probability and Statistics, 2014.

Examples


# data
Y <- subset(ifit, id == 1)[,-1]

# use alias (var_estimate also works)
fit <- var_estimate(Y, progress = FALSE)

fit



[Package BGGM version 2.1.1 Index]