Learn R Programming

dsp (version 1.2.0)

btf0: MCMC Sampler for Bayesian Trend Filtering: D = 0

Description

Run the MCMC for Bayesian trend filtering with a penalty on the conditional expectation. The penalty is determined by the prior on the evolution errors, which include:

  • the dynamic horseshoe prior ('DHS');

  • the static horseshoe prior ('HS');

  • the Bayesian lasso ('BL');

  • the normal stochastic volatility model ('SV');

  • the normal-inverse-gamma prior ('NIG').

In each case, the evolution error is a scale mixture of Gaussians. Sampling is accomplished with a (parameter-expanded) Gibbs sampler, mostly relying on a dynamic linear model representation.

Usage

btf0(
  y,
  evol_error = "DHS",
  obsSV = "const",
  nsave = 1000,
  nburn = 1000,
  nskip = 4,
  mcmc_params = list("mu", "yhat", "evol_sigma_t2", "obs_sigma_t2", "dhs_phi",
    "dhs_mean", "h", "h_smooth"),
  computeDIC = TRUE,
  verbose = TRUE,
  D_asv = 1,
  evol_error_asv = "HS",
  nugget_asv = TRUE
)

Value

A named list of the nsave MCMC samples for the parameters named in mcmc_params

Arguments

y

the T x 1 vector of time series observations

evol_error

the evolution error distribution; must be one of 'DHS' (dynamic horseshoe prior), 'HS' (horseshoe prior), 'BL' (Bayesian lasso), or 'NIG' (normal-inverse-gamma prior)

obsSV

Options for modeling the error variance. It must be one of the following:

  • const: Constant error variance for all time points.

  • SV: Stochastic Volatility model.

  • ASV: Adaptive Stochastic Volatility model.

nsave

number of MCMC iterations to record

nburn

number of MCMC iterations to discard (burnin)

nskip

number of MCMC iterations to skip between saving iterations, i.e., save every (nskip + 1)th draw

mcmc_params

named list of parameters for which we store the MCMC output; must be one or more of:

  • "mu" (conditional mean)

  • "yhat" (posterior predictive distribution)

  • "evol_sigma_t2" (evolution error variance)

  • "obs_sigma_t2" (observation error variance)

  • "dhs_phi" (DHS AR(1) coefficient)

  • "dhs_mean" (DHS AR(1) unconditional mean)

  • "h" (log variances or log of "obs_sigma_t2". Only used when obsSV = "ASV")

  • "h_smooth" (smooth estimate of log variances. Only used when obsSV = "ASV" and nugget_asv = TRUE)

computeDIC

logical; if TRUE, compute the deviance information criterion DIC and the effective number of parameters p_d

verbose

logical; should R report extra information on progress?

D_asv

integer; degree of differencing (0, 1, or 2) for the ASV model. Only used when obsSV = "ASV".

evol_error_asv

character; evolution error distribution for the ASV model. Must be one of the five options used in evol_error. Only used when obsSV = "ASV".

nugget_asv

logical; if TRUE, fits the nugget variant of the ASV model. Only used when obsSV = "ASV".