| forecast.PosteriorBSVARMIX | R Documentation | 
Samples from the joint predictive density of all of the dependent 
variables for models from packages bsvars, bsvarSIGNs or 
bvarPANELs at forecast horizons from 1 to horizon specified as 
an argument of the function.
## S3 method for class 'PosteriorBSVARMIX'
forecast(
  posterior,
  horizon = 1,
  exogenous_forecast = NULL,
  conditional_forecast = NULL
)
| posterior | posterior estimation outcome - an object of class 
 | 
| horizon | a positive integer, specifying the forecasting horizon. | 
| exogenous_forecast | a matrix of dimension  | 
| conditional_forecast | a  | 
A list of class Forecasts containing the
draws from the predictive density and for heteroskedastic models the draws 
from the predictive density of structural shocks conditional standard 
deviations and data. The output elements include:
an NxTxS array with the draws from predictive density
provided only for heteroskedastic models, an NxTxS array with the draws 
from the predictive density of structural shocks conditional standard deviations
an NxT matrix with the data on dependent variables
Tomasz Woźniak wozniak.tom@pm.me
# upload data
data(us_fiscal_lsuw)
# specify the model and set seed
set.seed(123)
specification  = specify_bsvar_mix$new(us_fiscal_lsuw, p = 1, M = 2)
# run the burn-in
burn_in        = estimate(specification, 5)
# estimate the model
posterior      = estimate(burn_in, 10)
# sample from predictive density 1 year ahead
predictive     = forecast(posterior, 4)
# workflow with the pipe |>
############################################################
set.seed(123)
us_fiscal_lsuw |>
  specify_bsvar_mix$new(p = 1, M = 2) |>
  estimate(S = 5) |>
  estimate(S = 10) |>  
  forecast(horizon = 4) -> predictive
  
# conditional forecasting using a model with exogenous variables
############################################################
data(us_fiscal_ex_forecasts)      # upload exogenous variables future values
data(us_fiscal_cond_forecasts)    # upload a matrix with projected ttr
#' set.seed(123)
specification  = specify_bsvar_mix$new(us_fiscal_lsuw, M = 2, exogenous = us_fiscal_ex)
burn_in        = estimate(specification, 5)
posterior      = estimate(burn_in, 10)
# forecast 2 years ahead
predictive     = forecast(
                    posterior, 
                    horizon = 8,
                    exogenous_forecast = us_fiscal_ex_forecasts,
                    conditional_forecast = us_fiscal_cond_forecasts
                  )
summary(predictive)
# workflow with the pipe |>
############################################################
set.seed(123)
us_fiscal_lsuw |>
  specify_bsvar_mix$new(M = 2, exogenous = us_fiscal_ex) |>
  estimate(S = 5) |> 
  estimate(S = 10) |> 
  forecast(
    horizon = 8,
    exogenous_forecast = us_fiscal_ex_forecasts,
    conditional_forecast = us_fiscal_cond_forecasts
  ) |> plot()
 
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.