forecast | 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.
forecast(posterior, horizon = 1, exogenous_forecast, conditional_forecast)
posterior |
posterior estimation outcome
obtained by running the |
horizon |
a positive integer, specifying the forecasting horizon. |
exogenous_forecast |
forecasted values of the exogenous variables. |
conditional_forecast |
forecasted values for selected variables. |
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$new(us_fiscal_lsuw, p = 1)
# 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$new(p = 1) |>
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$new(us_fiscal_lsuw, p = 1, 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$new(p = 1, 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.