bv_minnesota: Minnesota prior settings

View source: R/41_minnesota.R

bv_minnesotaR Documentation

Minnesota prior settings

Description

Provide settings for the Minnesota prior to bv_priors. See the Details section for further information.

Usage

bv_minnesota(
  lambda = bv_lambda(),
  alpha = bv_alpha(),
  psi = bv_psi(),
  var = 10000000,
  b = 1
)

bv_mn(
  lambda = bv_lambda(),
  alpha = bv_alpha(),
  psi = bv_psi(),
  var = 10000000,
  b = 1
)

bv_lambda(mode = 0.2, sd = 0.4, min = 0.0001, max = 5)

bv_alpha(mode = 2, sd = 0.25, min = 1, max = 3)

bv_psi(scale = 0.004, shape = 0.004, mode = "auto", min = "auto", max = "auto")

Arguments

lambda

List constructed via bv_lambda. Arguments are mode, sd, min and max. May also be provided as a numeric vector of length 4.

alpha

List constructed via bv_alpha. Arguments are mode, sd, min and max. High values for mode may affect invertibility of the augmented data matrix. May also be provided as a numeric vector of length 4.

psi

List with elements scale, shape of the prior as well as mode and optionally min and max. The length of these needs to match the number of variables (i.e. columns) in the data. By default mode is set automatically to the square-root of the innovations variance after fitting an AR(p) model to the data. If arima fails due to a non-stationary time series the order of integration is incremented by 1. By default min / max are set to mode divided / multiplied by 100.

var

Numeric scalar with the prior variance on the model's constant.

b

Numeric scalar, vector or matrix with the prior mean. A scalar is applied to all variables, with a default value of 1. Consider setting it to 0 for growth rates. A vector needs to match the number of variables (i.e. columns) in the data, with a prior mean per variable. If provided, a matrix needs to have a column per variable (M), and M * p + 1 rows, where p is the number of lags applied.

mode, sd

Numeric scalar. Mode / standard deviation of the parameter. Note that the mode of psi is set automatically by default, and would need to be provided as vector.

min, max

Numeric scalar. Minimum / maximum allowed value. Note that for psi these are set automatically or need to provided as vectors.

scale, shape

Numeric scalar. Scale and shape parameters of a Gamma distribution.

Details

Essentially this prior imposes the hypothesis, that individual variables all follow random walk processes. This parsimonious specification typically performs well in forecasts of macroeconomic time series and is often used as a benchmark for evaluating accuracy (Kilian and Lütkepohl, 2017). The key parameter is \lambda (lambda), which controls the tightness of the prior. The parameter \alpha (alpha) governs variance decay with increasing lag order, while \psi (psi) controls the prior's standard deviation on lags of variables other than the dependent. The Minnesota prior is often refined with additional priors, trying to minimise the importance of conditioning on initial observations. See bv_dummy for more information on such priors.

Value

Returns a list of class bv_minnesota with options for bvar.

Functions

  • bv_lambda(): Tightness of the Minnesota prior

  • bv_alpha(): Variance decay with increasing lag order

  • bv_psi(): Prior standard deviation on other lags

References

Kilian, L. and Lütkepohl, H. (2017). Structural Vector Autoregressive Analysis. Cambridge University Press, \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1017/9781108164818")}

See Also

bv_priors; bv_dummy

Examples

# Adjust alpha and the Minnesota prior variance.
bv_mn(alpha = bv_alpha(mode = 0.5, sd = 1, min = 1e-12, max = 10), var = 1e6)
# Optionally use a vector as shorthand
bv_mn(alpha = c(0.5, 1, 1e-12, 10), var = 1e6)

# Only adjust lambda's standard deviation
bv_mn(lambda = bv_lambda(sd = 2))

# Provide prior modes for psi (for a VAR with three variables)
bv_mn(psi = bv_psi(mode = c(0.7, 0.3, 0.9)))

BVAR documentation built on May 29, 2024, 5:34 a.m.