Skip to contents

The class BVARs presents complete specification for the Bayesian Vector Autoregressions for cubic data.

References

Zellner (1971). An Introduction to Bayesian Inference in Econometrics. John Wiley & Sons.

Zellner, Hong (1989). Forecasting international growth rates using Bayesian shrinkage and other procedures. Journal of Econometrics, 40(1), 183–202, doi:10.1016/0304-4076(89)90036-5 .

Public fields

p

a non-negative integer specifying the autoregressive lag order of the model.

prior

an object PriorBSVAR with the prior specification.

data_matrices

an object DataMatricesBVARPANEL with the data matrices.

starting_values

an object StartingValuesBVARPANEL with the starting values.

adaptiveMH

a vector of four values setting the adaptive MH sampler for nu: adaptive rate, target acceptance rate, the iteration at which to start adapting, the initial scaling rate

Methods


Method new()

Create a new specification of the Bayesian Panel VAR model BVARPANEL.

Usage

specify_bvars$new(
  data,
  p = 1L,
  exogenous = NULL,
  stationary = rep(FALSE, ncol(data[[1]])),
  type = rep("real", ncol(data[[1]]))
)

Arguments

data

a list with C elements of (T_c+p)xN matrices with time series data.

p

a positive integer providing model's autoregressive lag order.

exogenous

a (T+p)xd matrix of exogenous variables.

stationary

an N logical vector - its element set to FALSE sets the prior mean for the autoregressive parameters of the Nth equation to the white noise process, otherwise to random walk.

type

an N character vector with elements set to "rate" or "real" determining the truncation of the predictive density to [0, 100] and (-Inf, Inf) (no truncation) for each of the variables.

Returns

A new complete specification for the Bayesian Panel VAR model BVARPANEL.


Method get_data_matrices()

Returns the data matrices as the DataMatricesBVARPANEL object.

Usage

specify_bvars$get_data_matrices()

Examples

data(ilo_dynamic_panel)
spec = specify_bvarPANEL$new(
   data = ilo_dynamic_panel,
   p = 4
)
spec$get_data_matrices()


Method get_prior()

Returns the prior specification as the PriorBVARPANEL object.

Usage

specify_bvars$get_prior()

Examples

data(ilo_dynamic_panel)
spec = specify_bvarPANEL$new(
   data = ilo_dynamic_panel,
   p = 4
)
spec$get_prior()


Method get_starting_values()

Returns the starting values as the StartingValuesBVARPANEL object.

Usage

specify_bvars$get_starting_values()

Examples

data(ilo_dynamic_panel)
spec = specify_bvarPANEL$new(
   data = ilo_dynamic_panel,
   p = 4
)
spec$get_starting_values()


Method get_type()

Returns the type of the model.

Usage

specify_bvars$get_type()

Examples

data(ilo_dynamic_panel)
spec = specify_bvarPANEL$new(
   data = ilo_dynamic_panel,
   p = 4
)
spec$get_type()


Method set_prior2objective()

Sets the VAR model priors to objective prior by Zellner (1972).

Usage

specify_bvars$set_prior2objective()

Examples

data(ilo_dynamic_panel)
spec = specify_bvars$new(
   data = ilo_dynamic_panel,
   p = 4
)
spec$set_prior2objective()


Method set_global2pooled()

Sets the prior mean of the global autoregressive parameters to the OLS pooled panel estimator following Zellner, Hong (1989).

Usage

specify_bvars$set_global2pooled(x)

Arguments

x

a vector of four values setting the adaptive MH sampler for nu: adaptive rate, target acceptance rate, the iteration at which to start adapting, the initial scaling rate

Examples

data(ilo_dynamic_panel)
spec = specify_bvarPANEL$new(
   data = ilo_dynamic_panel,
   p = 4
)
spec$set_global2pooled()


Method set_adaptiveMH()

Sets the parameters of adaptive Metropolis-Hastings sampler for the parameter nu.

Usage

specify_bvars$set_adaptiveMH(x)

Arguments

x

a vector of four values setting the adaptive MH sampler for nu: adaptive rate, target acceptance rate, the iteration at which to start adapting, the initial scaling rate

Examples

