
R6 Class Representing StartingValuesBSVART
Source:R/specify_bsvar_t.R
specify_starting_values_bsvar_t.Rd
The class StartingValuesBSVART presents starting values for the bsvar model with t-distributed structural shocks.
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.lambda
a
NxT
matrix of starting values for latent variables.df
an
Nx1
vector of positive numbers with starting values for the equation-specific degrees of freedom parameters of the Student-t conditional distribution of structural shocks.
Methods
Method new()
Create new starting values StartingValuesBSVART
Usage
specify_starting_values_bsvar_t$new(A, B, N, p, T, d = 0)
Arguments
A
a logical
NxK
matrix containing valueTRUE
for the elements of the autoregressive matrix \(A\) to be estimated and valueFALSE
for exclusion restrictions to be set to zero.B
a logical
NxN
matrix containing valueTRUE
for the elements of the staructural matrix \(B\) to be estimated and valueFALSE
for exclusion restrictions to be set to zero.N
a positive integer - the number of dependent variables in the model.
p
a positive integer - the autoregressive lag order of the SVAR model.
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.
Method get_starting_values()
Returns the elements of the starting values StartingValuesBSVAR as a list
.
Examples
# starting values for a homoskedastic bsvar with 1 lag for a 3-variable system
A = matrix(TRUE, 3, 4)
B = matrix(TRUE, 3, 3)
sv = specify_starting_values_bsvar$new(A = A, B = B, N = 3, p = 1)
sv$get_starting_values() # show starting values as list
Method set_starting_values()
Returns the elements of the starting values StartingValuesBSVAR as a list
.
Arguments
last_draw
a list containing the last draw of elements
B
- anNxN
matrix,A
- anNxK
matrix, andhyper
- a vector of 5 positive real numbers.
Returns
An object of class StartingValuesBSVAR 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 homoskedastic bsvar with 1 lag for a 3-variable system
A = matrix(TRUE, 3, 4)
B = matrix(TRUE, 3, 3)
sv = specify_starting_values_bsvar$new(A = A, B = B, N = 3, p = 1)
# 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
Examples
# starting values for a bsvar model for a 3-variable system
A = matrix(TRUE, 3, 4)
B = matrix(TRUE, 3, 3)
sv = specify_starting_values_bsvar_t$new(A = A, B = B, N = 3, p = 1, T = 100)
## ------------------------------------------------
## Method `specify_starting_values_bsvar_t$get_starting_values`
## ------------------------------------------------
# starting values for a homoskedastic bsvar with 1 lag for a 3-variable system
A = matrix(TRUE, 3, 4)
B = matrix(TRUE, 3, 3)
sv = specify_starting_values_bsvar$new(A = A, B = B, N = 3, p = 1)
sv$get_starting_values() # show starting values as list
#> $B
#> [,1] [,2] [,3]
#> [1,] 0.0849411 0.0000000 0.0000000
#> [2,] 0.0000000 0.6950539 0.0000000
#> [3,] 0.0000000 0.0000000 0.9719542
#>
#> $A
#> [,1] [,2] [,3] [,4]
#> [1,] 0.1038495 0.0000000 0.0000000 0
#> [2,] 0.0000000 0.7673073 0.0000000 0
#> [3,] 0.0000000 0.0000000 0.4442587 0
#>
#> $hyper
#> [,1] [,2]
#> [1,] 10 10
#> [2,] 10 10
#> [3,] 10 10
#> [4,] 10 10
#> [5,] 10 10
#> [6,] 10 10
#> [7,] 10 10
#>
## ------------------------------------------------
## Method `specify_starting_values_bsvar_t$set_starting_values`
## ------------------------------------------------
# starting values for a homoskedastic bsvar with 1 lag for a 3-variable system
A = matrix(TRUE, 3, 4)
B = matrix(TRUE, 3, 3)
sv = specify_starting_values_bsvar$new(A = A, B = B, N = 3, p = 1)
# 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