The class PosteriorBSVART contains posterior output and the specification including the last MCMC draw for the bsvar model with t-distributed structural shocks. Note that due to the thinning of the MCMC output the starting value in element last_draw
might not be equal to the last draw provided in element posterior.
Examples
# This is a function that is used within estimate()data(us_fiscal_lsuw)specification = specify_bsvar_t$new(us_fiscal_lsuw, p =4)set.seed(123)estimate = estimate(specification,10)class(estimate)## ------------------------------------------------## Method `specify_posterior_bsvar_t$get_posterior`## ------------------------------------------------data(us_fiscal_lsuw)specification = specify_bsvar_t$new(us_fiscal_lsuw)set.seed(123)estimate = estimate(specification,10)estimate$get_posterior()## ------------------------------------------------## Method `specify_posterior_bsvar_t$get_last_draw`## ------------------------------------------------data(us_fiscal_lsuw)# specify the model and set seedspecification = specify_bsvar_t$new(us_fiscal_lsuw, p =4)# run the burn-inset.seed(123)burn_in = estimate(specification,10)# estimate the modelposterior = estimate(burn_in,10)## ------------------------------------------------## Method `specify_posterior_bsvar_t$is_normalised`## ------------------------------------------------# upload datadata(us_fiscal_lsuw)# specify the model and set seedspecification = specify_bsvar_t$new(us_fiscal_lsuw, p =4)# estimate the modelset.seed(123)posterior = estimate(specification,10)# check normalisation status beforehandposterior$is_normalised()# normalise the posteriorBB = posterior$last_draw$starting_values$B # get the last draw of BB_hat = diag((-1)* sign(diag(BB)))%*% BB # set negative diagonal elementsnormalise_posterior(posterior, B_hat)# draws in posterior are normalised# check normalisation status afterwardsposterior$is_normalised()## ------------------------------------------------## Method `specify_posterior_bsvar_t$set_normalised`## ------------------------------------------------# This is an internal function that is run while executing normalise_posterior()# Observe its working by analysing the workflow:# upload datadata(us_fiscal_lsuw)# specify the model and set seedspecification = specify_bsvar_t$new(us_fiscal_lsuw, p =4)set.seed(123)# estimate the modelposterior = estimate(specification,10)# check normalisation status beforehandposterior$is_normalised()# normalise the posteriorBB = posterior$last_draw$starting_values$B # get the last draw of BB_hat = diag(sign(diag(BB)))%*% BB # set positive diagonal elementsnormalise_posterior(posterior, B_hat)# draws in posterior are normalised# check normalisation status afterwardsposterior$is_normalised()
See Also
estimate, specify_bsvar_t
Public fields
last_draw: an object of class BSVART with the last draw of the current MCMC run as the starting value to be passed to the continuation of the MCMC estimation using estimate().
posterior: a list containing Bayesian estimation output.
Returns an object of class BSVART with the last draw of the current MCMC run as the starting value to be passed to the continuation of the MCMC estimation using estimate().
Usage
specify_posterior_bsvar_t$get_last_draw()
Examples
data(us_fiscal_lsuw)
# specify the model and set seed
specification = specify_bsvar_t$new(us_fiscal_lsuw, p = 4)
# run the burn-in
set.seed(123)
burn_in = estimate(specification, 10)
# estimate the model
posterior = estimate(burn_in, 10)
Method is_normalised()
Returns TRUE if the posterior has been normalised using normalise_posterior() and FALSE otherwise.
Usage
specify_posterior_bsvar_t$is_normalised()
Examples
# upload data
data(us_fiscal_lsuw)
# specify the model and set seed
specification = specify_bsvar_t$new(us_fiscal_lsuw, p = 4)
# estimate the model
set.seed(123)
posterior = estimate(specification, 10)
# check normalisation status beforehand
posterior$is_normalised()
# normalise the posterior
BB = posterior$last_draw$starting_values$B # get the last draw of B
B_hat = diag((-1) * sign(diag(BB))) %*% BB # set negative diagonal elements
normalise_posterior(posterior, B_hat) # draws in posterior are normalised
# check normalisation status afterwards
posterior$is_normalised()
Method set_normalised()
Sets the private indicator normalised to TRUE.
Usage
specify_posterior_bsvar_t$set_normalised(value)
Arguments
value: (optional) a logical value to be passed to indicator normalised.
Examples
# This is an internal function that is run while executing normalise_posterior()
# Observe its working by analysing the workflow:
# upload data
data(us_fiscal_lsuw)
# specify the model and set seed
specification = specify_bsvar_t$new(us_fiscal_lsuw, p = 4)
set.seed(123)
# estimate the model
posterior = estimate(specification, 10)
# check normalisation status beforehand
posterior$is_normalised()
# normalise the posterior
BB = posterior$last_draw$starting_values$B # get the last draw of B
B_hat = diag(sign(diag(BB))) %*% BB # set positive diagonal elements
normalise_posterior(posterior, B_hat) # draws in posterior are normalised
# check normalisation status afterwards
posterior$is_normalised()
Method clone()
The objects of this class are cloneable with this method.