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 parameterA
.B
an
NxN
matrix of starting values for the parameterB
.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 valueM
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 orderM
.pi_0
an
M
-vector of starting values for state probability at timet=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