bsts.options function

Bsts Model Options

Bsts Model Options

Rarely used modeling options for bsts models.

1.0

BstsOptions(save.state.contributions = TRUE, save.prediction.errors = TRUE, bma.method = c("SSVS", "ODA"), oda.options = list( fallback.probability = 0.0, eigenvalue.fudge.factor = 0.01), timeout.seconds = Inf, save.full.state = FALSE)

Arguments

  • save.state.contributions: Logical. If TRUE then a 3-way array named state.contributions will be stored in the returned object. The indices correspond to MCMC iteration, state model number, and time. Setting save.state.contributions to FALSE yields a smaller object, but plot will not be able to plot the the "state", "components", or "residuals" for the fitted model.

  • save.prediction.errors: Logical. If TRUE then a matrix named one.step.prediction.errors will be saved as part of the model object. The rows of the matrix represent MCMC iterations, and the columns represent time. The matrix entries are the one-step-ahead prediction errors from the Kalman filter.

  • bma.method: If the model contains a regression component, this argument specifies the method to use for Bayesian model averaging. "SSVS" is stochastic search variable selection, which is the classic approach from George and McCulloch (1997). "ODA" is orthoganal data augmentation, from Ghosh and Clyde (2011). It adds a set of latent observations that make the XXX'X matrix diagonal, vastly simplifying complete data MCMC for model selection.

  • oda.options: If bma.method == "ODA" then these are some options for fine tuning the ODA algorithm.

    • fallback.probability: Each MCMC iteration will use SSVS instead of ODA with this probability. In cases where the latent data have high leverage, ODA mixing can suffer. Mixing in a few SSVS steps can help keep an errant algorithm on track.
    • eigenvalue.fudge.factor: The latent X's will be chosen so that the complete data XXX'X matrix (after scaling) is a constant diagonal matrix equal to the largest eigenvalue of the observed (scaled) XXX'X times (1 + eigenvalue.fudge.factor). This should be a small positive number.
  • timeout.seconds: The number of seconds that sampler will be allowed to run. If the timeout is exceeded the returned object will be truncated to the final draw that took place before the timeout occurred, as if that had been the requested number of iterations.

  • save.full.state: Logical. If TRUE then the full distribution of the state vector will be preserved. It will be stored in the model under the name full.state, which is a 3-way array with dimenions corresponding to MCMC iteration, state dimension, and time.

Returns

The arguments are checked to make sure they have legal types and values, then a list is returned containing the arguments.

Author(s)

Steven L. Scott steve.the.bayesian@gmail.com

  • Maintainer: Steven L. Scott
  • License: LGPL-2.1 | MIT + file LICENSE
  • Last published: 2024-01-17

Useful links