specify_starting_values_bsvar_msh {bsvars}R Documentation

R6 Class Representing StartingValuesBSVARMSH

Description

The class StartingValuesBSVARMSH presents starting values for the bsvar model with Markov Switching Heteroskedasticity.

Super class

bsvars::StartingValuesBSVAR -> StartingValuesBSVARMSH

Public fields

A

an NxK matrix of starting values for the parameter A.

B

an NxN matrix of starting values for the parameter B.

hyper

a (2*N+1)x2 matrix of starting values for the shrinkage hyper-parameters of the hierarchical prior distribution.

sigma2

an NxM matrix of starting values for the MS state-specific variances of the structural shocks. Its elements sum to value M over the rows.

PR_TR

an MxM matrix of starting values for the transition probability matrix of the Markov process. Its elements sum to 1 over the rows.

xi

an MxT matrix of starting values for the Markov process indicator. Its columns are a chosen column of an identity matrix of order M.

pi_0

an M-vector of starting values for state probability at time t=0. Its elements sum to 1.

Methods

Public methods


Method new()

Create new starting values StartingValuesBSVAR-MS.

Usage
specify_starting_values_bsvar_msh$new(N, p, M, T, d = 0, finiteM = TRUE)
Arguments
N

a positive integer - the number of dependent variables in the model.

p

a positive integer - the autoregressive lag order of the SVAR model.

M

an integer greater than 1 - the number of Markov process' heteroskedastic regimes.

T

a positive integer - the the time series dimension of the dependent variable matrix Y.

d

a positive integer - the number of exogenous variables in the model.

finiteM

a logical value - if true a stationary Markov switching model is estimated. Otherwise, a sparse Markov switching model is estimated in which M=20 and the number of visited states is estimated.

Returns

Starting values StartingValuesBSVAR-MS.


Method get_starting_values()

Returns the elements of the starting values StartingValuesBSVAR-MS as a list.

Usage
specify_starting_values_bsvar_msh$get_starting_values()
Examples
# starting values for a homoskedastic bsvar with 1 lag for a 3-variable system
sv = specify_starting_values_bsvar_msh$new(N = 3, p = 1, M = 2, T = 100)
sv$get_starting_values()   # show starting values as list


Method set_starting_values()

Returns the elements of the starting values StartingValuesBSVARMSH as a list.

Usage
specify_starting_values_bsvar_msh$set_starting_values(last_draw)
Arguments
last_draw

a list containing the last draw.

Returns

An object of class StartingValuesBSVAR-MS including the last draw of the current MCMC as the starting value to be passed to the continuation of the MCMC estimation using estimate().

Examples
# starting values for a bsvar model with 1 lag for a 3-variable system
sv = specify_starting_values_bsvar_msh$new(N = 3, p = 1, M = 2, T = 100)

# Modify the starting values by:
sv_list = sv$get_starting_values()   # getting them as list
sv_list$A <- matrix(rnorm(12), 3, 4) # modifying the entry
sv$set_starting_values(sv_list)      # providing to the class object


Method clone()

The objects of this class are cloneable with this method.

Usage
specify_starting_values_bsvar_msh$clone(deep = FALSE)
Arguments
deep

Whether to make a deep clone.

Examples

# starting values for a bsvar model for a 3-variable system
sv = specify_starting_values_bsvar_msh$new(N = 3, p = 1, M = 2, T = 100)


## ------------------------------------------------
## Method `specify_starting_values_bsvar_msh$get_starting_values`
## ------------------------------------------------

# starting values for a homoskedastic bsvar with 1 lag for a 3-variable system
sv = specify_starting_values_bsvar_msh$new(N = 3, p = 1, M = 2, T = 100)
sv$get_starting_values()   # show starting values as list


## ------------------------------------------------
## Method `specify_starting_values_bsvar_msh$set_starting_values`
## ------------------------------------------------

# starting values for a bsvar model with 1 lag for a 3-variable system
sv = specify_starting_values_bsvar_msh$new(N = 3, p = 1, M = 2, T = 100)

# Modify the starting values by:
sv_list = sv$get_starting_values()   # getting them as list
sv_list$A <- matrix(rnorm(12), 3, 4) # modifying the entry
sv$set_starting_values(sv_list)      # providing to the class object


[Package bsvars version 2.1.0 Index]