Learn R Programming

bsvars (version 3.1)

compute_regime_probabilities.PosteriorBSVARMIX: Computes posterior draws of regime probabilities

Description

Each of the draws from the posterior estimation of a model is transformed into a draw from the posterior distribution of the regime probabilities. These represent either the realisations of the regime indicators, when type = "realized", filtered probabilities, when type = "filtered", forecasted regime probabilities, when type = "forecasted", or the smoothed probabilities, when type = "smoothed", .

Usage

# S3 method for PosteriorBSVARMIX
compute_regime_probabilities(
  posterior,
  type = c("realized", "filtered", "forecasted", "smoothed")
)

Value

An object of class PosteriorRegimePr, that is, an MxTxS array with attribute PosteriorRegimePr containing S draws of the regime probabilities.

Arguments

posterior

posterior estimation outcome - an object of class PosteriorBSVARMIX obtained by running the estimate function.

type

one of the values "realized", "filtered", "forecasted", or "smoothed" denoting the type of probabilities to be computed.

Author

Tomasz Woźniak wozniak.tom@pm.me

References

Song, Y., and Woźniak, T., (2021) Markov Switching. Oxford Research Encyclopedia of Economics and Finance, Oxford University Press, tools:::Rd_expr_doi("10.1093/acrefore/9780190625979.013.174").

See Also

estimate, summary

Examples

Run this code
# upload data
data(us_fiscal_lsuw)

# specify the model and set seed
set.seed(123)
specification  = specify_bsvar_mix$new(us_fiscal_lsuw, p = 2, M = 2)

# run the burn-in
burn_in        = estimate(specification, 10)

# estimate the model
posterior      = estimate(burn_in, 20)

# compute the posterior draws of realized regime indicators
regimes        = compute_regime_probabilities(posterior)

# compute the posterior draws of filtered probabilities
filtered       = compute_regime_probabilities(posterior, "filtered")

# workflow with the pipe |>
############################################################
set.seed(123)
us_fiscal_lsuw |>
  specify_bsvar_mix$new(p = 1, M = 2) |>
  estimate(S = 10) |> 
  estimate(S = 20) -> posterior
regimes        = compute_regime_probabilities(posterior)
filtered       = compute_regime_probabilities(posterior, "filtered")

Run the code above in your browser using DataLab