bsts
object.# S3 method for bsts
predict(object,
newdata = NULL,
horizon = 1,
burn = SuggestBurn(.1, object),
na.action = na.exclude,
olddata = NULL,
trials.or.exposure = 1,
quantiles = c(.025, .975),
...)
bsts
created by a call to the
function bsts
.object
contains a regression compoent. If a data
frame, it must include variables with the same names as the data
used to fit object
. The first observation in newdata
is assumed to be one time unit after the end of the last observation
used in fitting object
, and the subsequent observations are
sequential time points. If the regression part of object
contains only a single predictor then newdata
can be a
vector. If newdata
is passed as a matrix it is the caller's
responsibility to ensure that it contains the correct number of
columns and that the columns correspond to those in
object$coefficients
. object
contains a regression
component then the forecast horizon is nrow(X)
, and this
argument is not used.object
to be discarded as burn-in. If
burn <= 0
then no burn-in period will be discarded.
newdata
.olddata
is supplied then it will be filtered to get the
distribution of the next state before a prediction is made, and it
is assumed that the first entry in newdata
comes immediately
after the last entry in olddata
. The value for olddata
depends on whether or not object
contains a regression component.
olddata
is a data.frame
including variables with the same names
as the data used to fit object
, including the response .
olddata
is a vector containing historical values of a time series.
horizon
(if the model contains no
regression term) or nrow(newdata)
if the model contains a
regression term.predict
function. It is not used.bsts.prediction
, which is a list
with the following components.Samples from the posterior distribution of a Bayesian structural time series model. This function can be used either with or without contemporaneous predictor variables (in a time series regression).
If predictor variables are present, the regression coefficients are fixed (as opposed to time varying, though time varying coefficients might be added as state component). The predictors and response in the formula are contemporaneous, so if you want lags and differences you need to put them in the predictor matrix yourself.
If no predictor variables are used, then the model is an ordinary state space time series model.
Durbin and Koopman (2001), "Time series analysis by state space methods", Oxford University Press.
bsts
.
AddLocalLevel
.
AddLocalLinearTrend
.
AddGeneralizedLocalLinearTrend
. data(AirPassengers)
y <- log(AirPassengers)
ss <- AddLocalLinearTrend(list(), y)
ss <- AddSeasonal(ss, y, nseasons = 12)
model <- bsts(y, state.specification = ss, niter = 500)
pred <- predict(model, horizon = 12, burn = 100)
plot(pred)
Run the code above in your browser using DataLab