data(ilo_dynamic_panel)
spec = specify_bvarPANEL$new(
   data = ilo_dynamic_panel,
   p = 4
)
spec$set_adaptiveMH(c(0.6, 0.4, 10, 0.1))


Method clone()

The objects of this class are cloneable with this method.

Usage

specify_bvars$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

data(ilo_dynamic_panel)
spec = specify_bvars$new(
   data = ilo_dynamic_panel,
   p = 4
)


## ------------------------------------------------
## Method `specify_bvars$get_data_matrices`
## ------------------------------------------------

data(ilo_dynamic_panel)
spec = specify_bvarPANEL$new(
   data = ilo_dynamic_panel,
   p = 4
)
spec$get_data_matrices()
#> <DataMatricesBVARPANEL>
#>   Public:
#>     X: list
#>     Y: list
#>     clone: function (deep = FALSE) 
#>     get_data_matrices: function () 
#>     initialize: function (data, p = 1L, exogenous = NULL, type = rep("real", 
#>     type: real real real real


## ------------------------------------------------
## Method `specify_bvars$get_prior`
## ------------------------------------------------

data(ilo_dynamic_panel)
spec = specify_bvarPANEL$new(
   data = ilo_dynamic_panel,
   p = 4
)
spec$get_prior()
#> <PriorBVARPANEL>
#>   Public:
#>     M: 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0  ...
#>     S_Sigma_inv: 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
#>     S_inv: 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
#>     W: 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0  ...
#>     a_w: 1
#>     clone: function (deep = FALSE) 
#>     eta: 5
#>     get_prior: function () 
#>     initialize: function (C, N, p, d = 0, stationary = rep(FALSE, N)) 
#>     lambda: 72
#>     mu_Sigma: 5
#>     mu_m: 1
#>     nu_s: 3
#>     s_s: 1
#>     s_w: 1
#>     sigma2_m: 1


## ------------------------------------------------
## Method `specify_bvars$get_starting_values`
## ------------------------------------------------

data(ilo_dynamic_panel)
spec = specify_bvarPANEL$new(
   data = ilo_dynamic_panel,
   p = 4
)
spec$get_starting_values()
#> <StartingValuesBVARPANEL>
#>   Public:
#>     A: 1.00029076141563 -0.00189551199734767 -0.001796973535318 ...
#>     A_c: 0.0003078650973037 0.000865390022633297 -0.0010391294416 ...
#>     Sigma: 7.15815288506605 3.09591137590929 0.79261096446978 -3.12 ...
#>     Sigma_c: 6.07442307057109 2.9395930709221 1.71477341589363 -1.128 ...
#>     V: 15.5414800800959 5.97837277683288 -3.00313874893715 -3.0 ...
#>     clone: function (deep = FALSE) 
#>     get_starting_values: function () 
#>     initialize: function (C, N, p, d = 0) 
#>     m: -0.000585616091919759
#>     nu: 5.1
#>     s: 0.435343608430345
#>     set_starting_values: function (last_draw) 
#>     w: 0.0994080711252476


## ------------------------------------------------
## Method `specify_bvars$get_type`
## ------------------------------------------------

data(ilo_dynamic_panel)
spec = specify_bvarPANEL$new(
   data = ilo_dynamic_panel,
   p = 4
)
spec$get_type()
#> [1] "wozniak"


## ------------------------------------------------
## Method `specify_bvars$set_prior2objective`
## ------------------------------------------------

data(ilo_dynamic_panel)
spec = specify_bvars$new(
   data = ilo_dynamic_panel,
   p = 4
)
spec$set_prior2objective()
#> Setting the model priors to objective prior by Zellner (1972).


## ------------------------------------------------
## Method `specify_bvars$set_global2pooled`
## ------------------------------------------------

data(ilo_dynamic_panel)
spec = specify_bvarPANEL$new(
   data = ilo_dynamic_panel,
   p = 4
)
spec$set_global2pooled()


## ------------------------------------------------
## Method `specify_bvars$set_adaptiveMH`
## ------------------------------------------------

data(ilo_dynamic_panel)
spec = specify_bvarPANEL$new(
   data = ilo_dynamic_panel,
   p = 4
)
spec$set_adaptiveMH(c(0.6, 0.4, 10, 0.1))