
R6 Class representing the specification of the BVARGROUPPRIORPANEL model
Source:R/specify_bvargrouppriorpanel.R
specify_bvarGroupPriorPANEL.RdThe class BVARGROUPPRIORPANEL presents complete specification for the Bayesian Panel
Vector Autoregression with county grouping for global prior parameters. The groups can be pre-specified,
which requires the argument group_allocation to be provided, or estimated,
which requires the argument G for the number of groups to be provided
and the argument group_allocation to be left empty.
References
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
pa non-negative integer specifying the autoregressive lag order of the model.
Ga non-negative integer specifying the number of country groupings.
estimate_groupsa logical value denoting whether the groups are to be estimated.
prioran object PriorBSVAR with the prior specification.
data_matricesan object DataMatricesBVARPANEL with the data matrices.
starting_valuesan object StartingValuesBVARGROUPPRIORPANEL with the starting values.
adaptiveMHa 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 with country
grouping for global prior parameters BVARGROUPPRIORPANEL. The groups can be pre-specified,
which requires the argument group_allocation to be provided, or estimated,
which requires the argument G for the number of groups to be provided
and the argument group_allocation to be left empty.
Usage
specify_bvarGroupPriorPANEL$new(
data,
p = 1L,
exogenous = NULL,
stationary = rep(FALSE, ncol(data[[1]])),
type = rep("real", ncol(data[[1]])),
G = NULL,
group_allocation = NULL
)Arguments
dataa list with
Celements of(T_c+p)xNmatrices with time series data.pa positive integer providing model's autoregressive lag order.
exogenousa
(T+p)xdmatrix of exogenous variables.stationaryan
Nlogical vector - its element set toFALSEsets the prior mean for the autoregressive parameters of theNth equation to the white noise process, otherwise to random walk.typean
Ncharacter 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.Ga positive integer specifying the number of country groups. Its specification is required if
group_allocationis not provided and the country groups to be estimated.group_allocationan argument that can be provided as a numeric vector with integer numbers denoting group allocations to pre-specify the the country groups, in which case they are not estimated, or left empty if the country groups are to be estimated.
Method get_data_matrices()
Returns the data matrices as the DataMatricesBVARPANEL object.
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.
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.
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.
Examples
data(ilo_dynamic_panel)
spec = specify_bvarPANEL$new(
data = ilo_dynamic_panel,
p = 4
)
spec$get_type()
Method set_global2pooled()
Sets the prior mean of the global autoregressive parameters to the OLS pooled panel estimator following Zellner, Hong (1989).
Arguments
xa 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.
Arguments
xa 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))
Examples
data(ilo_dynamic_panel)
spec = specify_bvarGroupPriorPANEL$new(
data = ilo_dynamic_panel,
p = 4,
G = 2
)
#> Country groupings will be estimated.
## ------------------------------------------------
## Method `specify_bvarGroupPriorPANEL$get_data_matrices`
## ------------------------------------------------
data(ilo_dynamic_panel)
spec = specify_bvarPANEL$new(
data = ilo_dynamic_panel,
p = 4
)
spec$get_data_matrices()
#> <DataMatricesBVARPANEL>
#> Public:
#> Y: list
#> clone: function (deep = FALSE)
#> exogenous: list
#> get_data_matrices: function ()
#> initialize: function (data, p = 1L, exogenous = NULL, type = rep("real",
#> missing: list
#> type: real real real real
## ------------------------------------------------
## Method `specify_bvarGroupPriorPANEL$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_bvarGroupPriorPANEL$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.00039805646688 -0.00113135643127577 0.0003278891506042 ...
#> A_c: 0.00110589883926356 0.000625286069183828 0.0005916364646 ...
#> Sigma: 4.60361425999886 -0.344837459030671 0.758102979654684 1. ...
#> Sigma_c: 2.37614362149062 1.40653989707083 0.419357864413577 0.48 ...
#> V: 22.9934228082423 2.03023643479622 -2.56948019843842 4.57 ...
#> clone: function (deep = FALSE)
#> get_starting_values: function ()
#> initialize: function (C, N, p, d = 0)
#> m: 0.00125259784973592
#> nu: 5.1
#> s: 0.573207448490723
#> set_starting_values: function (last_draw)
#> w: 0.421378394613334
## ------------------------------------------------
## Method `specify_bvarGroupPriorPANEL$get_type`
## ------------------------------------------------
data(ilo_dynamic_panel)
spec = specify_bvarPANEL$new(
data = ilo_dynamic_panel,
p = 4
)
spec$get_type()
#> [1] "wozniak"
## ------------------------------------------------
## Method `specify_bvarGroupPriorPANEL$set_global2pooled`
## ------------------------------------------------
data(ilo_dynamic_panel)
spec = specify_bvarPANEL$new(
data = ilo_dynamic_panel,
p = 4
)
spec$set_global2pooled()
## ------------------------------------------------
## Method `specify_bvarGroupPriorPANEL$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))