var_estimate: VAR: Estimation

View source: R/var_estimate.R

var_estimateR 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 \insertCiteabegaz2013sparseBGGM.

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 \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.

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:

  • beta_mu A matrix including the regression coefficients (posterior mean).

  • pcor_mu Partial correlation matrix (posterior mean).

  • fit A list including the posterior samples.

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

\insertAllCited

Examples


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

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

fit



donaldRwilliams/BGGM documentation built on April 17, 2024, 5:52 p.m.